Web 拡張機能用のコアライブラリモジュール
このドキュメントでは、Web 拡張機能内で使用できるコアライブラリモジュールの一覧を示します。これらのモジュールには require('@adobe/{MODULE}')
を使ってアクセスできます。{MODULE}
は、使用するコアモジュールの名前です。
reactor-object-assign
reactor-object-assign
は、ソースオブジェクトからターゲットオブジェクトにプロパティをコピーして、ネイティブ Object.assign
メソッドを模倣します。
var objectAssign = require('@adobe/reactor-object-assign');
var all = objectAssign({ a: 'a' }, { b: 'b' });
reactor-cookie
reactor-cookie
オブジェクトは、Cookie の読み取りと書き込みを行うユーティリティです。詳しくは、 js-cookie npm のパッケージ を参照してください。
var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');
console.log(cookie.get('foo'));
cookie.remove('foo');
reactor-document
reactor-document
は、Document
オブジェクトを表します。inject-loader
のようなユーティリティを使用した、モック document
オブジェクトの挿入テストが可能になるため、これはモジュールをテストする際に役立ちます。
var document = require('@adobe/reactor-document');
console.log(document.location);
reactor-query-string
reactor-query-string
は、クエリ文字列を解析およびシリアル化するためのユーティリティです。
var queryString = require('@adobe/reactor-query-string');
var parsed = queryString.parse(location.search);
console.log(parsed.campaign);
var obj = {
campaign: 'Campaign A'
};
var stringified = queryString.stringify(obj);
このユーティリティには次のメソッドがあります。
queryString.parse({STRING})
:クエリ文字列を解析してオブジェクトにします。クエリ文字列の先頭にある?
、#
、&
の文字は無視されます。queryString.stringify({OBJECT})
:オブジェクトをクエリ文字列にします。
reactor-load-script
reactor-load-script
は、URL が指定されたときにスクリプトを読み込む関数です。スクリプトタグが作成され、ドキュメントの head
ノード内に配置されます。promise が返されます。この値を使用して、スクリプトの読み込みの成功または失敗を判断できます。
var loadScript = require('@adobe/reactor-load-script');
var url = 'http://code.jquery.com/jquery-3.1.1.js';
loadScript(url).then(function() {
// Do something ...
})
reactor-promise
reactor-promise
は、ECMAScript 6 にネイティブの Promise API を模倣するコンストラクタです。ネイティブの Promise API が使用可能な場合は、代わりに返されます。
var Promise = require('@adobe/reactor-promise');
new Promise(function(resolve) {
resolve();
}, function(err) {
console.error(err);
});
reactor-window
reactor-window
は、Window
オブジェクトを表します。inject-loader
のようなユーティリティを使用した、モック Window
オブジェクトの挿入テストが可能になるため、これはモジュールをテストする際に役立ちます。
var window = require('@adobe/reactor-window');
console.log(window.document);