grunt.util
Lo-Dash、非同期、フッカーを含む各種汎用的な機能を提供します。
- grunt.util.kindOf
- grunt.util.error
- grunt.util.linefeed
- grunt.util.normalizelf
- grunt.util.recurse
- grunt.util.repeat
- grunt.util.pluralize
- grunt.util.spawn
- grunt.util.toArray
- grunt.util.callbackify
- grunt.util.namespace
- grunt.util.task
- grunt.util._
- grunt.util.async
- grunt.util.hooker
grunt.util.kindOf
値の"種類"を返します。typeof
のようなものですが、内部の[Class](Calss/)
の値を返します。
戻り値は可能な限り"number"
、"string"
、"boolean"
、"function"
、
"regexp"
、"array"
、"date"
、"error"
、
"null"
、"undefined"
になり、全ての"object"
を捕捉します。
grunt.util.kindOf(value)
grunt.util.error
newされたエラーのインスタンス(thrown可能な)をメッセージ付きで返します。
エラーオブジェクトが指定されると、オブジェクトの代わりにメッセージを返します。(翻訳に自信無し)
また、もしエラーオブジェクトがorigError
に指定され、Gruntが--debug 9
オプション付きで実行されると
元のエラースタックがダンプされます。
grunt.util.error(message [, origError])
grunt.util.linefeed
OS標準の改行コード文字です。(Windowsは\r\n
、それ以外は\n
)
grunt.util.normalizelf
文字列を渡すと、OS標準の改行コード付きの文字列を返します。(Windowsは\r\n
、それ以外は\n
)
grunt.util.normalizelf(string)
grunt.util.recurse
入れ子のオブジェクトと配列の(オブエジェクトでは無い)各値に対し、callbackFunction
を
それぞれ実行します。
もし、continueFunction
がfalseを返すと、与えられたオブジェクトまたは値の処理はスキップされます。
grunt.util.recurse(object, callbackFunction, continueFunction)
grunt.util.repeat
n
回、str
を繰り返した文字列を返します。
grunt.util.repeat(n, str)
grunt.util.pluralize
str
に"a/b"
を与えたとして、n
が1ならば、"a"
を
そうでなければb
を返します。
区切り文字であるseparator
は用途に合わせて、他のものを指定することが可能です。
grunt.util.pluralize(n, str, separator)
grunt.util.spawn
子プロセスを生み出し、その標準出力、エラー、終了コードの追跡を保持します。
このメソッドは、生み出した子プロセスの参照を返します。
この子プロセスが終了すると、
grunt.util.spawn(options, doneFunction)
options
オブジェクトは、下記のプロパティを持ちます。
var options = {
// 実行するコマンドです。これはシステムパスでなければなりません。
cmd: commandToExecute,
// 指定された場合、現在実行されているのと同じGruntのbinが、"cmd"オプションの
// 代わりの子コマンドとされます。デフォルトはfalseです。
grunt: boolean,
// コマンドに引数として渡す配列です。
args: arrayOfArguments,
// Node.jsのchild_processのspawnメソッドの追加オプション。
opts: nodeSpawnOptions,
// もし、この値が設定され、且つエラーが発生した場合、この値が使用されます。
// nullはエラー値として渡されます。
fallback: fallbackValue
};
function doneFunction(error, result, code) {
// もし、終了コードが0では無く、fallbackが指定されていなければ、エラーオブジェクトを
// そうでなければ、nullになります。
error
// .stdout、.stderr、.code(終了コード)のプロパティを持つ結果オブジェクトです。
result
// resultが文字列を強制されている場合、
// 終了コードが0ならばstdout、
// 終了コードが0では無く、フォールバックが指定されていればフォールバック、
// 終了コードが0では無く、フォールバックが未指定ならばstderr
String(result)
// 終了コード(数値)です。
code
}
grunt.util.toArray
配列、または配列形式のオブジェクトを渡すと、配列を返します。
arguments
オブジェクトを配列に変換する際に大変便利です。
grunt.util.toArray(arrayLikeObject)
grunt.util.callbackify
"値を返す"関数と"結果をコールバックに渡す"関数の両方を、常に結果を指定したコールバック関数に渡すように標準化します。 もし、元の関数が値を返す場合、その値は他の事前に定義された引数の最後の引数として指定されたコールバック関数に渡されます。 もし、元の関数が値をコールバックに渡す場合、そのまま処理されます。
grunt.util.callbackify(syncOrAsyncFunction)
具体例として、下記を参考にしてください。
function add1(a, b) {
return a + b;
}
function add2(a, b, callback) {
callback(a + b);
}
var fn1 = grunt.util.callbackify(add1);
var fn2 = grunt.util.callbackify(add2);
fn1(1, 2, function(result) {
console.log('1 plus 2 equals ' + result);
});
fn2(1, 2, function(result) {
console.log('1 plus 2 equals ' + result);
});
grunt.util.namespace
オブジェクトのプロパティのネストが深くなることを解決するための内部ライブラリです。
grunt.util.task
タスク実行のための内部ライブラリです。
grunt.util._
Underscore.stringがgrunt.util._
に混合されていますが、既存のLo-Dashと衝突するメソッドのために
grunt.util._.str
としても利用可能であることに注意してください。
grunt.util.async
grunt.util.hooker
© 2010 - 2017 STUDIO KINGDOM