Pot.js と PotLite.js で利用可能。
プラグインを削除します。
登録したプラグイン関数またはプロパティを削除します。
引数 name は、削除するプラグイン名を文字列で指定します。
name が文字列からなる配列で渡されると、要素に該当するプラグインすべてを削除します。
Pot オブジェクト本体の関数を addPlugin() によりプラグイン関数で上書きした後に
removePlugin() でプラグイン関数を削除すると、本来の Pot オブジェクトの関数に戻ります。
Pot.globalize() が適応されている場合、Pot.removePlugin() が removePlugin() で実行できます。
削除に成功すれば true が返り、1 つでも失敗すると false が返ります。
// プラグインを追加
Pot.addPlugin('foo', function() { alert('foo!') });
Pot.foo(); // 'foo!'
// 削除
Pot.removePlugin('foo');
Pot.foo(); // (Error: foo is not a function)
// プラグインを登録
Pot.addPlugin('myFunc', function(msg) {
alert('myFunc: ' + msg);
});
// 登録した関数は Pot からアクセスできる
Pot.myFunc('Hello!'); // 'myFunc: Hello!'
// プラグインが存在してるか確認
debug( Pot.hasPlugin('myFunc') ); // true
// 他のプラグイン関数を追加
Pot.addPlugin('myFunc2', function(a, b) {
return a + b;
});
debug( Pot.myFunc2(1, 2) ); // 3
// addPlugin は、デフォルトで他のプラグインを上書きしません
debug( Pot.addPlugin('myFunc', function() {}) ); // false
// すべてのプラグイン名を表示
debug( Pot.listPlugin() ); // ['myFunc', 'myFunc2']
// プラグインを削除
Pot.removePlugin('myFunc');
debug( Pot.hasPlugin('myFunc') ); // false
debug( Pot.listPlugin() ); // ['myFunc2']
var string = '\t abc\n \t ';
// オリジナルの Pot.trim()
debug(Pot.trim(string)); // 'abc'
// プラグイン関数の登録により Pot.trim() を上書き
Pot.addPlugin('trim', function(s) {
return s.replace(/^ +| +$/g, ''); // スペース (U+0020) だけ削除するようにする
});
// 登録した Pot.trim()
debug(Pot.trim(string)); // '\t abc\n \t'
// プラグインの trim を削除
Pot.removePlugin('trim');
// 元に戻る
debug(Pot.trim(string)); // 'abc'