すっかりブログの存在も忘れかけてました。
今年の頭、dotstudio さんのブログで、moddable SDK の紹介をさせていただきました。 やっぱり慣れ親しんだ javascript でマイコンの動作制御ができるのは、なかなか魅力的です。
一方で、フロントエンドや node.js での javascript では意識せずに使えるグローバル オブジェクトが定義されていなかったりします。 setTimeoutなどのタイマー系の関数やconsole オブジェクト、あと fetch もそうです。
moddable SDK は ECMAScript としての標準に則っているので、Promise など、その範囲のものであれば実装されているようですが、 setTimeout や fetch などは、W3C や WHATWG で標準化されているので、moddable SDK では実装されていません。
setTimeout www.w3.org
console console.spec.whatwg.org
fetch fetch.spec.whatwg.org
当然 Timer や Request など、代替のクラスは準備されていますが、新しい使い方を覚えるのも面倒だったので、 Polyfill を作ってみました。
今のところ、実装したのは下記のものです。
- fetch
- URL
- console
- log
- debug
- タイマー系関数
- setTimeout
- setInterval
- setImmediate
- clearTimeout
- clearInterval
- clearImmediate
他に Web ブラウザーや node.js で使えるけど、moddable では使えない関数やクラスがあれば可能な限り実装したいと思っています。 あと、上の関数/クラスも当然完ぺきではないので、興味のある方がいましたら試していただいて、フィードバックで issue あげていただけるとありがたいです (※日本語でいいです)。
ではでは。