This commit is contained in:
RubenVerborgh
2021-07-23 22:06:41 +00:00
parent 8591fda008
commit 9ba53b9d07
531 changed files with 10005 additions and 9931 deletions

View File

@@ -3,8 +3,8 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>ChainedConverter | Community Solid Server - v1.0.0-beta.0</title>
<meta name="description" content="Documentation for Community Solid Server - v1.0.0-beta.0">
<title>ChainedConverter | Community Solid Server - v1.0.0-beta.1</title>
<meta name="description" content="Documentation for Community Solid Server - v1.0.0-beta.1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<script async src="../assets/js/search.js" id="search-script"></script>
@@ -23,7 +23,7 @@
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">Community Solid Server - v1.0.0-beta.0</a>
<a href="../index.html" class="title">Community Solid Server - v1.0.0-beta.1</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
@@ -52,7 +52,7 @@
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules.html">Community Solid Server - v1.0.0-beta.0</a>
<a href="../modules.html">Community Solid Server - v1.0.0-beta.1</a>
</li>
<li>
<a href="../modules/storage_conversion_chainedconverter.html">storage/conversion/ChainedConverter</a>
@@ -74,22 +74,19 @@
<p>A meta converter that takes an array of other converters as input.
It chains these converters by finding a path of converters
that can go from the given content-type to the given type preferences.
In case there are multiple paths, the shortest one with the highest weight gets found.
In case there are multiple paths, the one with the highest weight gets found.
Will error in case no path can be found.</p>
</div>
<p>Generated paths get stored in an internal cache for later re-use on similar requests.
Note that due to this caching <code>RepresentationConverter</code>s
that change supported input/output types at runtime are not supported,
unless cache size is set to 0.</p>
<p>This is not a TypedRepresentationConverter since the supported output types
might depend on what is the input content-type.</p>
<p>This converter should be the last in a WaterfallHandler if there are multiple,
since it will try to convert any representation with a content-type.</p>
<p>Some suggestions on how this class can be even more optimized should this ever be needed in the future.
Most of these decrease computation time at the cost of more memory.</p>
<ul>
<li>Subpaths that are generated could also be cached.</li>
<li>When looking for the next step, cached paths could also be considered.</li>
<li>The algorithm could start on both ends of a possible path and work towards the middle.</li>
<li>When creating a path, store the list of unused converters instead of checking every step.</li>
<li>Caching: <a href="https://github.com/solid/community-server/issues/832">https://github.com/solid/community-server/issues/832</a></li>
</ul>
</div>
</section>
@@ -119,7 +116,6 @@
<section class="tsd-index-section tsd-is-private-protected">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#cache" class="tsd-kind-icon">cache</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#converters" class="tsd-kind-icon">converters</a></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="storage_conversion_chainedconverter.chainedconverter.html#logger" class="tsd-kind-icon">logger</a></li>
</ul>
@@ -132,9 +128,10 @@
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#findpath" class="tsd-kind-icon">find<wbr>Path</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#generatepath" class="tsd-kind-icon">generate<wbr>Path</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="storage_conversion_chainedconverter.chainedconverter.html#handle" class="tsd-kind-icon">handle</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="storage_conversion_chainedconverter.chainedconverter.html#handlesafe" class="tsd-kind-icon">handle<wbr>Safe</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="storage_conversion_chainedconverter.chainedconverter.html#handlesafe" class="tsd-kind-icon">handle<wbr>Safe</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#ismatchedpath" class="tsd-kind-icon">is<wbr>Matched<wbr>Path</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#modifytypeweights" class="tsd-kind-icon">modify<wbr>Type<wbr>Weights</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#removebadpaths" class="tsd-kind-icon">remove<wbr>Bad<wbr>Paths</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#supportedconverters" class="tsd-kind-icon">supported<wbr>Converters</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="storage_conversion_chainedconverter.chainedconverter.html#takestep" class="tsd-kind-icon">take<wbr>Step</a></li>
</ul>
@@ -148,14 +145,14 @@
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite">
<li class="tsd-signature tsd-kind-icon">new <wbr>Chained<wbr>Converter<span class="tsd-signature-symbol">(</span>converters<span class="tsd-signature-symbol">: </span><a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span>, maxCacheSize<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="storage_conversion_chainedconverter.chainedconverter.html" class="tsd-signature-type" data-tsd-kind="Class">ChainedConverter</a></li>
<li class="tsd-signature tsd-kind-icon">new <wbr>Chained<wbr>Converter<span class="tsd-signature-symbol">(</span>converters<span class="tsd-signature-symbol">: </span><a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="storage_conversion_chainedconverter.chainedconverter.html" class="tsd-signature-type" data-tsd-kind="Class">ChainedConverter</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Overrides <a href="storage_conversion_representationconverter.representationconverter.html">RepresentationConverter</a>.<a href="storage_conversion_representationconverter.representationconverter.html#constructor">constructor</a></p>
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L121">src/storage/conversion/ChainedConverter.ts:121</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L56">src/storage/conversion/ChainedConverter.ts:56</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -163,9 +160,6 @@
<li>
<h5>converters: <a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span></h5>
</li>
<li>
<h5>maxCacheSize: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 50</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="storage_conversion_chainedconverter.chainedconverter.html" class="tsd-signature-type" data-tsd-kind="Class">ChainedConverter</a></h4>
</li>
@@ -174,23 +168,13 @@
</section>
<section class="tsd-panel-group tsd-member-group tsd-is-private-protected">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a name="cache" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> cache</h3>
<div class="tsd-signature tsd-kind-icon">cache<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">LruPathCache</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L121">src/storage/conversion/ChainedConverter.ts:121</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a name="converters" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> converters</h3>
<div class="tsd-signature tsd-kind-icon">converters<span class="tsd-signature-symbol">:</span> <a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L120">src/storage/conversion/ChainedConverter.ts:120</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L56">src/storage/conversion/ChainedConverter.ts:56</a></li>
</ul>
</aside>
</section>
@@ -200,7 +184,7 @@
<div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <a href="logging_logger.logger.html" class="tsd-signature-type" data-tsd-kind="Class">Logger</a><span class="tsd-signature-symbol"> = ...</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L118">src/storage/conversion/ChainedConverter.ts:118</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L54">src/storage/conversion/ChainedConverter.ts:54</a></li>
</ul>
</aside>
</section>
@@ -218,7 +202,7 @@
<aside class="tsd-sources">
<p>Overrides <a href="storage_conversion_representationconverter.representationconverter.html">RepresentationConverter</a>.<a href="storage_conversion_representationconverter.representationconverter.html#canhandle">canHandle</a></p>
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L132">src/storage/conversion/ChainedConverter.ts:132</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L66">src/storage/conversion/ChainedConverter.ts:66</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -234,6 +218,7 @@
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolving if the input can be handled, rejecting with an Error if not.</p>
</li>
</ul>
</section>
@@ -241,13 +226,13 @@
<a name="findbest" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> find<wbr>Best</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">find<wbr>Best<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, preferences<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MatchedPath</span></li>
<li class="tsd-signature tsd-kind-icon">find<wbr>Best<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, preferences<span class="tsd-signature-symbol">: </span><a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a>, paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">MatchedPath</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L241">src/storage/conversion/ChainedConverter.ts:241</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L168">src/storage/conversion/ChainedConverter.ts:168</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -263,7 +248,7 @@
<h5>type: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>preferences: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
<h5>preferences: <a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></h5>
</li>
<li>
<h5>paths: <span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span></h5>
@@ -283,13 +268,12 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L172">src/storage/conversion/ChainedConverter.ts:172</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L102">src/storage/conversion/ChainedConverter.ts:102</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Finds a conversion path that can handle the given input,
either in the cache or by generating a new one.</p>
<p>Finds a conversion path that can handle the given input.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -306,18 +290,18 @@
<a name="generatepath" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> generate<wbr>Path</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">generate<wbr>Path<span class="tsd-signature-symbol">(</span>inType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, outPreferences<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">MatchedPath</span><span class="tsd-signature-symbol">&gt;</span></li>
<li class="tsd-signature tsd-kind-icon">generate<wbr>Path<span class="tsd-signature-symbol">(</span>inType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, outPreferences<span class="tsd-signature-symbol">: </span><a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">MatchedPath</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L202">src/storage/conversion/ChainedConverter.ts:202</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L121">src/storage/conversion/ChainedConverter.ts:121</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Tries to generate the optimal and shortest <code>ConversionPath</code> that supports the given parameters,
<p>Tries to generate the optimal <code>ConversionPath</code> that supports the given parameters,
which will then be used to instantiate a specific <code>MatchedPath</code> for those parameters.</p>
</div>
<p>Errors if such a path does not exist.</p>
@@ -328,7 +312,7 @@
<h5>inType: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>outPreferences: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
<h5>outPreferences: <a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">MatchedPath</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -346,7 +330,7 @@
<aside class="tsd-sources">
<p>Overrides <a href="storage_conversion_representationconverter.representationconverter.html">RepresentationConverter</a>.<a href="storage_conversion_representationconverter.representationconverter.html#handle">handle</a></p>
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L137">src/storage/conversion/ChainedConverter.ts:137</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L73">src/storage/conversion/ChainedConverter.ts:73</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -362,21 +346,22 @@
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolving when the handling is finished. Return value depends on the given type.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="handlesafe" class="tsd-anchor"></a>
<h3>handle<wbr>Safe</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">handle<wbr>Safe<span class="tsd-signature-symbol">(</span>input<span class="tsd-signature-symbol">: </span><a href="../interfaces/storage_conversion_representationconverter.representationconverterargs.html" class="tsd-signature-type" data-tsd-kind="Interface">RepresentationConverterArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Overrides <a href="storage_conversion_representationconverter.representationconverter.html">RepresentationConverter</a>.<a href="storage_conversion_representationconverter.representationconverter.html#handlesafe">handleSafe</a></p>
<p>Inherited from <a href="storage_conversion_representationconverter.representationconverter.html">RepresentationConverter</a>.<a href="storage_conversion_representationconverter.representationconverter.html#handlesafe">handleSafe</a></p>
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L159">src/storage/conversion/ChainedConverter.ts:159</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/util/handlers/AsyncHandler.ts#L35">src/util/handlers/AsyncHandler.ts:35</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -390,9 +375,14 @@
<ul class="tsd-parameters">
<li>
<h5>input: <a href="../interfaces/storage_conversion_representationconverter.representationconverterargs.html" class="tsd-signature-type" data-tsd-kind="Interface">RepresentationConverterArgs</a></h5>
<div class="tsd-comment tsd-typography">
<p>Input data that will be handled if it can be handled.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/ldp_representation_representation.representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A promise resolving if the input can be handled, rejecting with an Error if not.
Return value depends on the given type.</p>
</li>
</ul>
</section>
@@ -406,7 +396,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L164">src/storage/conversion/ChainedConverter.ts:164</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L95">src/storage/conversion/ChainedConverter.ts:95</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -423,13 +413,13 @@
<a name="modifytypeweights" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> modify<wbr>Type<wbr>Weights</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">modify<wbr>Type<wbr>Weights<span class="tsd-signature-symbol">(</span>weight<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, types<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></li>
<li class="tsd-signature tsd-kind-icon">modify<wbr>Type<wbr>Weights<span class="tsd-signature-symbol">(</span>weight<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, types<span class="tsd-signature-symbol">: </span><a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L275">src/storage/conversion/ChainedConverter.ts:275</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L231">src/storage/conversion/ChainedConverter.ts:231</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -444,10 +434,60 @@
<h5>weight: <span class="tsd-signature-type">number</span></h5>
</li>
<li>
<h5>types: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
<h5>types: <a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h4>
<h4 class="tsd-returns-title">Returns <a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a name="removebadpaths" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> remove<wbr>Bad<wbr>Paths</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">remove<wbr>Bad<wbr>Paths<span class="tsd-signature-symbol">(</span>paths<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span>, maxWeight<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, inType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, bestMatch<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">MatchedPath</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L190">src/storage/conversion/ChainedConverter.ts:190</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Filter out paths that can no longer be better than the current best solution.
This depends on a valid path already being found, if not all the input paths will be returned.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>paths: <span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span></h5>
<div class="tsd-comment tsd-typography">
<p>Paths to filter.</p>
</div>
</li>
<li>
<h5>maxWeight: <span class="tsd-signature-type">number</span></h5>
<div class="tsd-comment tsd-typography">
<p>The maximum weight in the output preferences.</p>
</div>
</li>
<li>
<h5>inType: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>The input type.</p>
</div>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> bestMatch: <span class="tsd-signature-type">MatchedPath</span></h5>
<div class="tsd-comment tsd-typography">
<p>The current best path.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ConversionPath</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
@@ -455,13 +495,13 @@
<a name="supportedconverters" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagPrivate">Private</span> supported<wbr>Converters</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
<li class="tsd-signature tsd-kind-icon">supported<wbr>Converters<span class="tsd-signature-symbol">(</span>types<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, converters<span class="tsd-signature-symbol">: </span><a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ConverterPreference</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
<li class="tsd-signature tsd-kind-icon">supported<wbr>Converters<span class="tsd-signature-symbol">(</span>types<span class="tsd-signature-symbol">: </span><a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a>, converters<span class="tsd-signature-symbol">: </span><a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ConverterPreference</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L282">src/storage/conversion/ChainedConverter.ts:282</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L238">src/storage/conversion/ChainedConverter.ts:238</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -472,7 +512,7 @@
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>types: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
<h5>types: <a href="../modules/ldp_representation_representationpreferences.html#valuepreferences" class="tsd-signature-type" data-tsd-kind="Type alias">ValuePreferences</a></h5>
</li>
<li>
<h5>converters: <a href="storage_conversion_typedrepresentationconverter.typedrepresentationconverter.html" class="tsd-signature-type" data-tsd-kind="Class">TypedRepresentationConverter</a><span class="tsd-signature-symbol">[]</span></h5>
@@ -492,7 +532,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/solid/community-server/blob/d01382d/src/storage/conversion/ChainedConverter.ts#L258">src/storage/conversion/ChainedConverter.ts:258</a></li>
<li>Defined in <a href="https://github.com/solid/community-server/blob/0be8222/src/storage/conversion/ChainedConverter.ts#L214">src/storage/conversion/ChainedConverter.ts:214</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -534,9 +574,6 @@
<li class=" tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite">
<a href="storage_conversion_chainedconverter.chainedconverter.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a href="storage_conversion_chainedconverter.chainedconverter.html#cache" class="tsd-kind-icon">cache</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
<a href="storage_conversion_chainedconverter.chainedconverter.html#converters" class="tsd-kind-icon">converters</a>
</li>
@@ -558,7 +595,7 @@
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<a href="storage_conversion_chainedconverter.chainedconverter.html#handle" class="tsd-kind-icon">handle</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="storage_conversion_chainedconverter.chainedconverter.html#handlesafe" class="tsd-kind-icon">handle<wbr>Safe</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
@@ -567,6 +604,9 @@
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a href="storage_conversion_chainedconverter.chainedconverter.html#modifytypeweights" class="tsd-kind-icon">modify<wbr>Type<wbr>Weights</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a href="storage_conversion_chainedconverter.chainedconverter.html#removebadpaths" class="tsd-kind-icon">remove<wbr>Bad<wbr>Paths</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
<a href="storage_conversion_chainedconverter.chainedconverter.html#supportedconverters" class="tsd-kind-icon">supported<wbr>Converters</a>
</li>
@@ -607,6 +647,9 @@
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
</ul>