Skip to content

Instantly share code, notes, and snippets.

@Noitidart
Noitidart / gist:8906220
Last active August 29, 2015 13:56
manny42_firefoxExtensionTest_lib_main.js
const {Cc, Ci, Cu, components} = require('chrome');
Cu.import('resource://gre/modules/Services.jsm');
var utils = require("sdk/window/utils");
var tabs = require("sdk/tabs");
var self = require("sdk/self");
var data = self.data;
function createPanel() {
var winsize = tabs.activeTab.attach({
/**
* A restartable promise chain using q (tho it could be adapted for other libs).
*
* Usage:
* var chain = new RestartableChain([firstFn, secondFn, thirdFn...]);
*
* chain.execute() - run chain, returning a promise that is resolved if all promises
* in the chain resolve, otherwise rejects at first rejection.
*
* If the chain has been previously run & errored, this method will restart from the
@azu
azu / dokudoc.js
Created March 8, 2014 05:13
AST Stack example
/**
* Created by azu on 2014/03/06.
* LICENSE : MIT
*/
"use strict";
var esprima = require('esprima');
var estraverse = require('estraverse');
var escodegen = require('escodegen');
var esquery = require("esquery");
var clone = require("clone");
@ukyo
ukyo / handle_error.js
Last active August 29, 2015 13:57
jQuery.Deferredのエラーハンドリングできない問題の一応の解決
// アホすぎ
function promisify(fn) {
return function() {
var d = $.Deferred();
try {
d.resolve(fn.apply(this, arguments));
} catch (e) {
d.reject(e);
}
function fetchingXHR() {
var xhr = new XMLHttpRequest();
var rejection = null;
var fetching = new Promise((resolve, reject) => {
rejection = reject;
xhr.open("GET", "http://example.com", true);
xhr.onload = function () {
resolve(xhr.responseText);
@annevk
annevk / gist:6bfa782752dde6acb379
Last active August 29, 2015 14:01
APIs that could move into ES

Not really in any particular order. Some are more logical than others.

  • TextDecoder / TextEncoder
  • URL
  • fetch() (unclear yet how we are going to namespace this, CORS behavior also does not make much sense outside browser context)
  • Worker / SharedWorker (and all the port business, structured cloning is on its way already; would require events to be ported too)
  • window.btoa() / window.atob()
  • window.setTimeout(), …
  • ImageBitmap
  • EventSource
@stomita
stomita / gist:a5265f1e4c397d2532e5
Last active August 29, 2015 14:01
Power-Assert & browserify

質問

  1. 現在、power-assertをbrowserify+espowerifyでブラウザ上でのテストに試していますが、espowerifyはsourceMapサポートと聞いた (http://efcl.info/2014/0411/res3820/) ので、以下のようにbrowserify に debugオプションを立ててsourceMapを出力するようにしています。
$ browserify test/foo.test.js -d -t espowerify -o ./browser-test/foo.test.js 

(上記記事でazuさんはWebStormのデバッガで見ているようですが)こちらではtestemでテストを走らせ、Chrome上でSourceMap済のコードを参照していますが、そこではPowered後のソースが表示されてしまいます。 http://gyazo.com/db447920e6a4da38c522c68c4b74deef

@mandel59
mandel59 / contact_form.md
Last active August 29, 2015 14:01
UAX 11 East Asian Width property of Emoji should be Wide

Dear all,

Most of emojis have Neutral value as their East Asian Width properties at present. But I suggest they should be Wide or Ambiguous, because these emojis come from Japanese legacy proprietary character sets, and thus an emoji's frame is commonly square-shaped, as well as as CJKV Ideographs.

East Asian Width property affects rendering on terminal emulators. An emoji is as wide as a fullwidth character in most fonts but is treated as a halfwidth character in some environments, so that it can be rendered overlapped with another character.

Thanks, Ryusei YAMAGUCHI

@sebmarkbage
sebmarkbage / Move.md
Last active August 29, 2015 14:01
Object Rest Destructuring and Spread Initializer (ES7 proposal)
@teppeis
teppeis / InferConsts.md
Last active August 29, 2015 14:02
What's InferConsts of Closure Compiler

InferConstsとは

このコミットで、実質的な定数をうまく推論できるようになった。(現在のmasterではデフォルト有効になっている)

以下のいずれかの条件を満たしたとき、その変数を定数とみなす。

  1. "well-defined"かつ一度しか代入されていない
  2. @const アノテーションが付いている
  3. const キーワードで宣言されている
  4. 命名規約によって定数であることがわかる