Skip to content

Instantly share code, notes, and snippets.

@krisselden
krisselden / application.controller.js
Created September 9, 2015 03:28
demo of click dispatch issue
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
actions: {
sayHello: function () {
console.log('hello');
}
}
});
function Module(dir) {
this.dir = dir;
this.exports = {};
}
function loadModule(dirname, filename) {
var i = Realm.create();
Realm.eval(i, '__dirname = '+ JSON.stringify(dirname));
Realm.eval(i, '__filename = '+ JSON.stringify(filename));
Realm.eval(i, 'module = new Realm.shared.Module(__dirname)');
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle',
selectedColor: 'green',
colors: ['red','green','blue'],
actions: {
selectColor(evt) {
this.set('selectedColor', evt.target.value);
}
import Ember from 'ember';
export default Ember.Controller.extend({
appName:'Ember Twiddle'
});
@krisselden
krisselden / function_count.js
Last active November 18, 2015 00:15
Count JS functions in v8.log
#!/usr/bin/env node
var fs = require('fs');
var file = process.argv.length > 2 ? process.argv[2] : 'v8.log';
var log = fs.createReadStream(file, {
flags: 'r',
encoding: 'utf8',
autoClose: true
});
var pattern = /\<JS Function (.*) \(SharedFunctionInfo 0x[a-f0-9]+\)\>/gi
@krisselden
krisselden / event-promise.ts
Last active February 1, 2016 00:13
Event Promise
import { EventEmitter } from "events";
export default function eventPromise<T>(emitter: EventEmitter, resolveEvent: string, rejectEvent: string): Promise<T> {
return new Promise<T>((resolve, reject) => {
let resolveHandler = (evt) => {
resolve(evt);
emitter.removeListener(resolveEvent, resolveHandler);
emitter.removeListener(rejectEvent, rejectHandler);
}
let rejectHandler = (evt) => {
import Ember from 'ember';
let Model = Ember.Object.extend({
foobar: Ember.computed.alias("Foo.bar")
});
export default Ember.Controller.extend({
appName:'Ember Twiddle',
update: function () {
let model = Model.create({Foo: {bar: "bar"}});
class NotAString { "789d599e-e38a-4ee6-af51-078f0b3f9a1c" = true; }
function example(): NotAString {
return "hello";
}
@krisselden
krisselden / components.my-component.js
Last active April 27, 2016 20:20
Complex Prop Bindings
import Ember from 'ember';
export default Ember.Component.extend({
attributeBindings: ['style'],
style: Ember.computed('width', 'height', 'color', function() {
let width = this.get('width');
let height = this.get('height');
let color = this.get('color');
return 'width:'+width+'px;height:'+height+'px;background-color:'+color;
}),
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});