CommunitySolidServer/docs/classes/DataAccessorBasedStore.html

125 lines
87 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DataAccessorBasedStore | Community Solid Server - v4.0.1</title><meta name="description" content="Documentation for Community Solid Server - v4.0.1"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><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 - v4.0.1</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Community Solid Server - v4.0.1</a></li><li><a href="DataAccessorBasedStore.html">DataAccessorBasedStore</a></li></ul><h1>Class DataAccessorBasedStore</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><div class="lead">
<p>ResourceStore which uses a DataAccessor for backend access.</p>
</div><div><p>The DataAccessor interface provides elementary store operations such as read and write.
This DataAccessorBasedStore uses those elementary store operations
to implement the more high-level ResourceStore contact, abstracting all common functionality
such that new stores can be added by implementing the more simple DataAccessor contract.
DataAccessorBasedStore thereby provides behaviours for reuse across different stores, such as:</p>
<ul>
<li>Converting container metadata to data</li>
<li>Converting slug to URI</li>
<li>Checking if addResource target is a container</li>
<li>Checking if no containment triples are written to a container</li>
<li>etc.</li>
</ul>
<p>Currently &quot;metadata&quot; is seen as something that is not directly accessible.
That means that a consumer can&#39;t write directly to the metadata of a resource, only indirectly through headers.
(Except for containers where data and metadata overlap).</p>
<p>The one thing this store does not take care of (yet?) are containment triples for containers</p>
<p>Work has been done to minimize the number of required calls to the DataAccessor,
but the main disadvantage is that sometimes multiple calls are required where a specific store might only need one.</p>
</div></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">DataAccessorBasedStore</span></li></ul></section><section class="tsd-panel"><h3>Implements</h3><ul class="tsd-hierarchy"><li><a href="../interfaces/ResourceStore.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceStore</a></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><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="DataAccessorBasedStore.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="DataAccessorBasedStore.html#auxiliaryStrategy" class="tsd-kind-icon">auxiliary<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="DataAccessorBasedStore.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#logger" class="tsd-kind-icon">logger</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#addResource" class="tsd-kind-icon">add<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#cleanSlug" class="tsd-kind-icon">clean<wbr/>Slug</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createRecursiveContainers" class="tsd-kind-icon">create<wbr/>Recursive<wbr/>Containers</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createSafeUri" class="tsd-kind-icon">create<wbr/>Safe<wbr/>Uri</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createURI" class="tsd-kind-icon">createURI</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#getNormalizedMetadata" class="tsd-kind-icon">get<wbr/>Normalized<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#getRepresentation" class="tsd-kind-icon">get<wbr/>Representation</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#getSafeNormalizedMetadata" class="tsd-kind-icon">get<wbr/>Safe<wbr/>Normalized<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#handleContainerData" class="tsd-kind-icon">handle<wbr/>Container<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#hasContainerType" class="tsd-kind-icon">has<wbr/>Container<wbr/>Type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#hasProperChildren" class="tsd-kind-icon">has<wbr/>Proper<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#hasResource" class="tsd-kind-icon">has<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#isContainerType" class="tsd-kind-icon">is<wbr/>Container<wbr/>Type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#isRootStorage" class="tsd-kind-icon">is<wbr/>Root<wbr/>Storage</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#modifyResource" class="tsd-kind-icon">modify<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#removeResponseMetadata" class="tsd-kind-icon">remove<wbr/>Response<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#safelyDeleteAuxiliaryResources" class="tsd-kind-icon">safely<wbr/>Delete<wbr/>Auxiliary<wbr/>Resources</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#setRepresentation" class="tsd-kind-icon">set<wbr/>Representation</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#updateContainerModifiedDate" class="tsd-kind-icon">update<wbr/>Container<wbr/>Modified<wbr/>Date</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateConditions" class="tsd-kind-icon">validate<wbr/>Conditions</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateIdentifier" class="tsd-kind-icon">validate<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateSlug" class="tsd-kind-icon">validate<wbr/>Slug</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#writeData" class="tsd-kind-icon">write<wbr/>Data</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link">constructor<a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Data<wbr/>Accessor<wbr/>Based<wbr/>Store<span class="tsd-signature-symbol">(</span>accessor<span class="tsd-signature-symbol">: </span><a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a>, identifierStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a>, auxiliaryStrategy<span class="tsd-signature-symbol">: </span><a href="../interfaces/AuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryStrategy</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="DataAccessorBasedStore.html" class="tsd-signature-type" data-tsd-kind="Class">DataAccessorBasedStore</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L77">src/storage/DataAccessorBasedStore.ts:77</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>accessor: <a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></h5></li><li><h5>identifierStrategy: <a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></h5></li><li><h5>auxiliaryStrategy: <a href="../interfaces/AuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryStrategy</a></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="DataAccessorBasedStore.html" class="tsd-signature-type" data-tsd-kind="Class">DataAccessorBasedStore</a></h4></li></ul></section></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 id="accessor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> accessor<a href="#accessor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">accessor<span class="tsd-signature-symbol">:</span> <a href="../interfaces/DataAccessor.html" class="tsd-signature-type" data-tsd-kind="Interface">DataAccessor</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L73">src/storage/DataAccessorBasedStore.ts:73</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="auxiliaryStrategy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> auxiliary<wbr/>Strategy<a href="#auxiliaryStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">auxiliary<wbr/>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/AuxiliaryStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">AuxiliaryStrategy</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L75">src/storage/DataAccessorBasedStore.ts:75</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private"><a id="identifierStrategy" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagPrivate">Private</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> identifier<wbr/>Strategy<a href="#identifierStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">identifier<wbr/>Strategy<span class="tsd-signature-symbol">:</span> <a href="../interfaces/IdentifierStrategy.html" class="tsd-signature-type" data-tsd-kind="Interface">IdentifierStrategy</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L74">src/storage/DataAccessorBasedStore.ts:74</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a id="logger" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> <span class="tsd-flag ts-flagReadonly">Readonly</span> logger<a href="#logger" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">logger<span class="tsd-signature-symbol">:</span> <a href="../interfaces/Logger.html" class="tsd-signature-type" data-tsd-kind="Interface">Logger</a><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L71">src/storage/DataAccessorBasedStore.ts:71</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="addResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link">add<wbr/>Resource<a href="#addResource" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">add<wbr/>Resource<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a>, conditions<span class="tsd-signature-symbol">?: </span><a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#addResource">addResource</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L140">src/storage/DataAccessorBasedStore.ts:140</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Creates a new resource in the container.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li><li><h5>representation: <a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> conditions: <a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a></h5></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="cleanSlug" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> clean<wbr/>Slug<a href="#cleanSlug" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">clean<wbr/>Slug<span class="tsd-signature-symbol">(</span>slug<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L501">src/storage/DataAccessorBasedStore.ts:501</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Clean http Slug to be compatible with the server. Makes sure there are no unwanted characters
e.g.: cleanslug(&#39;&amp;%26&#39;) returns &#39;%26%26&#39;</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>slug: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>the slug to clean</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="createRecursiveContainers" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr/>Recursive<wbr/>Containers<a href="#createRecursiveContainers" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">create<wbr/>Recursive<wbr/>Containers<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L600">src/storage/DataAccessorBasedStore.ts:600</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Create containers starting from the root until the given identifier corresponds to an existing container.
Will throw errors if the identifier of the last existing &quot;container&quot; corresponds to an existing document.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the container which will need to exist.</p>
</div></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="createSafeUri" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> create<wbr/>Safe<wbr/>Uri<a href="#createSafeUri" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">create<wbr/>Safe<wbr/>Uri<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L515">src/storage/DataAccessorBasedStore.ts:515</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Generate a valid URI to store a new Resource in the given container.
URI will be based on the slug header if there is one and is guaranteed to not exist yet.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the target container.</p>
</div></div></li><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Metadata of the new resource.</p>
</div></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="createURI" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> createURI<a href="#createURI" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">createURI<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, isContainer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, slug<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L476">src/storage/DataAccessorBasedStore.ts:476</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Generates a new URI for a resource in the given container, potentially using the given slug.</p>
</div><div><p>Solid, §5.3: &quot;Servers MUST allow creating new resources with a POST request to URI path ending <code>/</code>.
Servers MUST create a resource with URI path ending <code>/{id}</code> in container <code>/</code>.
Servers MUST create a container with URI path ending <code>/{id}/</code> in container <code>/</code> for requests
including the HTTP Link header with rel=&quot;type&quot; targeting a valid LDP container type.&quot;
<a href="https://solid.github.io/specification/protocol#writing-resources">https://solid.github.io/specification/protocol#writing-resources</a></p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Parent container of the new URI.</p>
</div></div></li><li><h5>isContainer: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Does the new URI represent a container?</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> slug: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Slug to use for the new URI.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="deleteResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link">delete<wbr/>Resource<a href="#deleteResource" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">delete<wbr/>Resource<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, conditions<span class="tsd-signature-symbol">?: </span><a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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"><p>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#deleteResource">deleteResource</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L236">src/storage/DataAccessorBasedStore.ts:236</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Deletes a resource.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> conditions: <a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a></h5></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="getNormalizedMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Normalized<wbr/>Metadata<a href="#getNormalizedMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">get<wbr/>Normalized<wbr/>Metadata<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L319">src/storage/DataAccessorBasedStore.ts:319</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the metadata matching the identifier, ignoring the presence of a trailing slash or not.</p>
</div><div><p>Solid, §3.1: &quot;If two URIs differ only in the trailing slash,
and the server has associated a resource with one of them,
then the other URI MUST NOT correspond to another resource.&quot;
<a href="https://solid.github.io/specification/protocol#uri-slash-semantics">https://solid.github.io/specification/protocol#uri-slash-semantics</a></p>
<p>First the identifier gets requested and if no result is found
the identifier with differing trailing slash is requested.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier that needs to be checked.</p>
</div></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="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getRepresentation" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get<wbr/>Representation<a href="#getRepresentation" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get<wbr/>Representation<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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/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>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#getRepresentation">getRepresentation</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L97">src/storage/DataAccessorBasedStore.ts:97</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Retrieves a representation of a resource.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></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/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="getSafeNormalizedMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> get<wbr/>Safe<wbr/>Normalized<wbr/>Metadata<a href="#getSafeNormalizedMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">get<wbr/>Safe<wbr/>Normalized<wbr/>Metadata<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">undefined</span><span class="tsd-signature-symbol"> | </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L339">src/storage/DataAccessorBasedStore.ts:339</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Returns the result of <code>getNormalizedMetadata</code> or undefined if a 404 error is thrown.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">undefined</span><span class="tsd-signature-symbol"> | </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="handleContainerData" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> handle<wbr/>Container<wbr/>Data<a href="#handleContainerData" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">handle<wbr/>Container<wbr/>Data<span class="tsd-signature-symbol">(</span>representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</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">void</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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L415">src/storage/DataAccessorBasedStore.ts:415</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Verify if the incoming data for a container is valid (RDF and no containment triples).
Adds the container data to its metadata afterwards.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>representation: <a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Container representation.</p>
</div></div></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></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="hasContainerType" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> has<wbr/>Container<wbr/>Type<a href="#hasContainerType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">has<wbr/>Container<wbr/>Type<span class="tsd-signature-symbol">(</span>rdfTypes<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Term</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L553">src/storage/DataAccessorBasedStore.ts:553</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Checks in a list of types if any of them match a Container type.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>rdfTypes: <span class="tsd-signature-type">Term</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="hasProperChildren" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> has<wbr/>Proper<wbr/>Children<a href="#hasProperChildren" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">has<wbr/>Proper<wbr/>Children<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">boolean</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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L567">src/storage/DataAccessorBasedStore.ts:567</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Checks if the given container has any non-auxiliary resources.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hasResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link">has<wbr/>Resource<a href="#hasResource" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">has<wbr/>Resource<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">boolean</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#hasResource">hasResource</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L84">src/storage/DataAccessorBasedStore.ts:84</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Check if a resource exists in this ResourceSet.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="isContainerType" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr/>Container<wbr/>Type<a href="#isContainerType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">is<wbr/>Container<wbr/>Type<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L546">src/storage/DataAccessorBasedStore.ts:546</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Checks if the given metadata represents a (potential) container,
based on the metadata.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Metadata of the (new) resource.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="isRootStorage" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> is<wbr/>Root<wbr/>Storage<a href="#isRootStorage" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">is<wbr/>Root<wbr/>Storage<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L560">src/storage/DataAccessorBasedStore.ts:560</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Verifies if this is the metadata of a root storage container.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="modifyResource" class="tsd-anchor"></a><h3 class="tsd-anchor-link">modify<wbr/>Resource<a href="#modifyResource" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">modify<wbr/>Resource<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, patch<span class="tsd-signature-symbol">: </span><a href="../interfaces/Patch.html" class="tsd-signature-type" data-tsd-kind="Interface">Patch</a>, conditions<span class="tsd-signature-symbol">?: </span><a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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"><p>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#modifyResource">modifyResource</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L218">src/storage/DataAccessorBasedStore.ts:218</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sets or updates the representation of a resource,
creating a new resource and intermediary containers as needed.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li><li><h5>patch: <a href="../interfaces/Patch.html" class="tsd-signature-type" data-tsd-kind="Interface">Patch</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> conditions: <a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a></h5></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="removeResponseMetadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> remove<wbr/>Response<wbr/>Metadata<a href="#removeResponseMetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">remove<wbr/>Response<wbr/>Metadata<span class="tsd-signature-symbol">(</span>metadata<span class="tsd-signature-symbol">: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L447">src/storage/DataAccessorBasedStore.ts:447</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Removes all generated data from metadata to prevent it from being stored permanently.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="safelyDeleteAuxiliaryResources" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> safely<wbr/>Delete<wbr/>Auxiliary<wbr/>Resources<a href="#safelyDeleteAuxiliaryResources" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">safely<wbr/>Delete<wbr/>Auxiliary<wbr/>Resources<span class="tsd-signature-symbol">(</span>identifiers<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L580">src/storage/DataAccessorBasedStore.ts:580</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Deletes the given array of auxiliary identifiers.
Does not throw an error if something goes wrong.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifiers: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span></h5></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="setRepresentation" class="tsd-anchor"></a><h3 class="tsd-anchor-link">set<wbr/>Representation<a href="#setRepresentation" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">set<wbr/>Representation<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a>, conditions<span class="tsd-signature-symbol">?: </span><a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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"><p>Implementation of <a href="../interfaces/ResourceStore.html">ResourceStore</a>.<a href="../interfaces/ResourceStore.html#setRepresentation">setRepresentation</a></p><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L182">src/storage/DataAccessorBasedStore.ts:182</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sets or replaces the representation of a resource,
creating a new resource and intermediary containers as needed.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li><li><h5>representation: <a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> conditions: <a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a></h5></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="updateContainerModifiedDate" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> update<wbr/>Container<wbr/>Modified<wbr/>Date<a href="#updateContainerModifiedDate" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">update<wbr/>Container<wbr/>Modified<wbr/>Date<span class="tsd-signature-symbol">(</span>container<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">void</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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L456">src/storage/DataAccessorBasedStore.ts:456</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Updates the last modified date of the given container</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>container: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</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">void</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="validateConditions" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> validate<wbr/>Conditions<a href="#validateConditions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">validate<wbr/>Conditions<span class="tsd-signature-symbol">(</span>conditions<span class="tsd-signature-symbol">?: </span><a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a>, metadata<span class="tsd-signature-symbol">?: </span><a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L299">src/storage/DataAccessorBasedStore.ts:299</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Verify if the given metadata matches the conditions.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> conditions: <a href="../interfaces/Conditions.html" class="tsd-signature-type" data-tsd-kind="Interface">Conditions</a></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> metadata: <a href="RepresentationMetadata.html" class="tsd-signature-type" data-tsd-kind="Class">RepresentationMetadata</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="validateIdentifier" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> validate<wbr/>Identifier<a href="#validateIdentifier" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">validate<wbr/>Identifier<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L290">src/storage/DataAccessorBasedStore.ts:290</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Verify if the given identifier matches the stored base.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="validateSlug" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> validate<wbr/>Slug<a href="#validateSlug" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">validate<wbr/>Slug<span class="tsd-signature-symbol">(</span>isContainer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, slug<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L490">src/storage/DataAccessorBasedStore.ts:490</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Validates if the slug and headers are valid.
Errors if slug exists, ends on slash, but ContainerType Link header is NOT present</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>isContainer: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Is the slug supposed to represent a container?</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> slug: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Is the requested slug (if any).</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a id="writeData" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagProtected">Protected</span> write<wbr/>Data<a href="#writeData" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected"><li class="tsd-signature tsd-kind-icon">write<wbr/>Data<span class="tsd-signature-symbol">(</span>identifier<span class="tsd-signature-symbol">: </span><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a>, representation<span class="tsd-signature-symbol">: </span><a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a>, isContainer<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, createContainers<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, exists<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</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><a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><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/CommunitySolidServer/CommunitySolidServer/blob/5b48766/src/storage/DataAccessorBasedStore.ts#L361">src/storage/DataAccessorBasedStore.ts:361</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Write the given resource to the DataAccessor. Metadata will be updated with necessary triples.
In case of containers <code>handleContainerData</code> will be used to verify the data.</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>identifier: <a href="../interfaces/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Identifier of the resource.</p>
</div></div></li><li><h5>representation: <a href="../interfaces/Representation.html" class="tsd-signature-type" data-tsd-kind="Interface">Representation</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Corresponding Representation.</p>
</div></div></li><li><h5>isContainer: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Is the incoming resource a container?</p>
</div></div></li><li><h5>createContainers: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Should parent containers (potentially) be created?</p>
</div></div></li><li><h5>exists: <span class="tsd-signature-type">boolean</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>If the resource already exists.</p>
</div></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/ResourceIdentifier.html" class="tsd-signature-type" data-tsd-kind="Interface">ResourceIdentifier</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><div><p>Identifiers of resources that were possibly modified.</p>
</div></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="DataAccessorBasedStore.html" class="tsd-kind-icon">Data<wbr/>Accessor<wbr/>Based<wbr/>Store</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="DataAccessorBasedStore.html#accessor" class="tsd-kind-icon">accessor</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="DataAccessorBasedStore.html#auxiliaryStrategy" class="tsd-kind-icon">auxiliary<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="DataAccessorBasedStore.html#identifierStrategy" class="tsd-kind-icon">identifier<wbr/>Strategy</a></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#logger" class="tsd-kind-icon">logger</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#addResource" class="tsd-kind-icon">add<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#cleanSlug" class="tsd-kind-icon">clean<wbr/>Slug</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createRecursiveContainers" class="tsd-kind-icon">create<wbr/>Recursive<wbr/>Containers</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createSafeUri" class="tsd-kind-icon">create<wbr/>Safe<wbr/>Uri</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#createURI" class="tsd-kind-icon">createURI</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#deleteResource" class="tsd-kind-icon">delete<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#getNormalizedMetadata" class="tsd-kind-icon">get<wbr/>Normalized<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#getRepresentation" class="tsd-kind-icon">get<wbr/>Representation</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#getSafeNormalizedMetadata" class="tsd-kind-icon">get<wbr/>Safe<wbr/>Normalized<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#handleContainerData" class="tsd-kind-icon">handle<wbr/>Container<wbr/>Data</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#hasContainerType" class="tsd-kind-icon">has<wbr/>Container<wbr/>Type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#hasProperChildren" class="tsd-kind-icon">has<wbr/>Proper<wbr/>Children</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#hasResource" class="tsd-kind-icon">has<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#isContainerType" class="tsd-kind-icon">is<wbr/>Container<wbr/>Type</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#isRootStorage" class="tsd-kind-icon">is<wbr/>Root<wbr/>Storage</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#modifyResource" class="tsd-kind-icon">modify<wbr/>Resource</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#removeResponseMetadata" class="tsd-kind-icon">remove<wbr/>Response<wbr/>Metadata</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#safelyDeleteAuxiliaryResources" class="tsd-kind-icon">safely<wbr/>Delete<wbr/>Auxiliary<wbr/>Resources</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="DataAccessorBasedStore.html#setRepresentation" class="tsd-kind-icon">set<wbr/>Representation</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#updateContainerModifiedDate" class="tsd-kind-icon">update<wbr/>Container<wbr/>Modified<wbr/>Date</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateConditions" class="tsd-kind-icon">validate<wbr/>Conditions</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateIdentifier" class="tsd-kind-icon">validate<wbr/>Identifier</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#validateSlug" class="tsd-kind-icon">validate<wbr/>Slug</a></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="DataAccessorBasedStore.html#writeData" class="tsd-kind-icon">write<wbr/>Data</a></li></ul></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li><li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li><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><li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li></ul><ul class="tsd-legend"><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-static"><span class="tsd-kind-icon">Static method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>