インストール
モジュールをインストールします
npm install @wordpress/token-list
このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。このような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-default
で提供されるポリフィルを含める必要があります。
使用法
新しいトークンリストを構築します。初期値を指定することもできます。DOMTokenListに一致するインターフェースを持つ値が返されます。
import TokenList from '@wordpress/token-list';
const tokens = new TokenList( 'abc def' );
tokens.add( 'ghi' );
tokens.remove( 'def' );
tokens.replace( 'abc', 'xyz' );
console.log( tokens.value );
// "xyz ghi"
すべてのDOMTokenListのメソッドが実装されています。
次の実装の仕様からの逸脱に注意してください:
TokenList#supports
は、渡されたトークンに関係なく常にtrueを返します。TokenList#add
およびTokenList#remove
は、空の文字列引数やトークン引数の空白を単に無視します。エラーをスローすることはありません。- アイテムはプロパティとしてインデックスで参照できません。代わりに
TokenList#item
を使用してください。
ブラウザサポート
実装に使用することはできますが、これはElement#classList
やDOMTokenList
の他のインスタンスのポリフィルとして機能することを意図していません。
DOMTokenList
インターフェースの実装は、ES5をサポートする環境(IE8以降)で広く互換性があります。ただし、TokenList#entries
、TokenList#forEach
、TokenList#keys
、およびTokenList#values
のために内部実装が配列を利用しているため、これらの関数がサポートされているか、ポリフィルされていることを確認する必要があります。
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries#Browser_compatibility
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values#Browser_compatibility
TokenListのDOMTokenList
インターフェースの独自の内部実装は、これらの関数を利用していないため、基本的な使用のためにポリフィルする必要はありません。
このパッケージへの貢献
これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。
このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な貢献者ガイドをお読みください。