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'