Mantela Fetcher

はじめに

Mantela Fetcher では Mantela で記述された電話局同士のつながりを一括で効率的に取得するための関数を定義しています。 プログラマが思慮深くなかったことにより歴史的な理由により、以下の関数が定義されています。 現在、利用の最も推奨される関数は fetchMantelas3() です。


fetchMantelas3() について

fetchMantelas3() は、Mantela で記述された電話局同士のつながりを一括で効率的に取得するための関数です。

構文

fetchMantelas3(firstMantela)
fetchMantelas3(firstMantela, optArgs)

引数

firstMantela

電話網の起点となる Mantela を指定します。 文字列や文字列化できるオブジェクト、あるいは Request オブジェクトを使用できます。

optArgs(省略可)

その他のパラメータを指定します。 次のようなプロパティを持つオブジェクトです。

maxDepth(省略可)

Mantela を辿る最大深さを指定します。 非負の値を指定できます。 省略された場合、Infinity が指定されたようにふるまいます。

fetchTimeoutMs(省略可)

各 Mantela の取得に費やすことを許す最大時間をミリ秒単位で指定します。 省略された場合、制限しません。

返却値

Promise です。 次のプロパティを持つオブジェクトに解決します。

mantelas

Map です。 キーはそれぞれの Mantela の aboutMe.identifier です。 対応する値は次のプロパティを持つオブジェクトです。

mantela

オブジェクト化された Mantela です。

depth

電話網の起点からの深さです。

errors

配列です。 要素はエラーとなった Mantela に関する情報を表す Error オブジェクトです。 各プロパティには次の情報が対応しています。

message

エラーとなった Mantela の URI です。

cause

エラーの原因を表すオブジェクトです。

例外

RangeError

引数 optArgs のプロパティ maxDepth が負であるときに生起します。


fetchMantelas2() について

fetchMantelas2() は、Mantela で記述された電話局同士のつながりを一括で効率的に取得するための関数です。

fetchMantelas2() は互換性のためだけに提供されています。 新しい実装でこの関数を利用しないでください。 fetchMantelas2()fetchMantelas3() のラッパとして実装されています。 そのため、fetchMantelas3() に変更が加えられた場合、fetchMantelas2() のふるまいが変化する可能性があります。

構文

fetchMantelas2(firstMantela)
fetchMantelas2(firstMantela, maxDepth)

引数

firstMantela

電話網の起点となる Mantela を指定します。 文字列や文字列化できるオブジェクト、あるいは Request オブジェクトを使用できます。

maxDepth(省略可)

Mantela を辿る最大深さを指定します。 非負の値を指定できます。 省略された場合、Infinity が指定されます。

返却値

Promise です。 Map に解決します。 キーはそれぞれの Mantela の aboutMe.identifier です。 対応する値はオブジェクトであり、プロパティ mantela にオブジェクト化された Mantela を持ちます。

例外

RangeError

引数 maxDepth が負であるときに生起します。


fetchMantelas() について

fetchMantelas() は、Mantela で記述された電話局同士のつながりを一括で効率的に取得するための関数です。

fetchMantelas() は互換性のためだけに提供されています。 新しい実装でこの関数を利用しないでください。 fetchMantelas()fetchMantelas2() のラッパとして実装されています。 そのため、fetchMantelas2() に変更が加えられた場合、fetchMantelas() のふるまいが変化する可能性があります。

構文

fetchMantelas(firstMantela)
fetchMantelas(firstMantela, maxNest)

引数

firstMantela

電話網の起点となる Mantela を指定します。 文字列や文字列化できるオブジェクト、あるいは Request オブジェクトを使用できます。

maxNest(省略可)

Mantela を辿る最大深さを指定します。 非負の値を指定できます。 省略された場合、Infinity が指定されます。

返却値

Promise です。 それぞれの Mantela の aboutMe.identifier をキーに持ち、オブジェクト化された Mantela それ自体を値に持つ Map に解決します。

例外

RangeError

引数 maxNest が負であるときに生起します。


動作例

初期設定

取得結果

エラー情報