Skip to content

Instantly share code, notes, and snippets.

@tkchst
tkchst / _get.js
Created December 22, 2017 06:46
Like a "lodash" _.get()
//ES5
var _get = function(){
var res = arguments[0];
for(var i = 1;i < arguments.length;i++){
res = res[arguments[i]];
if(!res){
break;
}
}
return res;
@tkchst
tkchst / background.js
Last active November 30, 2020 05:34
Download auto resume when network error for chrome extension
chrome.downloads.onChanged.addListener((delta) => {
if((delta.canResume || {}).current === true
&& (delta.error || {}).current === chrome.downloads.InterruptReason.NETWORK_FAILED){
chrome.downloads.resume(delta.id);
}
});
@tkchst
tkchst / RunnableCollections.kt
Last active August 18, 2017 05:58
Kotlinで高階関数・拡張関数が使えると聞いて、真っ先に試してみたかったやつ。
/**
* 配列やCollecitonにタスクを溜めてって一気に流すようなことができるんじゃないかと思ってやってみた。
* 使いどころが微妙で、parallelの恩恵があまりないかもしれないが...
*/
import java.util.Arrays
import kotlin.streams.toList
fun Array<() -> Any?>.runAll(byParallel: Boolean = true): Array<Any?> {
return if (byParallel) {
Arrays.stream(this).parallel().map { it() }.toArray()
@tkchst
tkchst / sleep.js
Last active May 23, 2018 06:43
Javascript のアロー関数と async/await に感動して試した。
const sleep = (ms) => {
return new Promise((rslv) => {
setTimeout(() => rslv(), ms);
});
}
const sleep2 = (ms) => new Promise(rslv => setTimeout(rslv, ms));
(async () => {
console.log("hello");