diff --git a/7.x/404.html b/7.x/404.html index af69bbe1a..a86d1bded 100644 --- a/7.x/404.html +++ b/7.x/404.html @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -193,7 +193,7 @@
- +
CommunitySolidServer @@ -367,7 +367,7 @@
- +
CommunitySolidServer @@ -1623,7 +1623,7 @@ - + @@ -1634,7 +1634,7 @@ - + @@ -1645,7 +1645,7 @@ - + @@ -1656,7 +1656,7 @@ - +
diff --git a/7.x/architecture/core/index.html b/7.x/architecture/core/index.html index d2a26c547..d8044fbb8 100644 --- a/7.x/architecture/core/index.html +++ b/7.x/architecture/core/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1778,7 +1778,7 @@ Similarly, we have a pipeSafely to pipe streams in such a way that - + @@ -1789,7 +1789,7 @@ Similarly, we have a pipeSafely to pipe streams in such a way that - + @@ -1800,7 +1800,7 @@ Similarly, we have a pipeSafely to pipe streams in such a way that - + @@ -1811,7 +1811,7 @@ Similarly, we have a pipeSafely to pipe streams in such a way that - +
diff --git a/7.x/architecture/dependency-injection/index.html b/7.x/architecture/dependency-injection/index.html index cc266b298..54033a5a7 100644 --- a/7.x/architecture/dependency-injection/index.html +++ b/7.x/architecture/dependency-injection/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1788,7 +1788,7 @@ These variables are set when starting up the server, based on the command line p - + @@ -1799,7 +1799,7 @@ These variables are set when starting up the server, based on the command line p - + @@ -1810,7 +1810,7 @@ These variables are set when starting up the server, based on the command line p - + @@ -1821,7 +1821,7 @@ These variables are set when starting up the server, based on the command line p - +
diff --git a/7.x/architecture/features/accounts/controls/index.html b/7.x/architecture/features/accounts/controls/index.html index 3d2f71afe..0434b38ee 100644 --- a/7.x/architecture/features/accounts/controls/index.html +++ b/7.x/architecture/features/accounts/controls/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1692,7 +1692,7 @@ How to add these can be seen - + @@ -1703,7 +1703,7 @@ How to add these can be seen - + @@ -1714,7 +1714,7 @@ How to add these can be seen - + @@ -1725,7 +1725,7 @@ How to add these can be seen - +
diff --git a/7.x/architecture/features/accounts/overview/index.html b/7.x/architecture/features/accounts/overview/index.html index 4461c2ce7..3067c39e5 100644 --- a/7.x/architecture/features/accounts/overview/index.html +++ b/7.x/architecture/features/accounts/overview/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1720,7 +1720,7 @@ We'll list and summarize these here:

- + @@ -1731,7 +1731,7 @@ We'll list and summarize these here:

- + @@ -1742,7 +1742,7 @@ We'll list and summarize these here:

- + @@ -1753,7 +1753,7 @@ We'll list and summarize these here:

- +
diff --git a/7.x/architecture/features/accounts/routes/index.html b/7.x/architecture/features/accounts/routes/index.html index 9fa4575ad..028ff2016 100644 --- a/7.x/architecture/features/accounts/routes/index.html +++ b/7.x/architecture/features/accounts/routes/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1901,7 +1901,7 @@ Usually you will also want to add HTML controls so the page can be found.

- + @@ -1912,7 +1912,7 @@ Usually you will also want to add HTML controls so the page can be found.

- + @@ -1923,7 +1923,7 @@ Usually you will also want to add HTML controls so the page can be found.

- + @@ -1934,7 +1934,7 @@ Usually you will also want to add HTML controls so the page can be found.

- +
diff --git a/7.x/architecture/features/cli/index.html b/7.x/architecture/features/cli/index.html index 22fcd500a..1728383a6 100644 --- a/7.x/architecture/features/cli/index.html +++ b/7.x/architecture/features/cli/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1802,7 +1802,7 @@ which will be used if no port is provided.

- + @@ -1813,7 +1813,7 @@ which will be used if no port is provided.

- + @@ -1824,7 +1824,7 @@ which will be used if no port is provided.

- + @@ -1835,7 +1835,7 @@ which will be used if no port is provided.

- +
diff --git a/7.x/architecture/features/http-handler/index.html b/7.x/architecture/features/http-handler/index.html index e15e7d518..aff199883 100644 --- a/7.x/architecture/features/http-handler/index.html +++ b/7.x/architecture/features/http-handler/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1910,7 +1910,7 @@ A detailed description of what happens then can be found - + @@ -1921,7 +1921,7 @@ A detailed description of what happens then can be found - + @@ -1932,7 +1932,7 @@ A detailed description of what happens then can be found - + @@ -1943,7 +1943,7 @@ A detailed description of what happens then can be found - +
diff --git a/7.x/architecture/features/initialization/index.html b/7.x/architecture/features/initialization/index.html index 1bb592453..4320b3c1b 100644 --- a/7.x/architecture/features/initialization/index.html +++ b/7.x/architecture/features/initialization/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1916,7 +1916,7 @@ these are handled by the WebSocketHandler.

- + @@ -1927,7 +1927,7 @@ these are handled by the WebSocketHandler.

- + @@ -1938,7 +1938,7 @@ these are handled by the WebSocketHandler.

- + @@ -1949,7 +1949,7 @@ these are handled by the WebSocketHandler.

- +
diff --git a/7.x/architecture/features/notifications/index.html b/7.x/architecture/features/notifications/index.html index b6c7c32df..3506e5603 100644 --- a/7.x/architecture/features/notifications/index.html +++ b/7.x/architecture/features/notifications/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -2048,7 +2048,7 @@ endpoint of the default, pre-established channel for that topic resource. - + @@ -2059,7 +2059,7 @@ endpoint of the default, pre-established channel for that topic resource. - + @@ -2070,7 +2070,7 @@ endpoint of the default, pre-established channel for that topic resource. - + @@ -2081,7 +2081,7 @@ endpoint of the default, pre-established channel for that topic resource. - +
diff --git a/7.x/architecture/features/protocol/authorization/index.html b/7.x/architecture/features/protocol/authorization/index.html index c1c2a88a0..379c3a94f 100644 --- a/7.x/architecture/features/protocol/authorization/index.html +++ b/7.x/architecture/features/protocol/authorization/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1945,7 +1945,7 @@ depending on if the agent was logged in or not.

- + @@ -1956,7 +1956,7 @@ depending on if the agent was logged in or not.

- + @@ -1967,7 +1967,7 @@ depending on if the agent was logged in or not.

- + @@ -1978,7 +1978,7 @@ depending on if the agent was logged in or not.

- +
diff --git a/7.x/architecture/features/protocol/overview/index.html b/7.x/architecture/features/protocol/overview/index.html index 64a5261b4..d2e919f87 100644 --- a/7.x/architecture/features/protocol/overview/index.html +++ b/7.x/architecture/features/protocol/overview/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1698,7 +1698,7 @@ e.g. a POST request to create a new resource.

- + @@ -1709,7 +1709,7 @@ e.g. a POST request to create a new resource.

- + @@ -1720,7 +1720,7 @@ e.g. a POST request to create a new resource.

- + @@ -1731,7 +1731,7 @@ e.g. a POST request to create a new resource.

- +
diff --git a/7.x/architecture/features/protocol/parsing/index.html b/7.x/architecture/features/protocol/parsing/index.html index bbc3000e9..f7d8cc1d9 100644 --- a/7.x/architecture/features/protocol/parsing/index.html +++ b/7.x/architecture/features/protocol/parsing/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1929,7 +1929,7 @@ it has multiple writers which each convert certain metadata into a specific head - + @@ -1940,7 +1940,7 @@ it has multiple writers which each convert certain metadata into a specific head - + @@ -1951,7 +1951,7 @@ it has multiple writers which each convert certain metadata into a specific head - + @@ -1962,7 +1962,7 @@ it has multiple writers which each convert certain metadata into a specific head - +
diff --git a/7.x/architecture/features/protocol/patching/index.html b/7.x/architecture/features/protocol/patching/index.html index a1e46f599..1abddb2f0 100644 --- a/7.x/architecture/features/protocol/patching/index.html +++ b/7.x/architecture/features/protocol/patching/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1733,7 +1733,7 @@ depending on the type of patch that is requested.

- + @@ -1744,7 +1744,7 @@ depending on the type of patch that is requested.

- + @@ -1755,7 +1755,7 @@ depending on the type of patch that is requested.

- + @@ -1766,7 +1766,7 @@ depending on the type of patch that is requested.

- +
diff --git a/7.x/architecture/features/protocol/resource-store/index.html b/7.x/architecture/features/protocol/resource-store/index.html index e6c05d3e7..288e5eccd 100644 --- a/7.x/architecture/features/protocol/resource-store/index.html +++ b/7.x/architecture/features/protocol/resource-store/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1893,7 +1893,7 @@ after which it can be plugged into the rest of the server.

- + @@ -1904,7 +1904,7 @@ after which it can be plugged into the rest of the server.

- + @@ -1915,7 +1915,7 @@ after which it can be plugged into the rest of the server.

- + @@ -1926,7 +1926,7 @@ after which it can be plugged into the rest of the server.

- +
diff --git a/7.x/architecture/overview/index.html b/7.x/architecture/overview/index.html index 42ee74c74..e0902382b 100644 --- a/7.x/architecture/overview/index.html +++ b/7.x/architecture/overview/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1801,7 +1801,7 @@ one of which has no identifier but is an instance of AuthorizingHttpHandle - + @@ -1812,7 +1812,7 @@ one of which has no identifier but is an instance of AuthorizingHttpHandle - + @@ -1823,7 +1823,7 @@ one of which has no identifier but is an instance of AuthorizingHttpHandle - + @@ -1834,7 +1834,7 @@ one of which has no identifier but is an instance of AuthorizingHttpHandle - +
diff --git a/7.x/assets/stylesheets/main.3cba04c6.min.css b/7.x/assets/stylesheets/main.3cba04c6.min.css new file mode 100644 index 000000000..873f8feef --- /dev/null +++ b/7.x/assets/stylesheets/main.3cba04c6.min.css @@ -0,0 +1 @@ +@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent)}.md-typeset a code{color:currentcolor;transition:background-color 125ms}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .md-code__content{display:grid}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/7.x/assets/stylesheets/main.3cba04c6.min.css.map b/7.x/assets/stylesheets/main.3cba04c6.min.css.map new file mode 100644 index 000000000..0d8f7b6bd --- /dev/null +++ b/7.x/assets/stylesheets/main.3cba04c6.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["src/templates/assets/stylesheets/main/components/_meta.scss","../../../../src/templates/assets/stylesheets/main.scss","src/templates/assets/stylesheets/main/_resets.scss","src/templates/assets/stylesheets/main/_colors.scss","src/templates/assets/stylesheets/main/_icons.scss","src/templates/assets/stylesheets/main/_typeset.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/templates/assets/stylesheets/main/components/_author.scss","src/templates/assets/stylesheets/main/components/_banner.scss","src/templates/assets/stylesheets/main/components/_base.scss","src/templates/assets/stylesheets/main/components/_clipboard.scss","src/templates/assets/stylesheets/main/components/_code.scss","src/templates/assets/stylesheets/main/components/_consent.scss","src/templates/assets/stylesheets/main/components/_content.scss","src/templates/assets/stylesheets/main/components/_dialog.scss","src/templates/assets/stylesheets/main/components/_feedback.scss","src/templates/assets/stylesheets/main/components/_footer.scss","src/templates/assets/stylesheets/main/components/_form.scss","src/templates/assets/stylesheets/main/components/_header.scss","node_modules/material-design-color/material-color.scss","src/templates/assets/stylesheets/main/components/_nav.scss","src/templates/assets/stylesheets/main/components/_pagination.scss","src/templates/assets/stylesheets/main/components/_post.scss","src/templates/assets/stylesheets/main/components/_progress.scss","src/templates/assets/stylesheets/main/components/_search.scss","src/templates/assets/stylesheets/main/components/_select.scss","src/templates/assets/stylesheets/main/components/_sidebar.scss","src/templates/assets/stylesheets/main/components/_source.scss","src/templates/assets/stylesheets/main/components/_status.scss","src/templates/assets/stylesheets/main/components/_tabs.scss","src/templates/assets/stylesheets/main/components/_tag.scss","src/templates/assets/stylesheets/main/components/_tooltip.scss","src/templates/assets/stylesheets/main/components/_tooltip2.scss","src/templates/assets/stylesheets/main/components/_top.scss","src/templates/assets/stylesheets/main/components/_version.scss","src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss","src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/templates/assets/stylesheets/main/integrations/_mermaid.scss","src/templates/assets/stylesheets/main/modifiers/_grid.scss","src/templates/assets/stylesheets/main/modifiers/_inline.scss"],"names":[],"mappings":"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CJ,CmB9qCI,8CAEE,kCAAA,CAAA,0BnB+qCN,CACF,CKj3CI,0Cc0MA,0CACE,YnB0qCJ,CmBvqCI,yDACE,UnByqCN,CmBrqCI,wDACE,YnBuqCN,CmBnqCI,kDACE,YnBqqCN,CmBhqCE,gBAIE,iDAAA,CADA,gCAAA,CAFA,aAAA,CACA,enBoqCJ,CACF,CK96CM,+DcmRF,6CACE,YnB8pCJ,CmB3pCI,4DACE,UnB6pCN,CmBzpCI,2DACE,YnB2pCN,CmBvpCI,qDACE,YnBypCN,CACF,CKt6CI,mCc7JJ,QAgbI,oBnBupCF,CmBjpCI,kCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,SnBmpCN,CmB9oCM,6CACE,uBnBgpCR,CmB5oCM,gDACE,YnB8oCR,CmBzoCI,2CACE,kBnB4oCN,CmB7oCI,2CACE,mBnB4oCN,CmB7oCI,iCAEE,oBnB2oCN,CmBpoCI,yDACE,kBnBsoCN,CmBvoCI,yDACE,iBnBsoCN,CACF,CK/7CI,sCc7JJ,QA4dI,oBAAA,CACA,oDnBooCF,CmB9nCI,gCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,SnBgoCN,CmB3nCM,8CACE,uBnB6nCR,CmBznCM,8CACE,YnB2nCR,CmBtnCI,yCACE,kBnBynCN,CmB1nCI,yCACE,mBnBynCN,CmB1nCI,+BAEE,oBnBwnCN,CmBjnCI,uDACE,kBnBmnCN,CmBpnCI,uDACE,iBnBmnCN,CmB9mCE,wBACE,YAAA,CACA,sBAAA,CAEA,SAAA,CACA,6FACE,CAHF,mBnBknCJ,CmB1mCI,sCACE,enB4mCN,CmBvmCE,iFACE,sBAAA,CAEA,SAAA,CACA,4FACE,CAHF,kBnB2mCJ,CmBlmCE,iDACE,enBomCJ,CmBhmCE,6CACE,YnBkmCJ,CmB9lCE,uBACE,aAAA,CACA,enBgmCJ,CmB7lCI,kCACE,enB+lCN,CmB3lCI,qCACE,enB6lCN,CmB1lCM,0CACE,uCnB4lCR,CmBxlCM,6DACE,mBnB0lCR,CmBtlCM,yFAEE,YnBwlCR,CmBnlCI,yCAEE,kBnBulCN,CmBzlCI,yCAEE,mBnBulCN,CmBzlCI,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","file":"main.css"} \ No newline at end of file diff --git a/7.x/assets/stylesheets/main.76a95c52.min.css b/7.x/assets/stylesheets/main.76a95c52.min.css deleted file mode 100644 index 120bca6f3..000000000 --- a/7.x/assets/stylesheets/main.76a95c52.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent)}.md-typeset a code{color:currentcolor;transition:background-color 125ms}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .md-code__content{display:grid}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/7.x/assets/stylesheets/main.76a95c52.min.css.map b/7.x/assets/stylesheets/main.76a95c52.min.css.map deleted file mode 100644 index ee35967f0..000000000 --- a/7.x/assets/stylesheets/main.76a95c52.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["src/templates/assets/stylesheets/main/components/_meta.scss","../../../../src/templates/assets/stylesheets/main.scss","src/templates/assets/stylesheets/main/_resets.scss","src/templates/assets/stylesheets/main/_colors.scss","src/templates/assets/stylesheets/main/_icons.scss","src/templates/assets/stylesheets/main/_typeset.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/templates/assets/stylesheets/main/components/_author.scss","src/templates/assets/stylesheets/main/components/_banner.scss","src/templates/assets/stylesheets/main/components/_base.scss","src/templates/assets/stylesheets/main/components/_clipboard.scss","src/templates/assets/stylesheets/main/components/_code.scss","src/templates/assets/stylesheets/main/components/_consent.scss","src/templates/assets/stylesheets/main/components/_content.scss","src/templates/assets/stylesheets/main/components/_dialog.scss","src/templates/assets/stylesheets/main/components/_feedback.scss","src/templates/assets/stylesheets/main/components/_footer.scss","src/templates/assets/stylesheets/main/components/_form.scss","src/templates/assets/stylesheets/main/components/_header.scss","node_modules/material-design-color/material-color.scss","src/templates/assets/stylesheets/main/components/_nav.scss","src/templates/assets/stylesheets/main/components/_pagination.scss","src/templates/assets/stylesheets/main/components/_post.scss","src/templates/assets/stylesheets/main/components/_progress.scss","src/templates/assets/stylesheets/main/components/_search.scss","src/templates/assets/stylesheets/main/components/_select.scss","src/templates/assets/stylesheets/main/components/_sidebar.scss","src/templates/assets/stylesheets/main/components/_source.scss","src/templates/assets/stylesheets/main/components/_status.scss","src/templates/assets/stylesheets/main/components/_tabs.scss","src/templates/assets/stylesheets/main/components/_tag.scss","src/templates/assets/stylesheets/main/components/_tooltip.scss","src/templates/assets/stylesheets/main/components/_tooltip2.scss","src/templates/assets/stylesheets/main/components/_top.scss","src/templates/assets/stylesheets/main/components/_version.scss","src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss","src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/templates/assets/stylesheets/main/integrations/_mermaid.scss","src/templates/assets/stylesheets/main/modifiers/_grid.scss","src/templates/assets/stylesheets/main/modifiers/_inline.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file diff --git a/7.x/contributing/making-changes/index.html b/7.x/contributing/making-changes/index.html index 8ee7bd84d..8ff698422 100644 --- a/7.x/contributing/making-changes/index.html +++ b/7.x/contributing/making-changes/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1692,7 +1692,7 @@ make sure it stays that way.

- + @@ -1703,7 +1703,7 @@ make sure it stays that way.

- + @@ -1714,7 +1714,7 @@ make sure it stays that way.

- + @@ -1725,7 +1725,7 @@ make sure it stays that way.

- +
diff --git a/7.x/contributing/release/index.html b/7.x/contributing/release/index.html index c886ecb4a..52b1f0768 100644 --- a/7.x/contributing/release/index.html +++ b/7.x/contributing/release/index.html @@ -16,7 +16,7 @@ - + @@ -24,7 +24,7 @@ - + @@ -202,7 +202,7 @@
- +
CommunitySolidServer @@ -378,7 +378,7 @@
- +
CommunitySolidServer @@ -1781,7 +1781,7 @@ - + @@ -1792,7 +1792,7 @@ - + @@ -1803,7 +1803,7 @@ - + @@ -1814,7 +1814,7 @@ - +
diff --git a/7.x/docs/.nojekyll b/7.x/docs/.nojekyll deleted file mode 100644 index e2ac6616a..000000000 --- a/7.x/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/7.x/docs/assets/custom.css b/7.x/docs/assets/custom.css deleted file mode 100644 index 24616e25d..000000000 --- a/7.x/docs/assets/custom.css +++ /dev/null @@ -1,4 +0,0 @@ -.tsd-page-toolbar, -.tsd-page-title { - background-color: #7E56C2; -} diff --git a/7.x/docs/assets/highlight.css b/7.x/docs/assets/highlight.css deleted file mode 100644 index 01b55be29..000000000 --- a/7.x/docs/assets/highlight.css +++ /dev/null @@ -1,120 +0,0 @@ -:root { - --light-hl-0: #795E26; - --dark-hl-0: #DCDCAA; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #A31515; - --dark-hl-2: #CE9178; - --light-hl-3: #0000FF; - --dark-hl-3: #569CD6; - --light-hl-4: #0070C1; - --dark-hl-4: #4FC1FF; - --light-hl-5: #008000; - --dark-hl-5: #6A9955; - --light-hl-6: #001080; - --dark-hl-6: #9CDCFE; - --light-hl-7: #098658; - --dark-hl-7: #B5CEA8; - --light-hl-8: #000000FF; - --dark-hl-8: #D4D4D4; - --light-hl-9: #AF00DB; - --dark-hl-9: #C586C0; - --light-hl-10: #EE0000; - --dark-hl-10: #D7BA7D; - --light-hl-11: #811F3F; - --dark-hl-11: #D16969; - --light-hl-12: #000000; - --dark-hl-12: #C8C8C8; - --light-hl-13: #267F99; - --dark-hl-13: #4EC9B0; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); - --hl-11: var(--light-hl-11); - --hl-12: var(--light-hl-12); - --hl-13: var(--light-hl-13); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); - --hl-11: var(--dark-hl-11); - --hl-12: var(--dark-hl-12); - --hl-13: var(--dark-hl-13); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -.hl-9 { color: var(--hl-9); } -.hl-10 { color: var(--hl-10); } -.hl-11 { color: var(--hl-11); } -.hl-12 { color: var(--hl-12); } -.hl-13 { color: var(--hl-13); } -pre, code { background: var(--code-background); } diff --git a/7.x/docs/assets/icons.js b/7.x/docs/assets/icons.js deleted file mode 100644 index e88e8ca77..000000000 --- a/7.x/docs/assets/icons.js +++ /dev/null @@ -1,18 +0,0 @@ -(function() { - addIcons(); - function addIcons() { - if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); - svg.innerHTML = `""`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); - } - - function updateUseElements() { - document.querySelectorAll("use").forEach(el => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})() \ No newline at end of file diff --git a/7.x/docs/assets/icons.svg b/7.x/docs/assets/icons.svg deleted file mode 100644 index e371b8b5d..000000000 --- a/7.x/docs/assets/icons.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/7.x/docs/assets/main.js b/7.x/docs/assets/main.js deleted file mode 100644 index 35728810f..000000000 --- a/7.x/docs/assets/main.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; -"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/7.x/docs/assets/navigation.js b/7.x/docs/assets/navigation.js deleted file mode 100644 index 705f0c834..000000000 --- a/7.x/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/7.x/docs/assets/search.js b/7.x/docs/assets/search.js deleted file mode 100644 index 945bd0f24..000000000 --- a/7.x/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/7.x/docs/assets/style.css b/7.x/docs/assets/style.css deleted file mode 100644 index 9d619a641..000000000 --- a/7.x/docs/assets/style.css +++ /dev/null @@ -1,1448 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - --light-color-focus-outline: #3584e4; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - --light-color-document: #000000; - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - --dark-color-focus-outline: #4c97f2; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - --dark-color-document: #ffffff; - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-focus-outline: var(--light-color-focus-outline); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - --color-document: var(--light-color-document); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-focus-outline: var(--dark-color-focus-outline); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - --color-document: var(--dark-color-document); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -*:focus-visible, -.tsd-accordion-summary:focus-visible svg { - outline: 2px solid var(--color-focus-outline); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} -footer > p { - margin: 0 1em; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} -a.tsd-anchor-link { - color: var(--color-text); -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: -moz-fit-content; - width: fit-content; - align-items: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus-visible + svg { - outline: 2px solid var(--color-focus-outline); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.settings-label { - font-weight: bold; - text-transform: uppercase; - display: inline-block; -} - -.tsd-filter-visibility .settings-label { - margin: 0.75rem 0 0.5rem 0; -} - -.tsd-theme-toggle .settings-label { - margin: 0.75rem 0.75rem 0 0; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-navigation .tsd-nav-link { - display: none; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation-section { - margin-left: 10px; -} -.tsd-page-navigation-section > summary { - padding: 0.25rem; -} -.tsd-page-navigation-section > div { - margin-left: 20px; -} -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; - vertical-align: text-top; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} -.tsd-panel-group > .tsd-accordion-summary { - margin-bottom: 1rem; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-signatures .tsd-index-signature:not(:last-child) { - margin-bottom: 1em; -} -.tsd-signatures .tsd-index-signature .tsd-signature { - border-width: 1px; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } - #tsd-toolbar-links { - display: none; - } - .tsd-navigation .tsd-nav-link { - display: flex; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/7.x/docs/classes/AbsolutePathInteractionRoute.html b/7.x/docs/classes/AbsolutePathInteractionRoute.html deleted file mode 100644 index 2575338a1..000000000 --- a/7.x/docs/classes/AbsolutePathInteractionRoute.html +++ /dev/null @@ -1,11 +0,0 @@ -AbsolutePathInteractionRoute | Community Solid Server - v7.1.0

Class AbsolutePathInteractionRoute

A route that stores a single absolute path.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/AcceptPreferenceParser.html b/7.x/docs/classes/AcceptPreferenceParser.html deleted file mode 100644 index d85c41283..000000000 --- a/7.x/docs/classes/AcceptPreferenceParser.html +++ /dev/null @@ -1,20 +0,0 @@ -AcceptPreferenceParser | Community Solid Server - v7.1.0

Extracts preferences from the Accept-* headers from an incoming HttpRequest. -Supports Accept, Accept-Charset, Accept-Encoding, Accept-Language and Accept-DateTime.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AccessChecker.html b/7.x/docs/classes/AccessChecker.html deleted file mode 100644 index e84bdbb3c..000000000 --- a/7.x/docs/classes/AccessChecker.html +++ /dev/null @@ -1,19 +0,0 @@ -AccessChecker | Community Solid Server - v7.1.0

Class AccessCheckerAbstract

Performs an authorization check against the given acl resource.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AccountInitializer.html b/7.x/docs/classes/AccountInitializer.html deleted file mode 100644 index ce1571fcf..000000000 --- a/7.x/docs/classes/AccountInitializer.html +++ /dev/null @@ -1,19 +0,0 @@ -AccountInitializer | Community Solid Server - v7.1.0

Initializes an account with email/password login and a pod with the provided name.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AccountPromptFactory.html b/7.x/docs/classes/AccountPromptFactory.html deleted file mode 100644 index fc0be5c5c..000000000 --- a/7.x/docs/classes/AccountPromptFactory.html +++ /dev/null @@ -1,22 +0,0 @@ -AccountPromptFactory | Community Solid Server - v7.1.0

Creates the prompt necessary to ensure a user is logged in with their account when doing an OIDC interaction. -This is done by checking the presence of the account-related cookie.

-

Adds a Check to the login policy that verifies if the stored accountId, which corresponds to the chosen WebID, -belongs to the currently logged in account.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: DefaultPolicy

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: DefaultPolicy

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AcpHeaderHandler.html b/7.x/docs/classes/AcpHeaderHandler.html deleted file mode 100644 index 12842cbd2..000000000 --- a/7.x/docs/classes/AcpHeaderHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -AcpHeaderHandler | Community Solid Server - v7.1.0

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AcpReader.html b/7.x/docs/classes/AcpReader.html deleted file mode 100644 index a911ad58c..000000000 --- a/7.x/docs/classes/AcpReader.html +++ /dev/null @@ -1,22 +0,0 @@ -AcpReader | Community Solid Server - v7.1.0

Finds the permissions of a resource as defined in the corresponding ACRs. -Implementation based on https://solid.github.io/authorization-panel/acp-specification/.

-

Caches data so no duplicate calls are made to the ResourceStore for a single request.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ActivityNotificationGenerator.html b/7.x/docs/classes/ActivityNotificationGenerator.html deleted file mode 100644 index 6c00fe27b..000000000 --- a/7.x/docs/classes/ActivityNotificationGenerator.html +++ /dev/null @@ -1,20 +0,0 @@ -ActivityNotificationGenerator | Community Solid Server - v7.1.0

Class ActivityNotificationGenerator

A NotificationGenerator that creates a Notification by using the provided activity as type. -Requests metadata of the topic from the ResourceStore to fill in the details.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/AddRemoveNotificationGenerator.html b/7.x/docs/classes/AddRemoveNotificationGenerator.html deleted file mode 100644 index d8f053d89..000000000 --- a/7.x/docs/classes/AddRemoveNotificationGenerator.html +++ /dev/null @@ -1,21 +0,0 @@ -AddRemoveNotificationGenerator | Community Solid Server - v7.1.0

Class AddRemoveNotificationGenerator

A NotificationGenerator specifically for Add/Remove notifications. -Creates the notification so the target is set to input topic, -and the object value is extracted from the provided metadata.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/AgentAccessChecker.html b/7.x/docs/classes/AgentAccessChecker.html deleted file mode 100644 index 96d633109..000000000 --- a/7.x/docs/classes/AgentAccessChecker.html +++ /dev/null @@ -1,19 +0,0 @@ -AgentAccessChecker | Community Solid Server - v7.1.0

Checks if the given WebID has been given access.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AgentClassAccessChecker.html b/7.x/docs/classes/AgentClassAccessChecker.html deleted file mode 100644 index 964cb4873..000000000 --- a/7.x/docs/classes/AgentClassAccessChecker.html +++ /dev/null @@ -1,19 +0,0 @@ -AgentClassAccessChecker | Community Solid Server - v7.1.0

Checks access based on the agent class.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AgentGroupAccessChecker.html b/7.x/docs/classes/AgentGroupAccessChecker.html deleted file mode 100644 index 8ba5841fd..000000000 --- a/7.x/docs/classes/AgentGroupAccessChecker.html +++ /dev/null @@ -1,20 +0,0 @@ -AgentGroupAccessChecker | Community Solid Server - v7.1.0

Checks if the given WebID belongs to a group that has access. -Implements the behaviour of groups from the WAC specification.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AllStaticReader.html b/7.x/docs/classes/AllStaticReader.html deleted file mode 100644 index c26b3fb61..000000000 --- a/7.x/docs/classes/AllStaticReader.html +++ /dev/null @@ -1,20 +0,0 @@ -AllStaticReader | Community Solid Server - v7.1.0

PermissionReader which sets all permissions to true or false -independently of the identifier and requested permissions.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AllowAcceptHeaderWriter.html b/7.x/docs/classes/AllowAcceptHeaderWriter.html deleted file mode 100644 index 03fca2baa..000000000 --- a/7.x/docs/classes/AllowAcceptHeaderWriter.html +++ /dev/null @@ -1,22 +0,0 @@ -AllowAcceptHeaderWriter | Community Solid Server - v7.1.0

Generates Allow, Accept-Patch, Accept-Post, and Accept-Put headers. -The resulting values depend on the choses input methods and types. -The input metadata also gets used to remove methods from that list -if they are not valid in the given situation.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/App.html b/7.x/docs/classes/App.html deleted file mode 100644 index 5a6449786..000000000 --- a/7.x/docs/classes/App.html +++ /dev/null @@ -1,8 +0,0 @@ -App | Community Solid Server - v7.1.0

Entry point for the entire Solid server.

-

Constructors

Properties

Methods

Constructors

Properties

clusterManager: ClusterManager

Methods

  • Initializes and starts the application.

    -

    Returns Promise<void>

  • Stops the application and handles cleanup.

    -

    Returns Promise<void>

diff --git a/7.x/docs/classes/AppRunner.html b/7.x/docs/classes/AppRunner.html deleted file mode 100644 index 62a6647b7..000000000 --- a/7.x/docs/classes/AppRunner.html +++ /dev/null @@ -1,31 +0,0 @@ -AppRunner | Community Solid Server - v7.1.0

A class that can be used to instantiate and start a server based on a Component.js configuration.

-

Constructors

Methods

  • Returns an App object, created with the given config, that can start and stop the Solid server.

    -

    Parameters

    • input: AppRunnerInput = {}

      All values necessary to configure the server.

      -

    Returns Promise<App>

  • Returns an App object, created by parsing the Command line arguments, that can start and stop the Solid server. -Will exit the process on failure.

    -

    Parameters

    • argv: CliArgv = process.argv

      Command line arguments.

      -

    Returns Promise<App>

  • Creates the Components Manager that will be used for instantiating.

    -

    Type Parameters

    • T

    Parameters

    • loaderProperties: IComponentsManagerBuilderOptions<T>
    • configs: string[]

    Returns Promise<ComponentsManager<T>>

  • Retrieves settings from package.json or configuration file when -part of an npm project.

    -

    Returns Promise<undefined | Record<string, unknown>>

    The settings defined in the configuration file

    -
  • Starts the server with a given config.

    -

    Parameters

    Returns Promise<void>

  • Starts the server as a command-line application.

    -

    Parameters

    • Optionalargv: CliArgv

      Command line arguments.

      -

    Returns Promise<void>

  • Starts the server as a command-line application. -Will exit the process on failure.

    -

    Made non-async to lower the risk of unhandled promise rejections. -This is only relevant when this is used to start as a Node.js application on its own, -if you use this as part of your code you probably want to use the async version.

    -

    Parameters

    • argv: {
          argv?: CliArgv;
          stderr?: WriteStream;
      }

      Input parameters.

      -
      • Optionalargv?: CliArgv

        Command line arguments.

        -
      • Optionalstderr?: WriteStream

        Stream that should be used to output errors before the logger is enabled.

        -

    Returns void

diff --git a/7.x/docs/classes/ArrayUnionHandler.html b/7.x/docs/classes/ArrayUnionHandler.html deleted file mode 100644 index 68a479f16..000000000 --- a/7.x/docs/classes/ArrayUnionHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -ArrayUnionHandler | Community Solid Server - v7.1.0

Class ArrayUnionHandler<T>

A utility handler that concatenates the results of all its handlers into a single result.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

handlers: T[]

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AssetPathExtractor.html b/7.x/docs/classes/AssetPathExtractor.html deleted file mode 100644 index d4fdf06e8..000000000 --- a/7.x/docs/classes/AssetPathExtractor.html +++ /dev/null @@ -1,20 +0,0 @@ -AssetPathExtractor | Community Solid Server - v7.1.0

A ShorthandExtractor that converts a path value to an absolute asset path -by making use of resolveAssetPath. -Returns the default path in case it is defined and no path was found in the map.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<unknown>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AsyncHandler.html b/7.x/docs/classes/AsyncHandler.html deleted file mode 100644 index 65cc0fccd..000000000 --- a/7.x/docs/classes/AsyncHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -AsyncHandler | Community Solid Server - v7.1.0

Class AsyncHandler<TIn, TOut>Abstract

Simple interface for classes that can potentially handle a specific kind of data asynchronously.

-

Type Parameters

  • TIn = void
  • TOut = void

Hierarchy (view full)

Implemented by

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: TIn

      Input that needs to be handled.

      -

    Returns Promise<TOut>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: TIn

      Input data that will be handled if it can be handled.

      -

    Returns Promise<TOut>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AtomicFileDataAccessor.html b/7.x/docs/classes/AtomicFileDataAccessor.html deleted file mode 100644 index ecdecc3c5..000000000 --- a/7.x/docs/classes/AtomicFileDataAccessor.html +++ /dev/null @@ -1,59 +0,0 @@ -AtomicFileDataAccessor | Community Solid Server - v7.1.0

AtomicDataAccessor that uses the file system to store documents as files and containers as folders. -Data will first be written to a temporary location and only if no errors occur -will the data be written to the desired location.

-

Hierarchy (view full)

Implements

Constructors

Properties

logger: Logger = ...
resourceMapper: FileIdentifierMapper

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

  • Gets the Stats object corresponding to the given file path, -resolving symbolic links.

    -

    Parameters

    • path: string

      File path to get info from.

      -

    Returns Promise<Stats>

    NotFoundHttpError -If the file/folder doesn't exist.

    -
  • Verifies if there already is a file corresponding to the given resource. -If yes, that file is removed if it does not match the path given in the input ResourceLink. -This can happen if the content-type differs from the one that was stored.

    -

    Parameters

    • link: ResourceLink

      ResourceLink corresponding to the new resource data.

      -

    Returns Promise<void>

diff --git a/7.x/docs/classes/AuthAuxiliaryReader.html b/7.x/docs/classes/AuthAuxiliaryReader.html deleted file mode 100644 index dcbf28491..000000000 --- a/7.x/docs/classes/AuthAuxiliaryReader.html +++ /dev/null @@ -1,28 +0,0 @@ -AuthAuxiliaryReader | Community Solid Server - v7.1.0

Determines the permission for authorization resources (such as ACL or ACR). -In contrast to the regular resource mechanism, read/write access to authorization resources -is obtained by setting Control permissions on the corresponding subject resource -rather than directly setting permissions for the authorization resource itself. -Hence, this class transforms Control permissions on the subject resource -to Read/Write permissions on the authorization resource.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AuthorizationParser.html b/7.x/docs/classes/AuthorizationParser.html deleted file mode 100644 index c92357aa1..000000000 --- a/7.x/docs/classes/AuthorizationParser.html +++ /dev/null @@ -1,24 +0,0 @@ -AuthorizationParser | Community Solid Server - v7.1.0

Parses specific authorization schemes and stores their value as metadata. -The keys of the input authMap should be the schemes, -and the values the corresponding predicate that should be used to store the value in the metadata. -The scheme will be sliced off the value, after which it is used as the object in the metadata triple.

-

This should be used for custom authorization schemes, -for things like OIDC tokens a CredentialsExtractor should be used.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/AuthorizedRouteHandler.html b/7.x/docs/classes/AuthorizedRouteHandler.html deleted file mode 100644 index cd62206a4..000000000 --- a/7.x/docs/classes/AuthorizedRouteHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -AuthorizedRouteHandler | Community Solid Server - v7.1.0

An InteractionRouteHandler specifically for an AccountIdRoute. -If there is no account ID, implying the user is not logged in, -an UnauthorizedHttpError will be thrown. -If there is an account ID, but it does not match the one in target resource, -a ForbiddenHttpError will be thrown.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/Authorizer.html b/7.x/docs/classes/Authorizer.html deleted file mode 100644 index 8b3bd73d8..000000000 --- a/7.x/docs/classes/Authorizer.html +++ /dev/null @@ -1,20 +0,0 @@ -Authorizer | Community Solid Server - v7.1.0

Class AuthorizerAbstract

Verifies whether the credentials provide access with the given permissions on the resource. -An Error with the necessary explanation will be thrown if permissions are not granted.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AuthorizingHttpHandler.html b/7.x/docs/classes/AuthorizingHttpHandler.html deleted file mode 100644 index 00e34beba..000000000 --- a/7.x/docs/classes/AuthorizingHttpHandler.html +++ /dev/null @@ -1,27 +0,0 @@ -AuthorizingHttpHandler | Community Solid Server - v7.1.0

Handles all the necessary steps for an authorization. -Errors if authorization fails, otherwise passes the parameter to the operationHandler handler. -The following steps are executed:

-
    -
  • Extracting credentials from the request.
  • -
  • Extracting the required permissions.
  • -
  • Reading the allowed permissions for the credentials.
  • -
  • Validating if this operation is allowed.
  • -
-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/AuxiliaryLinkMetadataWriter.html b/7.x/docs/classes/AuxiliaryLinkMetadataWriter.html deleted file mode 100644 index f15b7dc5b..000000000 --- a/7.x/docs/classes/AuxiliaryLinkMetadataWriter.html +++ /dev/null @@ -1,24 +0,0 @@ -AuxiliaryLinkMetadataWriter | Community Solid Server - v7.1.0

Class AuxiliaryLinkMetadataWriter

A MetadataWriter that takes a specific auxiliaryStrategy and relation type as input and -creates a Link header with the strategy identifier and the relation type as "rel" value.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/AuxiliaryReader.html b/7.x/docs/classes/AuxiliaryReader.html deleted file mode 100644 index 2cca5fedb..000000000 --- a/7.x/docs/classes/AuxiliaryReader.html +++ /dev/null @@ -1,20 +0,0 @@ -AuxiliaryReader | Community Solid Server - v7.1.0

Determines the permissions of auxiliary resources by finding those of the corresponding subject resources.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BadRequestHttpError.html b/7.x/docs/classes/BadRequestHttpError.html deleted file mode 100644 index 53935de24..000000000 --- a/7.x/docs/classes/BadRequestHttpError.html +++ /dev/null @@ -1,22 +0,0 @@ -BadRequestHttpError | Community Solid Server - v7.1.0

An error thrown when incoming data is not supported. -Probably because an AsyncHandler returns false on the canHandle call.

-

Hierarchy

  • BaseHttpError
    • BadRequestHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 400
isInstance: ((error: unknown) => error is HttpError<400>)

Checks whether the given error is an instance of this class.

-
statusCode: 400

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/Base64EncodingStorage.html b/7.x/docs/classes/Base64EncodingStorage.html deleted file mode 100644 index be50dc571..000000000 --- a/7.x/docs/classes/Base64EncodingStorage.html +++ /dev/null @@ -1,29 +0,0 @@ -Base64EncodingStorage | Community Solid Server - v7.1.0

Class Base64EncodingStorage<T>

Encodes the input key with base64 encoding, -to make sure there are no invalid or special path characters.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

source: KeyValueStorage<string, T>

Methods

diff --git a/7.x/docs/classes/BaseAccountIdRoute.html b/7.x/docs/classes/BaseAccountIdRoute.html deleted file mode 100644 index 259c1b888..000000000 --- a/7.x/docs/classes/BaseAccountIdRoute.html +++ /dev/null @@ -1,12 +0,0 @@ -BaseAccountIdRoute | Community Solid Server - v7.1.0

Implementation of an AccountIdRoute that adds the identifier relative to a base InteractionRoute.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

  • Returns the path that is the result of having the specified values for the dynamic parameters.

    -

    Will throw an error in case the input parameters object is missing one of the expected keys.

    -

    Parameters

    • Optionalparameters: Record<"accountId", string>

      Values for the dynamic parameters.

      -

    Returns string

  • Checks if the provided path matches the route (pattern).

    -

    The result will be undefined if there is no match.

    -

    If there is a match the result object will have the corresponding values for all the parameters.

    -

    Parameters

    • path: string

      The path to verify.

      -

    Returns undefined | Record<"accountId", string>

diff --git a/7.x/docs/classes/BaseAccountStore.html b/7.x/docs/classes/BaseAccountStore.html deleted file mode 100644 index aae33eaf8..000000000 --- a/7.x/docs/classes/BaseAccountStore.html +++ /dev/null @@ -1,33 +0,0 @@ -BaseAccountStore | Community Solid Server - v7.1.0

A AccountStore that uses an AccountLoginStorage to keep track of the accounts. -Needs to be initialized before it can be used.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Creates a new and empty account. -Since this account will not yet have a login method, -implementations should restrict what is possible with this account, -and should potentially have something in place to clean these accounts up if they are unused.

    -

    Returns Promise<string>

  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseChannelType.html b/7.x/docs/classes/BaseChannelType.html deleted file mode 100644 index 2eb20be42..000000000 --- a/7.x/docs/classes/BaseChannelType.html +++ /dev/null @@ -1,54 +0,0 @@ -BaseChannelType | Community Solid Server - v7.1.0

Class BaseChannelTypeAbstract

A NotificationChannelType that handles the base case of parsing and serializing a notification channel. -Note that the extractModes call always requires Read permissions on the target resource.

-

Uses SHACL to validate the incoming data in initChannel. -Classes extending this can pass extra SHACL properties in the constructor to extend the validation check.

-

The completeChannel implementation is an empty function.

-

Hierarchy (view full)

Implements

Constructors

  • Parameters

    • type: NamedNode<string>

      The URI of the notification channel type. -This will be added to the SHACL shape to validate incoming subscription data.

      -
    • route: InteractionRoute<never>

      The route corresponding to the URL of the subscription service of this channel type. -Channel identifiers will be generated by appending a value to this URL.

      -
    • features: string[] = DEFAULT_NOTIFICATION_FEATURES

      The features that should be enabled for this channel type. -Values are expected to be full URIs, but the notify: prefix can also be used.

      -
    • additionalShaclProperties: unknown[] = []

      Any additional properties that need to be added to the default SHACL shape.

      -

    Returns BaseChannelType

Properties

features: NamedNode<string>[]
path: string
shacl: unknown
shaclQuads?: Store<Quad, Quad, Quad, Quad>
type: NamedNode<string>

Methods

  • Returns an N3.js Store containing quads corresponding to the stored SHACL representation. -Caches this result so the conversion from JSON-LD to quads only has to happen once.

    -

    Returns Promise<Store<Quad, Quad, Quad, Quad>>

  • Converts a set of quads to a NotificationChannel. -Assumes the data is valid, so this should be called after validateSubscription.

    -

    The generated identifier will be a URL made by combining the base URL of the channel type with a unique identifier.

    -

    The values of the default features will be added to the resulting channel, -subclasses with additional features that need to be added are responsible for parsing those quads.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Data to convert.

      -
    • subject: Term

      The identifier of the notification channel description in the dataset.

      -

    Returns Promise<NotificationChannel>

    The generated NotificationChannel.

    -
  • Validates whether the given data conforms to the stored SHACL shape. -Will throw an UnprocessableEntityHttpError if validation fails. -Along with the SHACL check, this also makes sure there is only one matching entry in the dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      The data to validate.

      -

    Returns Promise<Term>

    The focus node that corresponds to the subject of the found notification channel description.

    -
diff --git a/7.x/docs/classes/BaseClientCredentialsIdRoute.html b/7.x/docs/classes/BaseClientCredentialsIdRoute.html deleted file mode 100644 index 3218690ca..000000000 --- a/7.x/docs/classes/BaseClientCredentialsIdRoute.html +++ /dev/null @@ -1,13 +0,0 @@ -BaseClientCredentialsIdRoute | Community Solid Server - v7.1.0

Class BaseClientCredentialsIdRoute

Implementation of an ClientCredentialsIdRoute -that adds the identifier relative to a base AccountIdRoute.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Returns the path that is the result of having the specified values for the dynamic parameters.

    -

    Will throw an error in case the input parameters object is missing one of the expected keys.

    -

    Parameters

    • Optionalparameters: Record<"accountId" | "clientCredentialsId", string>

      Values for the dynamic parameters.

      -

    Returns string

  • Checks if the provided path matches the route (pattern).

    -

    The result will be undefined if there is no match.

    -

    If there is a match the result object will have the corresponding values for all the parameters.

    -

    Parameters

    • path: string

      The path to verify.

      -

    Returns undefined | Record<"accountId" | "clientCredentialsId", string>

diff --git a/7.x/docs/classes/BaseClientCredentialsStore.html b/7.x/docs/classes/BaseClientCredentialsStore.html deleted file mode 100644 index 11b749987..000000000 --- a/7.x/docs/classes/BaseClientCredentialsStore.html +++ /dev/null @@ -1,35 +0,0 @@ -BaseClientCredentialsStore | Community Solid Server - v7.1.0

Class BaseClientCredentialsStore

A ClientCredentialsStore that uses a AccountLoginStorage for storing the tokens. -Needs to be initialized before it can be used.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseComponentsJsFactory.html b/7.x/docs/classes/BaseComponentsJsFactory.html deleted file mode 100644 index 93088533a..000000000 --- a/7.x/docs/classes/BaseComponentsJsFactory.html +++ /dev/null @@ -1,12 +0,0 @@ -BaseComponentsJsFactory | Community Solid Server - v7.1.0

Can be used to instantiate objects using Components.js. -Default main module path is the root folder of the project. -For every generate call a new manager will be made, -but moduleState will be stored in between calls.

-

Implements

Constructors

Methods

Constructors

Methods

  • Calls Components.js to instantiate a new object.

    -

    Type Parameters

    • T

    Parameters

    • configPath: string

      Location of the config to instantiate.

      -
    • componentIri: string

      Iri of the object in the config that will be the result.

      -
    • variables: Record<string, unknown>

      Variables to send to Components.js

      -

    Returns Promise<T>

    The resulting object, corresponding to the given component IRI.

    -
diff --git a/7.x/docs/classes/BaseCookieStore.html b/7.x/docs/classes/BaseCookieStore.html deleted file mode 100644 index 913721c23..000000000 --- a/7.x/docs/classes/BaseCookieStore.html +++ /dev/null @@ -1,19 +0,0 @@ -BaseCookieStore | Community Solid Server - v7.1.0

A CookieStore that uses an ExpiringStorage to keep track of the stored cookies. -Cookies have a specified time to live in seconds, default is 14 days, -after which they will be removed.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/BaseEmailSender.html b/7.x/docs/classes/BaseEmailSender.html deleted file mode 100644 index cf66e4d2d..000000000 --- a/7.x/docs/classes/BaseEmailSender.html +++ /dev/null @@ -1,19 +0,0 @@ -BaseEmailSender | Community Solid Server - v7.1.0

Sends e-mails using nodemailer.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: EmailArgs

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseFileIdentifierMapper.html b/7.x/docs/classes/BaseFileIdentifierMapper.html deleted file mode 100644 index 8b4ff3c74..000000000 --- a/7.x/docs/classes/BaseFileIdentifierMapper.html +++ /dev/null @@ -1,70 +0,0 @@ -BaseFileIdentifierMapper | Community Solid Server - v7.1.0

Base class for FileIdentifierMapper implementations.

-

Hierarchy (view full)

Implements

Constructors

Properties

baseRequestURI: string
logger: Logger = ...
rootFilepath: string
unknownMediaTypeExtension: "unknown" = 'unknown'

Methods

  • Maps the given container path to a URL and determines its content type.

    -

    Parameters

    • relative: string

      The relative container path.

      -

    Returns Promise<string>

    A ResourceLink with all the necessary metadata.

    -
  • Determines the content type from the relative path.

    -

    Parameters

    • filePath: string

      The file path of the document.

      -

    Returns Promise<string>

    The content type of the document.

    -
  • Determines the content type from the document identifier.

    -

    Parameters

    • identifier: ResourceIdentifier

      The input identifier.

      -
    • OptionalcontentType: string

      The content-type provided with the request.

      -

    Returns Promise<string>

    The content type of the document.

    -
  • Maps the given document path to a URL and determines its content type.

    -

    Parameters

    • relative: string

      The relative document path.

      -

    Returns Promise<string>

    A ResourceLink with all the necessary metadata.

    -
  • Maps the given document identifier to a file path, -possibly making alterations to the direct translation -(for instance, based on its content type)). -Determines the content type if none was provided.

    -

    Parameters

    • identifier: ResourceIdentifier

      The input identifier.

      -
    • filePath: string

      The direct translation of the identifier onto the file path.

      -
    • OptionalcontentType: string

      The content-type provided with the request.

      -

    Returns Promise<ResourceLink>

    A ResourceLink with all the necessary metadata.

    -
diff --git a/7.x/docs/classes/BaseForgotPasswordStore.html b/7.x/docs/classes/BaseForgotPasswordStore.html deleted file mode 100644 index 10bf64d9b..000000000 --- a/7.x/docs/classes/BaseForgotPasswordStore.html +++ /dev/null @@ -1,16 +0,0 @@ -BaseForgotPasswordStore | Community Solid Server - v7.1.0

A ForgotPasswordStore using an ExpiringStorage to hold the necessary records.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/BaseIdentifierStrategy.html b/7.x/docs/classes/BaseIdentifierStrategy.html deleted file mode 100644 index 6355cb031..000000000 --- a/7.x/docs/classes/BaseIdentifierStrategy.html +++ /dev/null @@ -1,24 +0,0 @@ -BaseIdentifierStrategy | Community Solid Server - v7.1.0

Class BaseIdentifierStrategyAbstract

Provides a default implementation for getParentContainer -which checks if the identifier is supported and not a root container. -If not, the last part before the first relevant slash will be removed to find the parent.

-

Provides a default implementation for contains -which does standard slash-semantics based string comparison.

-

Hierarchy (view full)

Implements

Constructors

Methods

diff --git a/7.x/docs/classes/BaseLogger.html b/7.x/docs/classes/BaseLogger.html deleted file mode 100644 index 78e0f3a71..000000000 --- a/7.x/docs/classes/BaseLogger.html +++ /dev/null @@ -1,28 +0,0 @@ -BaseLogger | Community Solid Server - v7.1.0

Class BaseLoggerAbstract

Base class that implements all additional BaseLogger methods, -leaving only the implementation of SimpleLogger.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

  • Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

    -

    Parameters

    • level:
          | "error"
          | "warn"
          | "info"
          | "verbose"
          | "debug"
          | "silly"

      The level to log at.

      -
    • message: string

      The message to log.

      -
    • Optionalmeta: LogMetadata

      Optional metadata to include in the log message.

      -

    Returns Logger

diff --git a/7.x/docs/classes/BaseLoginAccountStorage.html b/7.x/docs/classes/BaseLoginAccountStorage.html deleted file mode 100644 index 85ded8f2f..000000000 --- a/7.x/docs/classes/BaseLoginAccountStorage.html +++ /dev/null @@ -1,78 +0,0 @@ -BaseLoginAccountStorage | Community Solid Server - v7.1.0

Class BaseLoginAccountStorage<T>

A LoginStorage that wraps around another IndexedStorage to add specific account requirements.

-
    -
  • New accounts will be removed after expiration time, in seconds, default is 1800, -if no login method was added to them in that time.
  • -
  • Non-login types can not be created until the associated account has at least 1 login method.
  • -
  • Login types can not be deleted if they are the last login of the associated account.
  • -
-

All of this is tracked by adding a new field to the account object, -that keeps track of how many login objects are associated with the account.

-

Type Parameters

Implements

Constructors

Properties

accountKeys: Dict<string>
loginTypes: string[]
storage: IndexedStorage<T>

Methods

  • Makes sure of the operation, adding or removing an object of the given type, -is allowed, based on the current amount of login methods on the given account.

    -

    Parameters

    • type: string
    • accountId: string
    • add: boolean

    Returns Promise<void>

  • Finds all objects matching a specific IndexedQuery.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of objects to find.

      -
    • query: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }

      The query to execute.

      -

    Returns Promise<TypeObject<T[TType]>[]>

    A list of objects matching the query.

    -
  • Similar to IndexedStorage.find, but only returns the identifiers of the found objects.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of objects to find.

      -
    • query: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }

      The query to execute.

      -

    Returns Promise<string[]>

    A list of identifiers of the matching objects.

    -
diff --git a/7.x/docs/classes/BasePasswordIdRoute.html b/7.x/docs/classes/BasePasswordIdRoute.html deleted file mode 100644 index b0b80e3f2..000000000 --- a/7.x/docs/classes/BasePasswordIdRoute.html +++ /dev/null @@ -1,12 +0,0 @@ -BasePasswordIdRoute | Community Solid Server - v7.1.0

Implementation of an PasswordIdRoute that adds the identifier relative to a base AccountIdRoute.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Returns the path that is the result of having the specified values for the dynamic parameters.

    -

    Will throw an error in case the input parameters object is missing one of the expected keys.

    -

    Parameters

    • Optionalparameters: Record<"accountId" | "passwordId", string>

      Values for the dynamic parameters.

      -

    Returns string

  • Checks if the provided path matches the route (pattern).

    -

    The result will be undefined if there is no match.

    -

    If there is a match the result object will have the corresponding values for all the parameters.

    -

    Parameters

    • path: string

      The path to verify.

      -

    Returns undefined | Record<"accountId" | "passwordId", string>

diff --git a/7.x/docs/classes/BasePasswordStore.html b/7.x/docs/classes/BasePasswordStore.html deleted file mode 100644 index b11800862..000000000 --- a/7.x/docs/classes/BasePasswordStore.html +++ /dev/null @@ -1,52 +0,0 @@ -BasePasswordStore | Community Solid Server - v7.1.0

A PasswordStore that uses a KeyValueStorage to store the entries. -Passwords are hashed and salted. -Default saltRounds is 10.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Authenticate if the email and password are correct and return the account and login ID if they are. -Throw an error if they are not.

    -

    Parameters

    • email: string

      The user's email.

      -
    • password: string

      This user's password.

      -

    Returns Promise<{
        accountId: string;
        id: string;
    }>

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BasePodCreator.html b/7.x/docs/classes/BasePodCreator.html deleted file mode 100644 index c29592814..000000000 --- a/7.x/docs/classes/BasePodCreator.html +++ /dev/null @@ -1,33 +0,0 @@ -BasePodCreator | Community Solid Server - v7.1.0

Handles the creation of pods. -Will call the stored PodStore with the provided settings.

-

Hierarchy (view full)

Constructors

Properties

baseUrl: string
identifierGenerator: IdentifierGenerator
logger: Logger = ...
podStore: PodStore
relativeWebIdPath: string
webIdStore: WebIdStore

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Creates a pod with the given settings. -In case pod creation fails, the given WebID link will be removed, if there is one, before throwing an error.

    -

    Parameters

    • accountId: string
    • settings: PodSettings
    • overwrite: boolean
    • OptionalwebIdLink: string

    Returns Promise<string>

  • Links the WebID to the account if linkWebId is true. -Also updates the oidcIssuer value in the settings object in that case.

    -

    Parameters

    • linkWebId: boolean
    • webId: string
    • accountId: string
    • settings: PodSettings

    Returns Promise<undefined | string>

diff --git a/7.x/docs/classes/BasePodIdRoute.html b/7.x/docs/classes/BasePodIdRoute.html deleted file mode 100644 index b6c3749fa..000000000 --- a/7.x/docs/classes/BasePodIdRoute.html +++ /dev/null @@ -1,12 +0,0 @@ -BasePodIdRoute | Community Solid Server - v7.1.0

Implementation of an PodIdRoute that adds the identifier relative to a base AccountIdRoute.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Returns the path that is the result of having the specified values for the dynamic parameters.

    -

    Will throw an error in case the input parameters object is missing one of the expected keys.

    -

    Parameters

    • Optionalparameters: Record<"accountId" | "podId", string>

      Values for the dynamic parameters.

      -

    Returns string

  • Checks if the provided path matches the route (pattern).

    -

    The result will be undefined if there is no match.

    -

    If there is a match the result object will have the corresponding values for all the parameters.

    -

    Parameters

    • path: string

      The path to verify.

      -

    Returns undefined | Record<"accountId" | "podId", string>

diff --git a/7.x/docs/classes/BasePodStore.html b/7.x/docs/classes/BasePodStore.html deleted file mode 100644 index 4a9e2985e..000000000 --- a/7.x/docs/classes/BasePodStore.html +++ /dev/null @@ -1,54 +0,0 @@ -BasePodStore | Community Solid Server - v7.1.0

A PodStore implementation using a PodManager to create pods -and a AccountLoginStorage to store the data. -Needs to be initialized before it can be used.

-

Adds the initial WebID as the owner of the pod. -By default, this owner is not exposed through a link header. -This can be changed by setting the constructor visible parameter to true.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Creates a new pod and updates the account accordingly.

    -

    Parameters

    • accountId: string

      Identifier of the account that is creating the account.

      -
    • settings: PodSettings

      Settings to create a pod with.

      -
    • overwrite: boolean

      If the pod is allowed to overwrite existing data.

      -

    Returns Promise<string>

    The ID of the new pod resource.

    -
  • Find the ID of the account that created the given pod.

    -

    Parameters

    • baseUrl: string

      The pod base URL.

      -

    Returns Promise<undefined | {
        accountId: string;
        id: string;
    }>

  • Find all the pod resources created by the given account ID.

    -

    Parameters

    • accountId: string

      Account ID to find pod resources for.

      -

    Returns Promise<{
        baseUrl: string;
        id: string;
    }[]>

  • Returns the baseURl and account that created the pod for the given pod ID.

    -

    Parameters

    • id: string

      ID of the pod.

      -

    Returns Promise<undefined | {
        accountId: string;
        baseUrl: string;
    }>

  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Add or update an owner of a pod. -In case there already is an owner with this WebID, it will be updated, -otherwise a new owner will be added.

    -

    Parameters

    • id: string

      ID of the pod.

      -
    • webId: string

      WebID of the owner.

      -
    • visible: boolean

      Whether the owner wants to be exposed or not.

      -

    Returns Promise<void>

diff --git a/7.x/docs/classes/BaseReadWriteLocker.html b/7.x/docs/classes/BaseReadWriteLocker.html deleted file mode 100644 index 1d32d8b9c..000000000 --- a/7.x/docs/classes/BaseReadWriteLocker.html +++ /dev/null @@ -1,46 +0,0 @@ -BaseReadWriteLocker | Community Solid Server - v7.1.0

Class BaseReadWriteLockerAbstract

A ReadWriteLocker that allows for multiple simultaneous read operations. -Write operations will be blocked as long as read operations are not finished. -New read operations are allowed while this is going on, which will cause write operations to wait longer.

-

Based on https://en.wikipedia.org/wiki/Readers–writer_lock#Using_two_mutexes . -As soon as 1 read lock request is made, the main lock is locked. -Internally a counter keeps track of the amount of active read locks. -Only when this number reaches 0 will the main lock be released again. -The internal count lock is only locked to increase/decrease this counter and is released afterwards. -This allows for multiple read operations, although only 1 at the time can update the counter, -which means there can still be a small waiting period if there are multiple simultaneous read operations.

-

Classes extending this need to implement getCountLockIdentifier and modifyCount.

-

Hierarchy (view full)

Constructors

Properties

countLocker: ResourceLocker

Methods

  • Generate the identifier that will be used to acquire the count lock for the given identifier. -There will be cases where this lock needs to be acquired -while an active lock on the main resource is still being maintained. -This means that if the input resourceLocker and countLocker use the same locking system -this generated identifier needs to be different.

    -

    Parameters

    Returns ResourceIdentifier

diff --git a/7.x/docs/classes/BaseResourceStore.html b/7.x/docs/classes/BaseResourceStore.html deleted file mode 100644 index 9334dc77b..000000000 --- a/7.x/docs/classes/BaseResourceStore.html +++ /dev/null @@ -1,38 +0,0 @@ -BaseResourceStore | Community Solid Server - v7.1.0

Base implementation of ResourceStore for implementers of custom stores.

-

Implements

Constructors

Methods

diff --git a/7.x/docs/classes/BaseResourcesGenerator.html b/7.x/docs/classes/BaseResourcesGenerator.html deleted file mode 100644 index 3b4707b50..000000000 --- a/7.x/docs/classes/BaseResourcesGenerator.html +++ /dev/null @@ -1,19 +0,0 @@ -BaseResourcesGenerator | Community Solid Server - v7.1.0

Generates resources by making use of a template engine. -The template folder structure will be kept. -Folders will be interpreted as containers and files as documents. -A FileIdentifierMapper will be used to generate identifiers that correspond to the relative structure.

-

Metadata resources will be yielded separately from their subject resource.

-

A relative templateFolder is resolved relative to cwd, -unless it's preceded by @css:, e.g. @css:foo/bar.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Generates resources with the given options, based on the given template folder. -The output Iterable should be sorted so that containers always appear before their contents.

    -

    Parameters

    • templateFolder: string

      Folder where the templates are located.

      -
    • location: ResourceIdentifier

      Base identifier.

      -
    • options: Dict<unknown>

      Options that can be used when generating resources.

      -

    Returns AsyncIterable<Resource>

    A map where the keys are the identifiers and the values the corresponding representations to store.

    -
diff --git a/7.x/docs/classes/BaseRouterHandler.html b/7.x/docs/classes/BaseRouterHandler.html deleted file mode 100644 index ba4652e71..000000000 --- a/7.x/docs/classes/BaseRouterHandler.html +++ /dev/null @@ -1,27 +0,0 @@ -BaseRouterHandler | Community Solid Server - v7.1.0

Class BaseRouterHandler<T>Abstract

Checks if a given method and path are satisfied and allows its handler to be executed if so.

-

Implementations of this class should call canHandleInput in their canHandle call with the correct parameters.

-

canHandleInput expects a ResourceIdentifier to indicate it expects the target to have been validated already.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

allMethods: boolean
allowedMethods: string[]
allowedPathNamesRegEx: RegExp[]
baseUrlLength: number
handler: T

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseServerFactory.html b/7.x/docs/classes/BaseServerFactory.html deleted file mode 100644 index f73a6defb..000000000 --- a/7.x/docs/classes/BaseServerFactory.html +++ /dev/null @@ -1,8 +0,0 @@ -BaseServerFactory | Community Solid Server - v7.1.0

Creates an HTTP(S) server native Node.js http/https modules.

-

Will apply a ServerConfigurator to the server, -which should be used to attach listeners.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/BaseStateHandler.html b/7.x/docs/classes/BaseStateHandler.html deleted file mode 100644 index 638937702..000000000 --- a/7.x/docs/classes/BaseStateHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -BaseStateHandler | Community Solid Server - v7.1.0

Handles the state feature by calling a NotificationHandler -in case the NotificationChannel has a state value.

-

Deletes the state parameter from the channel afterwards.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/BaseTypedRepresentationConverter.html b/7.x/docs/classes/BaseTypedRepresentationConverter.html deleted file mode 100644 index 821d120a1..000000000 --- a/7.x/docs/classes/BaseTypedRepresentationConverter.html +++ /dev/null @@ -1,31 +0,0 @@ -BaseTypedRepresentationConverter | Community Solid Server - v7.1.0

Class BaseTypedRepresentationConverterAbstract

A base TypedRepresentationConverter implementation for converters -that can convert from all its input types to all its output types.

-

This base class handles the canHandle call by comparing the input content type to the stored input types -and the output preferences to the stored output types.

-

Output weights are determined by multiplying all stored output weights with the weight of the input type.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/BaseUrlExtractor.html b/7.x/docs/classes/BaseUrlExtractor.html deleted file mode 100644 index 049bf2ef6..000000000 --- a/7.x/docs/classes/BaseUrlExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -BaseUrlExtractor | Community Solid Server - v7.1.0

A ShorthandExtractor that that generates the base URL based on the input baseUrl value, -or by using the port if the first isn't provided.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<unknown>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseUrlHandler.html b/7.x/docs/classes/BaseUrlHandler.html deleted file mode 100644 index ae6e73017..000000000 --- a/7.x/docs/classes/BaseUrlHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -BaseUrlHandler | Community Solid Server - v7.1.0

Adds the pod identifier as base url variable to the agent. -This allows for config templates that require a value for TEMPLATE_BASE_URL_URN, -which should equal the pod identifier.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/BaseUrlRouterRule.html b/7.x/docs/classes/BaseUrlRouterRule.html deleted file mode 100644 index 52b5169be..000000000 --- a/7.x/docs/classes/BaseUrlRouterRule.html +++ /dev/null @@ -1,24 +0,0 @@ -BaseUrlRouterRule | Community Solid Server - v7.1.0

Routes requests based on their base url. -Checks if any of the stored base URLs match the request identifier. -If there are no matches the base store will be returned if one was configured.

-

Part of the dynamic pod creation. -Uses the identifiers that were added to the routing storage.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/BaseUrlVerifier.html b/7.x/docs/classes/BaseUrlVerifier.html deleted file mode 100644 index 88fd5f90c..000000000 --- a/7.x/docs/classes/BaseUrlVerifier.html +++ /dev/null @@ -1,19 +0,0 @@ -BaseUrlVerifier | Community Solid Server - v7.1.0

Stores the baseUrl value that was used to start the server -and warns the user in case it differs from the previous one.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BaseWebIdLinkRoute.html b/7.x/docs/classes/BaseWebIdLinkRoute.html deleted file mode 100644 index 38b5c5176..000000000 --- a/7.x/docs/classes/BaseWebIdLinkRoute.html +++ /dev/null @@ -1,12 +0,0 @@ -BaseWebIdLinkRoute | Community Solid Server - v7.1.0

Implementation of an WebIdLinkRoute that adds the identifier relative to a base AccountIdRoute.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Returns the path that is the result of having the specified values for the dynamic parameters.

    -

    Will throw an error in case the input parameters object is missing one of the expected keys.

    -

    Parameters

    • Optionalparameters: Record<"accountId" | "webIdLink", string>

      Values for the dynamic parameters.

      -

    Returns string

  • Checks if the provided path matches the route (pattern).

    -

    The result will be undefined if there is no match.

    -

    If there is a match the result object will have the corresponding values for all the parameters.

    -

    Parameters

    • path: string

      The path to verify.

      -

    Returns undefined | Record<"accountId" | "webIdLink", string>

diff --git a/7.x/docs/classes/BaseWebIdStore.html b/7.x/docs/classes/BaseWebIdStore.html deleted file mode 100644 index bb1494685..000000000 --- a/7.x/docs/classes/BaseWebIdStore.html +++ /dev/null @@ -1,35 +0,0 @@ -BaseWebIdStore | Community Solid Server - v7.1.0

A WebIdStore using a AccountLoginStorage to store the links. -Needs to be initialized before it can be used.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BasicConditions.html b/7.x/docs/classes/BasicConditions.html deleted file mode 100644 index c1bcad742..000000000 --- a/7.x/docs/classes/BasicConditions.html +++ /dev/null @@ -1,18 +0,0 @@ -BasicConditions | Community Solid Server - v7.1.0

Stores all the relevant Conditions values and matches them based on RFC7232.

-

Implements

Constructors

Properties

eTagHandler: ETagHandler
matchesETag?: string[]

Valid if matching any of the given ETags.

-
modifiedSince?: Date

Valid if modified since the given date.

-
notMatchesETag?: string[]

Valid if not matching any of the given ETags.

-
unmodifiedSince?: Date

Valid if not modified since the given date.

-

Methods

  • Checks validity based on the given metadata.

    -

    Parameters

    • Optionalmetadata: RepresentationMetadata

      Metadata of the representation. Undefined if the resource does not exist.

      -
    • Optionalstrict: boolean

      How to compare the ETag related headers. -If true, the comparison will happen on representation level. -If false, the comparison happens on resource level, ignoring the content-type.

      -

    Returns boolean

diff --git a/7.x/docs/classes/BasicConditionsParser.html b/7.x/docs/classes/BasicConditionsParser.html deleted file mode 100644 index 4c5e9556d..000000000 --- a/7.x/docs/classes/BasicConditionsParser.html +++ /dev/null @@ -1,27 +0,0 @@ -BasicConditionsParser | Community Solid Server - v7.1.0

Creates a Conditions object based on the following headers:

-
    -
  • If-Modified-Since
  • -
  • If-Unmodified-Since
  • -
  • If-Match
  • -
  • If-None-Match
  • -
-

Implementation based on RFC7232

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

eTagHandler: ETagHandler
logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BasicETagHandler.html b/7.x/docs/classes/BasicETagHandler.html deleted file mode 100644 index c193d3819..000000000 --- a/7.x/docs/classes/BasicETagHandler.html +++ /dev/null @@ -1,18 +0,0 @@ -BasicETagHandler | Community Solid Server - v7.1.0

Standard implementation of ETagHandler. -ETags are constructed by combining the last modified date with the content type of the representation.

-

Implements

Constructors

Methods

  • Validates whether the given metadata corresponds to the given ETag.

    -

    Parameters

    • metadata: RepresentationMetadata

      Metadata of the resource.

      -
    • eTag: string

      ETag to compare to.

      -
    • strict: boolean

      True if the comparison needs to be on representation level. -False if it is on resource level and the content-type doesn't matter.

      -

    Returns boolean

  • Validates whether 2 ETags correspond to the same state of a resource, -independent of the representation the ETags correspond to.

    -

    Parameters

    • eTag1: string

      First ETag to compare.

      -
    • eTag2: string

      Second ETag to compare.

      -

    Returns boolean

diff --git a/7.x/docs/classes/BasicRepresentation.html b/7.x/docs/classes/BasicRepresentation.html deleted file mode 100644 index 2a5922bf8..000000000 --- a/7.x/docs/classes/BasicRepresentation.html +++ /dev/null @@ -1,40 +0,0 @@ -BasicRepresentation | Community Solid Server - v7.1.0

Class with various constructors to facilitate creating a representation.

-

A representation consists of 1) data, 2) metadata, and 3) a binary flag -to indicate whether the data is a binary stream or an object stream.

-
    -
  1. The data can be given as a stream, array, or string.
  2. -
  3. The metadata can be specified as one or two parameters -that will be passed to the RepresentationMetadata constructor.
  4. -
  5. The binary field is optional, and if not specified, -is determined from the content type inside the metadata.
  6. -
-

Implements

Constructors

Properties

Accessors

Constructors

Properties

binary: boolean

Whether the data stream consists of binary/string chunks -(as opposed to complex objects).

-
data: Guarded<Readable>

The raw data stream for this representation.

-

The corresponding metadata.

-

Accessors

diff --git a/7.x/docs/classes/BasicRequestParser.html b/7.x/docs/classes/BasicRequestParser.html deleted file mode 100644 index df4a2ef04..000000000 --- a/7.x/docs/classes/BasicRequestParser.html +++ /dev/null @@ -1,20 +0,0 @@ -BasicRequestParser | Community Solid Server - v7.1.0

Creates an Operation from an incoming HttpRequest by aggregating the results -of a TargetExtractor, MetadataParser, -ConditionsParser and BodyParser.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BasicResponseWriter.html b/7.x/docs/classes/BasicResponseWriter.html deleted file mode 100644 index 1f9ad6905..000000000 --- a/7.x/docs/classes/BasicResponseWriter.html +++ /dev/null @@ -1,20 +0,0 @@ -BasicResponseWriter | Community Solid Server - v7.1.0

Writes to an HttpResponse based on the incoming ResponseDescription.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/BearerWebIdExtractor.html b/7.x/docs/classes/BearerWebIdExtractor.html deleted file mode 100644 index 597481dfa..000000000 --- a/7.x/docs/classes/BearerWebIdExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -BearerWebIdExtractor | Community Solid Server - v7.1.0

Responsible for extracting credentials from an incoming request.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BinarySliceResourceStore.html b/7.x/docs/classes/BinarySliceResourceStore.html deleted file mode 100644 index 8039dfdcb..000000000 --- a/7.x/docs/classes/BinarySliceResourceStore.html +++ /dev/null @@ -1,45 +0,0 @@ -BinarySliceResourceStore | Community Solid Server - v7.1.0

Class BinarySliceResourceStore<T>

Resource store that slices the data stream if there are range preferences. -Only works for bytes range preferences on binary data streams. -Does not support multipart range requests.

-

If the slice happens, unit/start/end values will be written to the metadata to indicate such. -The values are dependent on the preferences we got as an input, -as we don't know the actual size of the data stream.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...
source: T

Methods

diff --git a/7.x/docs/classes/BodyParser.html b/7.x/docs/classes/BodyParser.html deleted file mode 100644 index b767344e4..000000000 --- a/7.x/docs/classes/BodyParser.html +++ /dev/null @@ -1,19 +0,0 @@ -BodyParser | Community Solid Server - v7.1.0

Class BodyParserAbstract

Parses the body of an incoming HttpRequest and converts it to a Representation.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/BooleanHandler.html b/7.x/docs/classes/BooleanHandler.html deleted file mode 100644 index c2747c287..000000000 --- a/7.x/docs/classes/BooleanHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -BooleanHandler | Community Solid Server - v7.1.0

Class BooleanHandler<TIn>

A composite handler that returns true if any of its handlers can handle the input and return true. -Handler errors are interpreted as false results.

-

Type Parameters

  • TIn

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: TIn

      Input that needs to be handled.

      -

    Returns Promise<boolean>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: TIn

      Input data that will be handled if it can be handled.

      -

    Returns Promise<boolean>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/CachedHandler.html b/7.x/docs/classes/CachedHandler.html deleted file mode 100644 index 546022e57..000000000 --- a/7.x/docs/classes/CachedHandler.html +++ /dev/null @@ -1,34 +0,0 @@ -CachedHandler | Community Solid Server - v7.1.0

Class CachedHandler<TIn, TOut>

Caches output data from the source handler based on the input object. -The fields parameter can be used to instead use one or more specific entries from the input object as cache key, -so has as actual required typing (keyof TIn)[].

-

A WeakMap is used internally so strict object equality determines cache hits, -and data will be removed once the key stops existing. -This also means that the cache key needs to be an object. -Errors will be thrown in case a primitive is used.

-

Type Parameters

  • TIn extends Record<string, unknown>
  • TOut = void

Hierarchy (view full)

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Returns the WeakMap that contains actual objects that were cached, -so the last WeakMap in the chain of maps.

    -

    Returns undefined if no such map exists because earlier keys were not cached.

    -

    Will always return a map if ensure is set to true, -in such a case the intermediate maps will be created and added to the previous map.

    -

    Parameters

    • input: TIn
    • keys: object[]
    • cache: WeakMap<object, NestedMap<TOut>>
    • ensure: boolean = false

    Returns undefined | WeakMap<object, TOut>

  • Extracts the values that will be used as keys from the input object. -In case the fields value was undefined, this will return an array containing the input object itself.

    -

    Parameters

    Returns [object, ...object[]]

diff --git a/7.x/docs/classes/CachedJwkGenerator.html b/7.x/docs/classes/CachedJwkGenerator.html deleted file mode 100644 index c4c4b91d7..000000000 --- a/7.x/docs/classes/CachedJwkGenerator.html +++ /dev/null @@ -1,14 +0,0 @@ -CachedJwkGenerator | Community Solid Server - v7.1.0

Generates a key pair once and then caches it using both an internal variable and a KeyValueStorage. -The storage makes sure the keys remain the same between server restarts, -while the internal variable makes it so the storage doesn't have to be accessed every time a key is needed.

-

Only the private key is stored in the internal storage, using the storageKey parameter. -The public key is determined based on the private key and then also stored in memory.

-

Implements

Constructors

Properties

alg -

Methods

Constructors

Properties

alg: AsymmetricSigningAlgorithm

The algorithm used for the keys.

-

Methods

diff --git a/7.x/docs/classes/CachedResourceSet.html b/7.x/docs/classes/CachedResourceSet.html deleted file mode 100644 index e0ffe1235..000000000 --- a/7.x/docs/classes/CachedResourceSet.html +++ /dev/null @@ -1,7 +0,0 @@ -CachedResourceSet | Community Solid Server - v7.1.0

Caches resource existence in a WeakMap tied to the ResourceIdentifier object.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CancelOidcHandler.html b/7.x/docs/classes/CancelOidcHandler.html deleted file mode 100644 index c3d78abcf..000000000 --- a/7.x/docs/classes/CancelOidcHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -CancelOidcHandler | Community Solid Server - v7.1.0

Cancel an active OIDC interaction.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ChainedConverter.html b/7.x/docs/classes/ChainedConverter.html deleted file mode 100644 index 5069ad035..000000000 --- a/7.x/docs/classes/ChainedConverter.html +++ /dev/null @@ -1,38 +0,0 @@ -ChainedConverter | Community Solid Server - v7.1.0

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 one with the highest weight gets found. -Will error in case no path can be found.

-

This is not a TypedRepresentationConverter since the supported output types -might depend on what is the input content-type.

-

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.

-

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.

-
    -
  • The algorithm could start on both ends of a possible path and work towards the middle.
  • -
  • When creating a path, store the list of unused converters instead of checking every step.
  • -
  • Caching: https://github.com/CommunitySolidServer/CommunitySolidServer/issues/832
  • -
  • Making sure each intermediate type is only used once.
  • -
  • The TypedRepresentationConverter interface could potentially be updated -so paths only differing in intermediate types can be combined.
  • -
-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ChainedTemplateEngine.html b/7.x/docs/classes/ChainedTemplateEngine.html deleted file mode 100644 index c12d5429a..000000000 --- a/7.x/docs/classes/ChainedTemplateEngine.html +++ /dev/null @@ -1,25 +0,0 @@ -ChainedTemplateEngine | Community Solid Server - v7.1.0

Class ChainedTemplateEngine<T>

Calls the given array of TemplateEngines in the order they appear, -feeding the output of one into the input of the next.

-

The first engine will be called with the provided contents and template parameters. -All subsequent engines will be called with no template parameter. -Contents will still be passed along and another entry will be added for the body of the previous output.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CliExtractor.html b/7.x/docs/classes/CliExtractor.html deleted file mode 100644 index 02be6ff15..000000000 --- a/7.x/docs/classes/CliExtractor.html +++ /dev/null @@ -1,30 +0,0 @@ -CliExtractor | Community Solid Server - v7.1.0

Class CliExtractorAbstract

Converts the input CLI arguments into an easily parseable key/value object.

-

Due to how the application is built, there are certain CLI parameters -that need to be parsed before this class can be instantiated. -These can be ignored by this class as they will have been handled before it is called, -but that does mean that this class should not error if they are present, -e.g., by being strict throwing an error on these unexpected parameters.

-

In case strict mode is preferred, the following should be added to the list of known parameters:

-
    -
  • -c / --config
  • -
  • -m / --mainModulePath
  • -
  • -l / --loggingLevel
  • -
-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: CliArgv

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: CliArgv

      Input that needs to be handled.

      -

    Returns Promise<Shorthand>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: CliArgv

      Input data that will be handled if it can be handled.

      -

    Returns Promise<Shorthand>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/CliResolver.html b/7.x/docs/classes/CliResolver.html deleted file mode 100644 index 6e5e49580..000000000 --- a/7.x/docs/classes/CliResolver.html +++ /dev/null @@ -1,6 +0,0 @@ -CliResolver | Community Solid Server - v7.1.0

A class that combines a CliExtractor and a ShorthandResolver. -Mainly exists so both such classes can be generated in a single Components.js instance.

-

Constructors

Properties

Constructors

Properties

cliExtractor: CliExtractor
shorthandResolver: ShorthandResolver
diff --git a/7.x/docs/classes/ClientCredentialsAdapter.html b/7.x/docs/classes/ClientCredentialsAdapter.html deleted file mode 100644 index 96ce6b10c..000000000 --- a/7.x/docs/classes/ClientCredentialsAdapter.html +++ /dev/null @@ -1,15 +0,0 @@ -ClientCredentialsAdapter | Community Solid Server - v7.1.0

A PassthroughAdapter that overrides the find function -by checking if there are stored client credentials for the given ID -if no payload is found in the source.

-

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...
name: string
source: Adapter

Methods

diff --git a/7.x/docs/classes/ClientCredentialsAdapterFactory.html b/7.x/docs/classes/ClientCredentialsAdapterFactory.html deleted file mode 100644 index c6a0b22d3..000000000 --- a/7.x/docs/classes/ClientCredentialsAdapterFactory.html +++ /dev/null @@ -1,8 +0,0 @@ -ClientCredentialsAdapterFactory | Community Solid Server - v7.1.0

Class ClientCredentialsAdapterFactory

A factory that generates an Adapter to be used by the IDP to persist information.

-

The oidc-provider library will call the relevant functions when it needs to find/create/delete metadata. -For a full explanation of how these functions work and what is expected, -have a look at https://github.com/panva/node-oidc-provider/blob/main/example/my_adapter.js

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/ClientCredentialsDetailsHandler.html b/7.x/docs/classes/ClientCredentialsDetailsHandler.html deleted file mode 100644 index e9ec5f4cb..000000000 --- a/7.x/docs/classes/ClientCredentialsDetailsHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -ClientCredentialsDetailsHandler | Community Solid Server - v7.1.0

Class ClientCredentialsDetailsHandler

Provides a view on a client credentials token, indicating the token identifier and its associated WebID.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ClientIdAdapter.html b/7.x/docs/classes/ClientIdAdapter.html deleted file mode 100644 index a48e9f58e..000000000 --- a/7.x/docs/classes/ClientIdAdapter.html +++ /dev/null @@ -1,17 +0,0 @@ -ClientIdAdapter | Community Solid Server - v7.1.0

This Adapter redirects the find call to its source adapter. -In case no client data was found in the source for the given Client ID, -this class will do an HTTP GET request to that Client ID. -If the result is a valid Client ID document, that will be returned instead.

-

See https://solidproject.org/TR/2022/oidc-20220328#clientids-document.

-

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...
name: string
source: Adapter

Methods

diff --git a/7.x/docs/classes/ClientIdAdapterFactory.html b/7.x/docs/classes/ClientIdAdapterFactory.html deleted file mode 100644 index 94a849cb5..000000000 --- a/7.x/docs/classes/ClientIdAdapterFactory.html +++ /dev/null @@ -1,8 +0,0 @@ -ClientIdAdapterFactory | Community Solid Server - v7.1.0

A factory that generates an Adapter to be used by the IDP to persist information.

-

The oidc-provider library will call the relevant functions when it needs to find/create/delete metadata. -For a full explanation of how these functions work and what is expected, -have a look at https://github.com/panva/node-oidc-provider/blob/main/example/my_adapter.js

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/ClientInfoHandler.html b/7.x/docs/classes/ClientInfoHandler.html deleted file mode 100644 index 0cf5aca90..000000000 --- a/7.x/docs/classes/ClientInfoHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -ClientInfoHandler | Community Solid Server - v7.1.0

Returns a JSON representation with metadata of the client that is requesting the OIDC interaction.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ClusterManager.html b/7.x/docs/classes/ClusterManager.html deleted file mode 100644 index f94fb91b0..000000000 --- a/7.x/docs/classes/ClusterManager.html +++ /dev/null @@ -1,46 +0,0 @@ -ClusterManager | Community Solid Server - v7.1.0

This class is responsible for deciding how many affective workers are needed. -It also contains the logic for respawning workers when they are killed by the os.

-

The workers values are interpreted as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
valueactual workers
-mnum_cores - m workers (autoscale) (m < num_cores)
-1num_cores - 1 workers (autoscale)
0num_cores workers (autoscale)
1single threaded mode (default)
nn workers
-

Constructors

Methods

diff --git a/7.x/docs/classes/CombinedShorthandResolver.html b/7.x/docs/classes/CombinedShorthandResolver.html deleted file mode 100644 index 06f5f1724..000000000 --- a/7.x/docs/classes/CombinedShorthandResolver.html +++ /dev/null @@ -1,20 +0,0 @@ -CombinedShorthandResolver | Community Solid Server - v7.1.0

Generates variable values by running a set of ShorthandExtractors on the input.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

resolvers: Record<string, ShorthandExtractor>

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<VariableBindings>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ComposedAuxiliaryStrategy.html b/7.x/docs/classes/ComposedAuxiliaryStrategy.html deleted file mode 100644 index 7d7521a21..000000000 --- a/7.x/docs/classes/ComposedAuxiliaryStrategy.html +++ /dev/null @@ -1,47 +0,0 @@ -ComposedAuxiliaryStrategy | Community Solid Server - v7.1.0

An AuxiliaryStrategy that provides its functionality through the combination of -an AuxiliaryIdentifierStrategy, MetadataGenerator and Validator.

-

Implements

Constructors

Methods

  • Adds metadata related to this auxiliary resource, -in case this is required for this type of auxiliary resource. -The metadata that is added depends on the given identifier being an auxiliary or subject resource: -the metadata will be used to link to the other one, and potentially add extra typing info.

    -

    Used for: -Solid, §4.3.1: "For any defined auxiliary resource available for a given Solid resource, all representations of -that resource MUST include an HTTP Link header pointing to the location of each auxiliary resource." -https://solid.github.io/specification/protocol#auxiliary-resources-server

    -

    The above is an example of how that metadata would only be added in case the input is the subject identifier.

    -

    Parameters

    Returns Promise<void>

diff --git a/7.x/docs/classes/ComposedNotificationHandler.html b/7.x/docs/classes/ComposedNotificationHandler.html deleted file mode 100644 index 149989618..000000000 --- a/7.x/docs/classes/ComposedNotificationHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -ComposedNotificationHandler | Community Solid Server - v7.1.0

Class ComposedNotificationHandler

Generates, serializes and emits a Notification using a NotificationGenerator, -NotificationSerializer and NotificationEmitter.

-

Will not emit an event when it has the same state as the notification channel.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConditionalHandler.html b/7.x/docs/classes/ConditionalHandler.html deleted file mode 100644 index 3e765d1d6..000000000 --- a/7.x/docs/classes/ConditionalHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -ConditionalHandler | Community Solid Server - v7.1.0

Class ConditionalHandler<TIn, TOut>

This handler will pass all requests to the wrapped handler, -until a specific value has been set in the given storage. -After that all input will be rejected. -Once the value has been matched this behaviour will be cached, -so changing the value again afterwards will not enable this handler again.

-

If handleStorage is set to true, -this handler will set the value itself in the given storage after the source handler successfully resolved.

-

Type Parameters

  • TIn
  • TOut

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ConditionsParser.html b/7.x/docs/classes/ConditionsParser.html deleted file mode 100644 index a030c1bf7..000000000 --- a/7.x/docs/classes/ConditionsParser.html +++ /dev/null @@ -1,19 +0,0 @@ -ConditionsParser | Community Solid Server - v7.1.0

Class ConditionsParserAbstract

Creates a Conditions object based on the input HttpRequest.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ConfigPodInitializer.html b/7.x/docs/classes/ConfigPodInitializer.html deleted file mode 100644 index 9fc8449ff..000000000 --- a/7.x/docs/classes/ConfigPodInitializer.html +++ /dev/null @@ -1,26 +0,0 @@ -ConfigPodInitializer | Community Solid Server - v7.1.0

Initializes all pods that have been stored and loads them in memory. -This reads the pod settings from a permanent storage and uses those -to create the corresponding ResourceStores in memory, -so this is required every time the server starts.

-

Part of the dynamic pod creation. -Reads the contents from the configuration storage, uses those values to instantiate ResourceStores, -and then adds them to the routing storage.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ConfigPodManager.html b/7.x/docs/classes/ConfigPodManager.html deleted file mode 100644 index 158186df1..000000000 --- a/7.x/docs/classes/ConfigPodManager.html +++ /dev/null @@ -1,19 +0,0 @@ -ConfigPodManager | Community Solid Server - v7.1.0

Pod manager that creates a store for the pod with a PodGenerator -and fills it with resources from a ResourcesGenerator.

-

Part of the dynamic pod creation.

-
    -
  1. Calls a PodGenerator to instantiate a new resource store for the pod.
  2. -
  3. Generates the pod resources based on the templates as usual.
  4. -
  5. Adds the created pod to the routing storage, which is used for linking pod identifiers to their resource stores.
  6. -
-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ConflictHttpError.html b/7.x/docs/classes/ConflictHttpError.html deleted file mode 100644 index a5b92a949..000000000 --- a/7.x/docs/classes/ConflictHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -ConflictHttpError | Community Solid Server - v7.1.0

An error thrown when a request conflict with current state of the server.

-

Hierarchy

  • BaseHttpError
    • ConflictHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 409
isInstance: ((error: unknown) => error is HttpError<409>)

Checks whether the given error is an instance of this class.

-
statusCode: 409

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/ConsentHandler.html b/7.x/docs/classes/ConsentHandler.html deleted file mode 100644 index e591381f0..000000000 --- a/7.x/docs/classes/ConsentHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -ConsentHandler | Community Solid Server - v7.1.0

Handles the OIDC consent prompts where the user confirms they want to log in for the given client.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConstantConverter.html b/7.x/docs/classes/ConstantConverter.html deleted file mode 100644 index cf945f166..000000000 --- a/7.x/docs/classes/ConstantConverter.html +++ /dev/null @@ -1,29 +0,0 @@ -ConstantConverter | Community Solid Server - v7.1.0

A RepresentationConverter that ensures -a representation for a certain content type is available.

-

Representations of the same content type are served as is; -others are replaced by a constant document.

-

This can for example be used to serve an index.html file, -which could then interactively load another representation.

-

Options default to the most permissive values when not defined.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConstantMetadataWriter.html b/7.x/docs/classes/ConstantMetadataWriter.html deleted file mode 100644 index d0940d81a..000000000 --- a/7.x/docs/classes/ConstantMetadataWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -ConstantMetadataWriter | Community Solid Server - v7.1.0

A MetadataWriter that takes a constant map of header names and values.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ContainerInitializer.html b/7.x/docs/classes/ContainerInitializer.html deleted file mode 100644 index b869372e0..000000000 --- a/7.x/docs/classes/ContainerInitializer.html +++ /dev/null @@ -1,20 +0,0 @@ -ContainerInitializer | Community Solid Server - v7.1.0

Initializer that sets up a container. -Will copy all the files and folders in the given path to the corresponding documents and containers.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ContainerPathStorage.html b/7.x/docs/classes/ContainerPathStorage.html deleted file mode 100644 index 7e1784077..000000000 --- a/7.x/docs/classes/ContainerPathStorage.html +++ /dev/null @@ -1,29 +0,0 @@ -ContainerPathStorage | Community Solid Server - v7.1.0

Class ContainerPathStorage<T>

A KeyValueStorage that prepends a relative path to the key. -Leading slashes of the relative path are trimmed, and a trailing slash is added if needed.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

basePath: string
source: KeyValueStorage<string, T>

Methods

diff --git a/7.x/docs/classes/ContainerToTemplateConverter.html b/7.x/docs/classes/ContainerToTemplateConverter.html deleted file mode 100644 index c9b626397..000000000 --- a/7.x/docs/classes/ContainerToTemplateConverter.html +++ /dev/null @@ -1,27 +0,0 @@ -ContainerToTemplateConverter | Community Solid Server - v7.1.0

Class ContainerToTemplateConverter

A RepresentationConverter that creates a templated representation of a container.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/ContentLengthParser.html b/7.x/docs/classes/ContentLengthParser.html deleted file mode 100644 index 395620702..000000000 --- a/7.x/docs/classes/ContentLengthParser.html +++ /dev/null @@ -1,20 +0,0 @@ -ContentLengthParser | Community Solid Server - v7.1.0

Parser for the content-length header.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ContentTypeMetadataWriter.html b/7.x/docs/classes/ContentTypeMetadataWriter.html deleted file mode 100644 index 561abc7c1..000000000 --- a/7.x/docs/classes/ContentTypeMetadataWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -ContentTypeMetadataWriter | Community Solid Server - v7.1.0

Adds the Content-Type header containing value and parameters (if available).

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ContentTypeParser.html b/7.x/docs/classes/ContentTypeParser.html deleted file mode 100644 index 0f8afd06b..000000000 --- a/7.x/docs/classes/ContentTypeParser.html +++ /dev/null @@ -1,19 +0,0 @@ -ContentTypeParser | Community Solid Server - v7.1.0

Parser for the content-type header.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ContentTypeReplacer.html b/7.x/docs/classes/ContentTypeReplacer.html deleted file mode 100644 index ea85501df..000000000 --- a/7.x/docs/classes/ContentTypeReplacer.html +++ /dev/null @@ -1,21 +0,0 @@ -ContentTypeReplacer | Community Solid Server - v7.1.0

A RepresentationConverter that changes the content type -but does not alter the representation.

-

Useful for when a content type is binary-compatible with another one; -for instance, all JSON-LD files are valid JSON files.

-

Hierarchy (view full)

Constructors

Methods

diff --git a/7.x/docs/classes/ContextDocumentLoader.html b/7.x/docs/classes/ContextDocumentLoader.html deleted file mode 100644 index d9dc7f751..000000000 --- a/7.x/docs/classes/ContextDocumentLoader.html +++ /dev/null @@ -1,11 +0,0 @@ -ContextDocumentLoader | Community Solid Server - v7.1.0

First, checks whether a context is stored locally before letting the super class do a fetch. -This can be used when converting JSON-LD with Comunica-related libraries, such as rdf-parse.

-

To use this, add this document loader to the options of the call -using the KeysRdfParseJsonLd.documentLoader.name key. -All extra keys get passed in the Comunica ActionContext -and this is the key that is used to define the document loader. -See https://github.com/rubensworks/rdf-parse.js/blob/master/lib/RdfParser.ts -and https://github.com/comunica/comunica/blob/master/packages/actor-rdf-parse-jsonld/lib/ActorRdfParseJsonLd.ts

-

Hierarchy

  • FetchDocumentLoader
    • ContextDocumentLoader

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ControlHandler.html b/7.x/docs/classes/ControlHandler.html deleted file mode 100644 index 854a85f4d..000000000 --- a/7.x/docs/classes/ControlHandler.html +++ /dev/null @@ -1,31 +0,0 @@ -ControlHandler | Community Solid Server - v7.1.0

Creates an object with the keys matching those of the input controls, -and the values being the results received by the matching values in the same input.

-

If source is defined, the controls will be added to the output of that handler after passing the input. -In case the control keys conflict with a key already present in the resulting object, -the results will be merged.

-

Hierarchy (view full)

Constructors

Methods

  • Merge the two objects. -Generally this will probably not be necessary, or be very simple merges, -but this ensures that we handle all possibilities.

    -

    Parameters

    • Optionaloriginal: Json
    • Optionalcontrols: Json

    Returns Json

diff --git a/7.x/docs/classes/ConvertingErrorHandler.html b/7.x/docs/classes/ConvertingErrorHandler.html deleted file mode 100644 index dd2b49b27..000000000 --- a/7.x/docs/classes/ConvertingErrorHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -ConvertingErrorHandler | Community Solid Server - v7.1.0

Converts an error into a Representation of content type internal/error. -Then feeds that representation into its converter to create a representation based on the given preferences.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConvertingNotificationSerializer.html b/7.x/docs/classes/ConvertingNotificationSerializer.html deleted file mode 100644 index 0667c2429..000000000 --- a/7.x/docs/classes/ConvertingNotificationSerializer.html +++ /dev/null @@ -1,20 +0,0 @@ -ConvertingNotificationSerializer | Community Solid Server - v7.1.0

Class ConvertingNotificationSerializer

Converts a serialization based on the provided accept feature value. -In case none was provided no conversion takes place.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConvertingOperationHttpHandler.html b/7.x/docs/classes/ConvertingOperationHttpHandler.html deleted file mode 100644 index 6edc894b8..000000000 --- a/7.x/docs/classes/ConvertingOperationHttpHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -ConvertingOperationHttpHandler | Community Solid Server - v7.1.0

Class ConvertingOperationHttpHandler

An OperationHttpHandler that converts the response of its handler based on the Operation preferences. -If there are no preferences, or no data, the response will be returned as-is.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ConvertingPatcher.html b/7.x/docs/classes/ConvertingPatcher.html deleted file mode 100644 index 2cf864e97..000000000 --- a/7.x/docs/classes/ConvertingPatcher.html +++ /dev/null @@ -1,29 +0,0 @@ -ConvertingPatcher | Community Solid Server - v7.1.0

A ConvertingPatcher converts a document to its intermediateType, -sends the result to the wrapped patcher, and then converts back to its original type. -No changes will take place if no intermediateType is provided.

-

In case there is no resource yet and a new one needs to be created, -the result of the wrapped patcher will be converted to the provided defaultType. -In case no defaultType is provided, the patcher output will be returned directly.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ConvertingRouterRule.html b/7.x/docs/classes/ConvertingRouterRule.html deleted file mode 100644 index dbc4f9d73..000000000 --- a/7.x/docs/classes/ConvertingRouterRule.html +++ /dev/null @@ -1,25 +0,0 @@ -ConvertingRouterRule | Community Solid Server - v7.1.0

Rule that directs requests based on how the data would need to be converted. -In case the given converter can convert the data to the requested type, -it will be directed to the convertStore. -Otherwise the defaultStore will be chosen.

-

In case there is no data and only an identifier the defaultStore will be checked -if it contains the given identifier. -If not, the convertStore will be returned.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CookieInteractionHandler.html b/7.x/docs/classes/CookieInteractionHandler.html deleted file mode 100644 index d8f1febe7..000000000 --- a/7.x/docs/classes/CookieInteractionHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -CookieInteractionHandler | Community Solid Server - v7.1.0

Handles all the necessary steps for having cookies. -Refreshes the cookie expiration if there was a successful account interaction. -Adds the cookie and cookie expiration data to the output metadata, -unless it is already present in that metadata. -Checks the account settings to see if the cookie needs to be remembered.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CookieMetadataWriter.html b/7.x/docs/classes/CookieMetadataWriter.html deleted file mode 100644 index 4df641fc5..000000000 --- a/7.x/docs/classes/CookieMetadataWriter.html +++ /dev/null @@ -1,25 +0,0 @@ -CookieMetadataWriter | Community Solid Server - v7.1.0

Generates the necessary Set-Cookie header if a cookie value is detected in the metadata. -The keys of the input cookieMap should be the URIs of the predicates -used in the metadata when the object is a cookie value. -The value of the map are objects that contain the name of the cookie, -and the URI that is used to store the expiration date in the metadata, if any. -If no expiration date is found in the metadata, none will be set for the cookie, -causing it to be a session cookie.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/CookieParser.html b/7.x/docs/classes/CookieParser.html deleted file mode 100644 index 6d96b5925..000000000 --- a/7.x/docs/classes/CookieParser.html +++ /dev/null @@ -1,22 +0,0 @@ -CookieParser | Community Solid Server - v7.1.0

Parses the cookie header and stores their values as metadata. -The keys of the input cookieMap should be the cookie names, -and the values the corresponding predicate that should be used to store the value in the metadata. -The values of the cookies will be used as objects in the generated triples

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CorsHandler.html b/7.x/docs/classes/CorsHandler.html deleted file mode 100644 index 856ae7973..000000000 --- a/7.x/docs/classes/CorsHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -CorsHandler | Community Solid Server - v7.1.0

Handler that sets CORS options on the response. -In case of an OPTIONS request this handler will close the connection after adding its headers -if preflightContinue is set to false.

-

Solid, §8.1: "A server MUST implement the CORS protocol [FETCH] such that, to the extent possible, -the browser allows Solid apps to send any request and combination of request headers to the server, -and the Solid app can read any response and response headers received from the server." -Full details: https://solidproject.org/TR/2021/protocol-20211217#cors-server

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/CreateAccountHandler.html b/7.x/docs/classes/CreateAccountHandler.html deleted file mode 100644 index 460a0726c..000000000 --- a/7.x/docs/classes/CreateAccountHandler.html +++ /dev/null @@ -1,29 +0,0 @@ -CreateAccountHandler | Community Solid Server - v7.1.0

Creates new accounts using an AccountStore;

-

Hierarchy (view full)

Implements

Constructors

Properties

accountStore: AccountStore
cookieStore: CookieStore
logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/CreateClientCredentialsHandler.html b/7.x/docs/classes/CreateClientCredentialsHandler.html deleted file mode 100644 index 2d89a6f78..000000000 --- a/7.x/docs/classes/CreateClientCredentialsHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -CreateClientCredentialsHandler | Community Solid Server - v7.1.0

Class CreateClientCredentialsHandler

Handles the creation of client credential tokens.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/CreateModesExtractor.html b/7.x/docs/classes/CreateModesExtractor.html deleted file mode 100644 index 965575653..000000000 --- a/7.x/docs/classes/CreateModesExtractor.html +++ /dev/null @@ -1,17 +0,0 @@ -CreateModesExtractor | Community Solid Server - v7.1.0

Adds the create access mode to the result of the source in case the target resource does not exist.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CreatePasswordHandler.html b/7.x/docs/classes/CreatePasswordHandler.html deleted file mode 100644 index 786445871..000000000 --- a/7.x/docs/classes/CreatePasswordHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -CreatePasswordHandler | Community Solid Server - v7.1.0

Handles the creation of email/password login combinations for an account.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/CreatePodHandler.html b/7.x/docs/classes/CreatePodHandler.html deleted file mode 100644 index 6b492294a..000000000 --- a/7.x/docs/classes/CreatePodHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -CreatePodHandler | Community Solid Server - v7.1.0

Handles the creation of pods. -Will call the stored PodCreator with the settings found in the input JSON.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/CreatedResponseDescription.html b/7.x/docs/classes/CreatedResponseDescription.html deleted file mode 100644 index 513516471..000000000 --- a/7.x/docs/classes/CreatedResponseDescription.html +++ /dev/null @@ -1,6 +0,0 @@ -CreatedResponseDescription | Community Solid Server - v7.1.0

Class CreatedResponseDescription

Corresponds to a 201 response, containing the relevant location metadata.

-

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

data?: Guarded<Readable>
statusCode: number
diff --git a/7.x/docs/classes/CredentialsExtractor.html b/7.x/docs/classes/CredentialsExtractor.html deleted file mode 100644 index 52e61058b..000000000 --- a/7.x/docs/classes/CredentialsExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -CredentialsExtractor | Community Solid Server - v7.1.0

Class CredentialsExtractorAbstract

Responsible for extracting credentials from an incoming request.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/DPoPWebIdExtractor.html b/7.x/docs/classes/DPoPWebIdExtractor.html deleted file mode 100644 index 77b408fe8..000000000 --- a/7.x/docs/classes/DPoPWebIdExtractor.html +++ /dev/null @@ -1,20 +0,0 @@ -DPoPWebIdExtractor | Community Solid Server - v7.1.0

Credentials extractor that extracts a WebID from a DPoP-bound access token.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/DataAccessorBasedStore.html b/7.x/docs/classes/DataAccessorBasedStore.html deleted file mode 100644 index a1a91d103..000000000 --- a/7.x/docs/classes/DataAccessorBasedStore.html +++ /dev/null @@ -1,132 +0,0 @@ -DataAccessorBasedStore | Community Solid Server - v7.1.0

ResourceStore which uses a DataAccessor for backend access.

-

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:

-
    -
  • Converting container metadata to data
  • -
  • Converting slug to URI
  • -
  • Checking if addResource target is a container
  • -
  • Checking if no containment triples are written to a container
  • -
  • etc.
  • -
-

Currently "metadata" is seen as something that is not directly accessible. -That means that a consumer can't write directly to the metadata of a resource, only indirectly through headers. -(Except for containers where data and metadata overlap).

-

The one thing this store does not take care of (yet?) are containment triples for containers

-

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.

-

Implements

Constructors

Properties

logger: Logger = ...

Methods

  • Clean http Slug to be compatible with the server. Makes sure there are no unwanted characters, -e.g., cleanslug('&%26') returns '%26%26'

    -

    Parameters

    • slug: string

      the slug to clean

      -

    Returns string

  • 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 "container" corresponds to an existing document.

    -

    Parameters

    Returns Promise<ChangeMap>

  • Generates a new URI for a resource in the given container, potentially using the given slug.

    -

    Solid, §5.3: "Servers MUST allow creating new resources with a POST request to URI path ending /. -Servers MUST create a resource with URI path ending /{id} in container /. -Servers MUST create a container with URI path ending /{id}/ in container / for requests -including the HTTP Link header with rel="type" targeting a valid LDP container type." -https://solid.github.io/specification/protocol#writing-resources

    -

    Parameters

    • container: ResourceIdentifier

      Parent container of the new URI.

      -
    • isContainer: boolean

      Does the new URI represent a container?

      -
    • Optionalslug: string

      Slug to use for the new URI.

      -

    Returns ResourceIdentifier

  • Warns when the representation has data and removes the content-type from the metadata.

    -

    Parameters

    Returns Promise<void>

  • Validates if the slug and headers are valid. -Errors if slug exists, ends on slash, but ContainerType Link header is NOT present

    -

    Parameters

    • isContainer: boolean

      Is the slug supposed to represent a container?

      -
    • Optionalslug: string

      Is the requested slug (if any).

      -

    Returns void

  • Write the given resource to the DataAccessor. Metadata will be updated with necessary triples. -For containers, handleContainerData will be used to verify the data.

    -

    Parameters

    • identifier: ResourceIdentifier

      Identifier of the resource.

      -
    • representation: Representation

      Corresponding Representation.

      -
    • isContainer: boolean

      Is the incoming resource a container?

      -
    • createContainers: boolean

      Should parent containers (potentially) be created?

      -
    • exists: boolean

      If the resource already exists.

      -

    Returns Promise<ChangeMap>

    Identifiers of resources that were possibly modified.

    -
diff --git a/7.x/docs/classes/DeleteClientCredentialsHandler.html b/7.x/docs/classes/DeleteClientCredentialsHandler.html deleted file mode 100644 index c4acd32f3..000000000 --- a/7.x/docs/classes/DeleteClientCredentialsHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -DeleteClientCredentialsHandler | Community Solid Server - v7.1.0

Class DeleteClientCredentialsHandler

Handles the deletion of client credentials tokens.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/DeleteNotificationGenerator.html b/7.x/docs/classes/DeleteNotificationGenerator.html deleted file mode 100644 index 13b2e066a..000000000 --- a/7.x/docs/classes/DeleteNotificationGenerator.html +++ /dev/null @@ -1,21 +0,0 @@ -DeleteNotificationGenerator | Community Solid Server - v7.1.0

Class DeleteNotificationGenerator

Generates a Notification for a resource that was deleted. -This differs from other activity notifications in that there is no state and no resource metadata -since the resource no longer exists.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/DeleteOperationHandler.html b/7.x/docs/classes/DeleteOperationHandler.html deleted file mode 100644 index fc661c83a..000000000 --- a/7.x/docs/classes/DeleteOperationHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -DeleteOperationHandler | Community Solid Server - v7.1.0

Handles DELETE Operations. -Calls the deleteResource function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/DeleteParentExtractor.html b/7.x/docs/classes/DeleteParentExtractor.html deleted file mode 100644 index 33af47c3c..000000000 --- a/7.x/docs/classes/DeleteParentExtractor.html +++ /dev/null @@ -1,22 +0,0 @@ -DeleteParentExtractor | Community Solid Server - v7.1.0

In case a resource is being deleted but does not exist, -the server response code depends on the access modes the agent has on the parent container. -In case the agent has read access on the parent container, a 404 should be returned, -otherwise it should be 401/403.

-

This class adds support for this by requiring read access on the parent container -in case the target resource does not exist.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/DeletePasswordHandler.html b/7.x/docs/classes/DeletePasswordHandler.html deleted file mode 100644 index 53b685386..000000000 --- a/7.x/docs/classes/DeletePasswordHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -DeletePasswordHandler | Community Solid Server - v7.1.0

Handles the deletion of a password login method.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/DynamicJsonToTemplateConverter.html b/7.x/docs/classes/DynamicJsonToTemplateConverter.html deleted file mode 100644 index 9c020b160..000000000 --- a/7.x/docs/classes/DynamicJsonToTemplateConverter.html +++ /dev/null @@ -1,28 +0,0 @@ -DynamicJsonToTemplateConverter | Community Solid Server - v7.1.0

Class DynamicJsonToTemplateConverter

Converts JSON data by using it as input parameters for rendering a template. -The extension field can be used to only support a specific type of templates, -such as ".ejs" for EJS templates.

-

To find the templates it expects the Representation metadata to contain SOLID_META.template triples, -with the objects being the template paths. -For each of those templates there also needs to be a CONTENT_TYPE triple -describing the content-type of that template.

-

The output of the result depends on the content-type matched with the template. -In case JSON is the most preferred output type, -the input representation will be returned unless a JSON template is defined.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/EjsTemplateEngine.html b/7.x/docs/classes/EjsTemplateEngine.html deleted file mode 100644 index 7202e15ee..000000000 --- a/7.x/docs/classes/EjsTemplateEngine.html +++ /dev/null @@ -1,22 +0,0 @@ -EjsTemplateEngine | Community Solid Server - v7.1.0

Class EjsTemplateEngine<T>

Fills in EJS templates.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

supportedExtensions: string[]

Methods

diff --git a/7.x/docs/classes/EmailSender.html b/7.x/docs/classes/EmailSender.html deleted file mode 100644 index e4bd2c776..000000000 --- a/7.x/docs/classes/EmailSender.html +++ /dev/null @@ -1,19 +0,0 @@ -EmailSender | Community Solid Server - v7.1.0

Class EmailSenderAbstract

A class that can send an e-mail.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: EmailArgs

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/EqualReadWriteLocker.html b/7.x/docs/classes/EqualReadWriteLocker.html deleted file mode 100644 index 208d5456d..000000000 --- a/7.x/docs/classes/EqualReadWriteLocker.html +++ /dev/null @@ -1,23 +0,0 @@ -EqualReadWriteLocker | Community Solid Server - v7.1.0

A ReadWriteLocker that gives no priority to read or write operations: both use the same lock.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/ErrorHandler.html b/7.x/docs/classes/ErrorHandler.html deleted file mode 100644 index 8c2a8af81..000000000 --- a/7.x/docs/classes/ErrorHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -ErrorHandler | Community Solid Server - v7.1.0

Class ErrorHandlerAbstract

Converts an error into a ResponseDescription based on the request preferences.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ErrorToJsonConverter.html b/7.x/docs/classes/ErrorToJsonConverter.html deleted file mode 100644 index e772867fa..000000000 --- a/7.x/docs/classes/ErrorToJsonConverter.html +++ /dev/null @@ -1,27 +0,0 @@ -ErrorToJsonConverter | Community Solid Server - v7.1.0

Converts an Error object to JSON by copying its fields.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/ErrorToQuadConverter.html b/7.x/docs/classes/ErrorToQuadConverter.html deleted file mode 100644 index 5fe21072b..000000000 --- a/7.x/docs/classes/ErrorToQuadConverter.html +++ /dev/null @@ -1,27 +0,0 @@ -ErrorToQuadConverter | Community Solid Server - v7.1.0

Converts an error object into quads by creating a triple for each of name/message/stack.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/ErrorToTemplateConverter.html b/7.x/docs/classes/ErrorToTemplateConverter.html deleted file mode 100644 index a177fb240..000000000 --- a/7.x/docs/classes/ErrorToTemplateConverter.html +++ /dev/null @@ -1,34 +0,0 @@ -ErrorToTemplateConverter | Community Solid Server - v7.1.0

Serializes an Error by filling in the provided template. -Content-type is based on the constructor parameter.

-

In case the input Error has an errorCode value, -the converter will look in the descriptions for a file -with the exact same name as that error code + extension. -The templating engine will then be applied to that file. -That result will be passed as an additional parameter to the main templating call, -using the variable codeMessage.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/ExpiringAdapter.html b/7.x/docs/classes/ExpiringAdapter.html deleted file mode 100644 index 3a165b449..000000000 --- a/7.x/docs/classes/ExpiringAdapter.html +++ /dev/null @@ -1,12 +0,0 @@ -ExpiringAdapter | Community Solid Server - v7.1.0

An IDP storage adapter that uses an ExpiringStorage -to persist data.

-

Implements

  • Adapter

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ExpiringAdapterFactory.html b/7.x/docs/classes/ExpiringAdapterFactory.html deleted file mode 100644 index 2f9366ac3..000000000 --- a/7.x/docs/classes/ExpiringAdapterFactory.html +++ /dev/null @@ -1,4 +0,0 @@ -ExpiringAdapterFactory | Community Solid Server - v7.1.0

The factory for a ExpiringStorageAdapter

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ExtensionBasedMapper.html b/7.x/docs/classes/ExtensionBasedMapper.html deleted file mode 100644 index 162fff388..000000000 --- a/7.x/docs/classes/ExtensionBasedMapper.html +++ /dev/null @@ -1,76 +0,0 @@ -ExtensionBasedMapper | Community Solid Server - v7.1.0

Supports the behaviour described in https://www.w3.org/DesignIssues/HTTPFilenameMapping.html -Determines content-type based on the file extension. -In case an identifier does not end on an extension matching its content-type, -the corresponding file will be appended with the correct extension, preceded by $.

-

Hierarchy (view full)

Constructors

Properties

baseRequestURI: string
logger: Logger = ...
rootFilepath: string
unknownMediaTypeExtension: "unknown" = 'unknown'

Methods

  • Maps the given document identifier to a file path, -possibly making alterations to the direct translation -(for instance, based on its content type)). -Determines the content type if none was provided.

    -

    Parameters

    • identifier: ResourceIdentifier

      The input identifier.

      -
    • filePath: string

      The direct translation of the identifier onto the file path.

      -
    • OptionalcontentType: string

      The content-type provided with the request.

      -

    Returns Promise<ResourceLink>

    A ResourceLink with all the necessary metadata.

    -
  • Helper function that removes the internal extension, one starting with $., from the given path. -Nothing happens if no such extension is present.

    -

    Parameters

    • path: string

    Returns string

diff --git a/7.x/docs/classes/ExtensionBasedMapperFactory.html b/7.x/docs/classes/ExtensionBasedMapperFactory.html deleted file mode 100644 index a29bd2700..000000000 --- a/7.x/docs/classes/ExtensionBasedMapperFactory.html +++ /dev/null @@ -1,5 +0,0 @@ -ExtensionBasedMapperFactory | Community Solid Server - v7.1.0

Class ExtensionBasedMapperFactory

Factory that can create FileIdentifierMappers so the base and rootFilePath can be set dynamically. -Specifically used when identifiers need to be generated for a new pod (since pod identifiers are generated).

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ExtensionBasedTemplateEngine.html b/7.x/docs/classes/ExtensionBasedTemplateEngine.html deleted file mode 100644 index 362ac6bef..000000000 --- a/7.x/docs/classes/ExtensionBasedTemplateEngine.html +++ /dev/null @@ -1,22 +0,0 @@ -ExtensionBasedTemplateEngine | Community Solid Server - v7.1.0

Class ExtensionBasedTemplateEngine<T>Abstract

Parent class for template engines that accept handling based on whether the template extension is supported.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

supportedExtensions: string[]

Methods

diff --git a/7.x/docs/classes/FileDataAccessor.html b/7.x/docs/classes/FileDataAccessor.html deleted file mode 100644 index 9f8761c90..000000000 --- a/7.x/docs/classes/FileDataAccessor.html +++ /dev/null @@ -1,54 +0,0 @@ -FileDataAccessor | Community Solid Server - v7.1.0

DataAccessor that uses the file system to store documents as files and containers as folders.

-

Hierarchy (view full)

Implements

Constructors

Properties

logger: Logger = ...
resourceMapper: FileIdentifierMapper

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

  • Gets the Stats object corresponding to the given file path, -resolving symbolic links.

    -

    Parameters

    • path: string

      File path to get info from.

      -

    Returns Promise<Stats>

    NotFoundHttpError -If the file/folder doesn't exist.

    -
  • Verifies if there already is a file corresponding to the given resource. -If yes, that file is removed if it does not match the path given in the input ResourceLink. -This can happen if the content-type differs from the one that was stored.

    -

    Parameters

    • link: ResourceLink

      ResourceLink corresponding to the new resource data.

      -

    Returns Promise<void>

  • Helper function without extra validation checking to create a data file.

    -

    Parameters

    • path: string

      The filepath of the file to be created.

      -
    • data: Readable

      The data to be put in the file.

      -

    Returns Promise<void>

diff --git a/7.x/docs/classes/FileSizeReporter.html b/7.x/docs/classes/FileSizeReporter.html deleted file mode 100644 index 9085ce5fa..000000000 --- a/7.x/docs/classes/FileSizeReporter.html +++ /dev/null @@ -1,13 +0,0 @@ -FileSizeReporter | Community Solid Server - v7.1.0

SizeReporter that is used to calculate sizes of resources for a file based system.

-

Implements

Constructors

Methods

diff --git a/7.x/docs/classes/FileSystemResourceLocker.html b/7.x/docs/classes/FileSystemResourceLocker.html deleted file mode 100644 index 66c718cce..000000000 --- a/7.x/docs/classes/FileSystemResourceLocker.html +++ /dev/null @@ -1,28 +0,0 @@ -FileSystemResourceLocker | Community Solid Server - v7.1.0

A resource locker making use of the proper-lockfile library. -Note that no locks are kept in memory, thus this is considered thread- and process-safe. -While it stores the actual locks on disk, it also tracks them in memory for when they need to be released. -This means only the worker thread that acquired a lock can release it again, -making this implementation unusable in combination with a wrapping read/write lock implementation.

-

This proper-lockfile library has its own retry mechanism for the operations, since a lock/unlock call will -either resolve successfully or reject immediately with the causing error. The retry function of the library -however will be ignored and replaced by our own LockUtils' retryFunction function.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/FilterMetadataDataAccessor.html b/7.x/docs/classes/FilterMetadataDataAccessor.html deleted file mode 100644 index 050a2efac..000000000 --- a/7.x/docs/classes/FilterMetadataDataAccessor.html +++ /dev/null @@ -1,54 +0,0 @@ -FilterMetadataDataAccessor | Community Solid Server - v7.1.0

Class FilterMetadataDataAccessor

A FilterMetadataDataAccessor wraps a DataAccessor such that specific metadata properties -can be filtered before passing on the call to the wrapped DataAccessor.

-

Hierarchy (view full)

Constructors

Properties

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

diff --git a/7.x/docs/classes/FilterPattern.html b/7.x/docs/classes/FilterPattern.html deleted file mode 100644 index 194a0a90c..000000000 --- a/7.x/docs/classes/FilterPattern.html +++ /dev/null @@ -1,9 +0,0 @@ -FilterPattern | Community Solid Server - v7.1.0

Represents a triple pattern to be used as a filter.

-

Constructors

Properties

Constructors

  • Parameters

    • Optionalsubject: string

      Optionally filter based on a specific subject.

      -
    • Optionalpredicate: string

      Optionally filter based on a predicate.

      -
    • Optionalobject: string

      Optionally filter based on a specific object.

      -

    Returns FilterPattern

Properties

object: null | NamedNode<string>
predicate: null | NamedNode<string>
subject: null | NamedNode<string>
diff --git a/7.x/docs/classes/FinalizableHandler.html b/7.x/docs/classes/FinalizableHandler.html deleted file mode 100644 index a963925b4..000000000 --- a/7.x/docs/classes/FinalizableHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -FinalizableHandler | Community Solid Server - v7.1.0

Allows using a Finalizable as a Finalizer Handler.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

finalizable: Finalizable

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/Finalizer.html b/7.x/docs/classes/Finalizer.html deleted file mode 100644 index fbe70e829..000000000 --- a/7.x/docs/classes/Finalizer.html +++ /dev/null @@ -1,19 +0,0 @@ -Finalizer | Community Solid Server - v7.1.0

Class FinalizerAbstract

Finalizer is used to indicate an AsyncHandler that performs finalization logic.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: void

      Input that needs to be handled.

      -

    Returns Promise<void>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/FixedContentTypeMapper.html b/7.x/docs/classes/FixedContentTypeMapper.html deleted file mode 100644 index ca7043ea4..000000000 --- a/7.x/docs/classes/FixedContentTypeMapper.html +++ /dev/null @@ -1,79 +0,0 @@ -FixedContentTypeMapper | Community Solid Server - v7.1.0

A mapper that always returns a fixed content type for files.

-

Hierarchy (view full)

Constructors

  • Parameters

    • base: string

      Base URL.

      -
    • rootFilepath: string

      Base file path.

      -
    • contentType: string

      Fixed content type that will be used for all resources.

      -
    • pathSuffix: string = ''

      An optional suffix that will be appended to all file paths. -Requested file paths without this suffix will be rejected.

      -
    • urlSuffix: string = ''

      An optional suffix that will be appended to all URL. -Requested URLs without this suffix will be rejected.

      -

    Returns FixedContentTypeMapper

Properties

baseRequestURI: string
contentType: string
logger: Logger = ...
pathSuffix: string
rootFilepath: string
unknownMediaTypeExtension: "unknown" = 'unknown'
urlSuffix: string

Methods

  • Maps the given document identifier to a file path, -possibly making alterations to the direct translation -(for instance, based on its content type)). -Determines the content type if none was provided.

    -

    Parameters

    • identifier: ResourceIdentifier

      The input identifier.

      -
    • filePath: string

      The direct translation of the identifier onto the file path.

      -
    • OptionalcontentType: string

      The content-type provided with the request.

      -

    Returns Promise<ResourceLink>

    A ResourceLink with all the necessary metadata.

    -
diff --git a/7.x/docs/classes/ForbiddenHttpError.html b/7.x/docs/classes/ForbiddenHttpError.html deleted file mode 100644 index ee22c9e80..000000000 --- a/7.x/docs/classes/ForbiddenHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -ForbiddenHttpError | Community Solid Server - v7.1.0

An error thrown when an agent is not allowed to access data.

-

Hierarchy

  • BaseHttpError
    • ForbiddenHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 403
isInstance: ((error: unknown) => error is HttpError<403>)

Checks whether the given error is an instance of this class.

-
statusCode: 403

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/ForgetWebIdHandler.html b/7.x/docs/classes/ForgetWebIdHandler.html deleted file mode 100644 index 03de90197..000000000 --- a/7.x/docs/classes/ForgetWebIdHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -ForgetWebIdHandler | Community Solid Server - v7.1.0

Forgets the chosen WebID in an OIDC interaction, -causing the next policy trigger to be one where a new WebID has to be chosen.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ForgotPasswordHandler.html b/7.x/docs/classes/ForgotPasswordHandler.html deleted file mode 100644 index a19c5210e..000000000 --- a/7.x/docs/classes/ForgotPasswordHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -ForgotPasswordHandler | Community Solid Server - v7.1.0

Responsible for the case where a user forgot their password and asks for a reset. -Will send out the necessary mail if the email address is known. -The JSON response will always be the same to prevent leaking which email addresses are stored.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/FormToJsonConverter.html b/7.x/docs/classes/FormToJsonConverter.html deleted file mode 100644 index 276bb4d11..000000000 --- a/7.x/docs/classes/FormToJsonConverter.html +++ /dev/null @@ -1,28 +0,0 @@ -FormToJsonConverter | Community Solid Server - v7.1.0

Converts application/x-www-form-urlencoded data to application/json. -Due to the nature of form data, the result will be a simple key/value JSON object.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/FoundHttpError.html b/7.x/docs/classes/FoundHttpError.html deleted file mode 100644 index 1630a96cc..000000000 --- a/7.x/docs/classes/FoundHttpError.html +++ /dev/null @@ -1,20 +0,0 @@ -FoundHttpError | Community Solid Server - v7.1.0

Error used for resources that have been moved temporarily. -Methods other than GET may or may not be changed to GET in subsequent requests.

-

Hierarchy

  • BaseHttpError
    • FoundHttpError

Constructors

Properties

cause?: unknown
errorCode: string
location: string
message: string
name: string
stack?: string
statusCode: 302
isInstance: ((error: unknown) => error is HttpError<302>)

Checks whether the given error is an instance of this class.

-
statusCode: 302

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/GeneratedPodManager.html b/7.x/docs/classes/GeneratedPodManager.html deleted file mode 100644 index de5dc1fc0..000000000 --- a/7.x/docs/classes/GeneratedPodManager.html +++ /dev/null @@ -1,8 +0,0 @@ -GeneratedPodManager | Community Solid Server - v7.1.0

Pod manager that uses an IdentifierGenerator and ResourcesGenerator -to create the default resources and identifier for a new pod.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Creates a new pod, pre-populating it with the resources created by the data generator. -Will throw an error if the given identifier already has a resource.

    -

    Parameters

    Returns Promise<void>

diff --git a/7.x/docs/classes/GetOperationHandler.html b/7.x/docs/classes/GetOperationHandler.html deleted file mode 100644 index 2356813f1..000000000 --- a/7.x/docs/classes/GetOperationHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -GetOperationHandler | Community Solid Server - v7.1.0

Handles GET Operations. -Calls the getRepresentation function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/GlobalQuotaStrategy.html b/7.x/docs/classes/GlobalQuotaStrategy.html deleted file mode 100644 index b5495c079..000000000 --- a/7.x/docs/classes/GlobalQuotaStrategy.html +++ /dev/null @@ -1,26 +0,0 @@ -GlobalQuotaStrategy | Community Solid Server - v7.1.0

The GlobalQuotaStrategy sets a limit on the amount of data stored on the server globally.

-

Hierarchy (view full)

Constructors

Properties

limit: Size
reporter: SizeReporter<unknown>

Methods

  • Get a Passthrough stream that will keep track of the available space. -If the quota is exceeded the stream will emit an error and destroy itself. -Like other Passthrough instances this will simply pass on the chunks, when the quota isn't exceeded.

    -

    Parameters

    Returns Promise<Guarded<PassThrough>>

    a Passthrough instance that errors when quota is exceeded

    -
  • Get the available space when writing data to the given identifier. -If the given resource already exists it will deduct the already taken up -space by that resource since it is going to be overwritten and thus counts -as available space.

    -

    Parameters

    • identifier: ResourceIdentifier

      the identifier of the resource of which you want the available space

      -

    Returns Promise<Size>

    the available space and the unit of the space as a Size object

    -
diff --git a/7.x/docs/classes/GreedyReadWriteLocker.html b/7.x/docs/classes/GreedyReadWriteLocker.html deleted file mode 100644 index 6c03853f6..000000000 --- a/7.x/docs/classes/GreedyReadWriteLocker.html +++ /dev/null @@ -1,46 +0,0 @@ -GreedyReadWriteLocker | Community Solid Server - v7.1.0

A BaseReadWriteLocker that uses the same locker for the main lock and the count lock, -and uses a KeyValueStorage for keeping track of the counter.

-

Since it is completely dependent on other implementations, -this locker is threadsafe if its inputs are as well.

-

Hierarchy (view full)

Constructors

Properties

countLocker: ResourceLocker
countSuffix: string
readSuffix: string
storage: KeyValueStorage<string, number>

Methods

diff --git a/7.x/docs/classes/HandlebarsTemplateEngine.html b/7.x/docs/classes/HandlebarsTemplateEngine.html deleted file mode 100644 index 58025753a..000000000 --- a/7.x/docs/classes/HandlebarsTemplateEngine.html +++ /dev/null @@ -1,22 +0,0 @@ -HandlebarsTemplateEngine | Community Solid Server - v7.1.0

Class HandlebarsTemplateEngine<T>

Fills in Handlebars templates.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

supportedExtensions: string[]

Methods

diff --git a/7.x/docs/classes/HandlerServerConfigurator.html b/7.x/docs/classes/HandlerServerConfigurator.html deleted file mode 100644 index c20f1e08b..000000000 --- a/7.x/docs/classes/HandlerServerConfigurator.html +++ /dev/null @@ -1,23 +0,0 @@ -HandlerServerConfigurator | Community Solid Server - v7.1.0

A ServerConfigurator that attaches an HttpHandler to the request event of a Server. -All incoming requests will be sent to the provided handler. -Failsafes are added to make sure a valid response is sent in case something goes wrong.

-

The showStackTrace parameter can be used to add stack traces to error outputs.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/HashEncodingStorage.html b/7.x/docs/classes/HashEncodingStorage.html deleted file mode 100644 index 0b0a822f9..000000000 --- a/7.x/docs/classes/HashEncodingStorage.html +++ /dev/null @@ -1,33 +0,0 @@ -HashEncodingStorage | Community Solid Server - v7.1.0

Class HashEncodingStorage<T>

Encodes the input key with SHA-256 hashing, -to make sure there are no invalid or special path characters.

-

This class was created specifically to prevent the issue of identifiers being too long when storing data: -https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1013

-

This should eventually be replaced by a more structural approach once internal storage has been refactored -and data migration from older versions and formats is supported.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...
source: KeyValueStorage<string, T>

Methods

diff --git a/7.x/docs/classes/HashMap.html b/7.x/docs/classes/HashMap.html deleted file mode 100644 index e54f70a07..000000000 --- a/7.x/docs/classes/HashMap.html +++ /dev/null @@ -1,26 +0,0 @@ -HashMap | Community Solid Server - v7.1.0

Class HashMap<TKey, TVal>

A Map implementation that maps the Key object to a string using the provided hash function. -This ensures that equal objects that are not the same instance are mapped to the same value.

-

Type Parameters

  • TKey = unknown
  • TVal = unknown

Hierarchy (view full)

Implements

Constructors

Properties

Accessors

Methods

Constructors

Properties

[toStringTag]: "HashMap" = 'HashMap'

Accessors

  • get size(): number
  • Returns number

    the number of elements in the Map.

    -

Methods

  • Parameters

    Returns boolean

    true if an element in the Map existed and has been removed, or false if the element does not exist.

    -
  • Returns an iterable of key, value pairs for every entry in the map.

    -

    Returns IterableIterator<[TKey, TVal]>

  • Executes a provided function once per each key/value pair in the Map, in insertion order.

    -

    Parameters

    • callbackfn: ((value: TVal, key: TKey, map: Map<TKey, TVal>) => void)
        • (value, key, map): void
        • Parameters

          Returns void

    • OptionalthisArg: unknown

    Returns void

  • Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.

    -

    Parameters

    Returns undefined | TVal

    Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.

    -
  • Parameters

    Returns boolean

    boolean indicating whether an element with the specified key exists or not.

    -
  • Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

    -

    Parameters

    Returns this

diff --git a/7.x/docs/classes/HeadOperationHandler.html b/7.x/docs/classes/HeadOperationHandler.html deleted file mode 100644 index eb54f7e7a..000000000 --- a/7.x/docs/classes/HeadOperationHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -HeadOperationHandler | Community Solid Server - v7.1.0

Handles HEAD Operations. -Calls the getRepresentation function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/HeaderHandler.html b/7.x/docs/classes/HeaderHandler.html deleted file mode 100644 index bc182c157..000000000 --- a/7.x/docs/classes/HeaderHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -HeaderHandler | Community Solid Server - v7.1.0

Handler that sets custom headers on the response.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/HtmlViewEntry.html b/7.x/docs/classes/HtmlViewEntry.html deleted file mode 100644 index 7ac5aebbc..000000000 --- a/7.x/docs/classes/HtmlViewEntry.html +++ /dev/null @@ -1,8 +0,0 @@ -HtmlViewEntry | Community Solid Server - v7.1.0

Used to link file paths and URLs together. -The reason we use a separate object instead of a key/value Record, -is that this makes it easier to override the values in Components.js, -which can be useful if someone wants to replace the HTML for certain URLs.

-

Constructors

Properties

Constructors

Properties

filePath: string
route: InteractionRoute<never>
diff --git a/7.x/docs/classes/HtmlViewHandler.html b/7.x/docs/classes/HtmlViewHandler.html deleted file mode 100644 index 71a68c8f9..000000000 --- a/7.x/docs/classes/HtmlViewHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -HtmlViewHandler | Community Solid Server - v7.1.0

Stores the HTML templates associated with specific InteractionRoutes.

-

This class will only handle GET operations for which there is a matching template, -if HTML is more preferred than JSON. -The reason for doing it like this instead of a standard content negotiation flow, -is because we only want to return the HTML pages on GET requests.

-

Templates will receive the parameter idpIndex in their context pointing to the root index URL of the IDP API -and an authenticating parameter indicating if this is an active OIDC interaction.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/HttpError.html b/7.x/docs/classes/HttpError.html deleted file mode 100644 index 7cbd75308..000000000 --- a/7.x/docs/classes/HttpError.html +++ /dev/null @@ -1,25 +0,0 @@ -HttpError | Community Solid Server - v7.1.0

A class for all errors that could be thrown by Solid. -All errors inheriting from this should fix the status code thereby hiding the HTTP internals from other components.

-

Type Parameters

  • T extends number = number

Hierarchy (view full)

Implements

Constructors

  • Creates a new HTTP error. Subclasses should call this with their fixed status code.

    -

    Type Parameters

    • T extends number = number

    Parameters

    • statusCode: T

      HTTP status code needed for the HTTP response.

      -
    • name: string

      Error name. Useful for logging and stack tracing.

      -
    • Optionalmessage: string

      Error message.

      -
    • options: HttpErrorOptions = {}

      Optional options.

      -

    Returns HttpError<T>

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: T
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

-
stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

diff --git a/7.x/docs/classes/HttpHandler.html b/7.x/docs/classes/HttpHandler.html deleted file mode 100644 index d71e15577..000000000 --- a/7.x/docs/classes/HttpHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -HttpHandler | Community Solid Server - v7.1.0

Class HttpHandlerAbstract

An HTTP request handler.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/IdInteractionRoute.html b/7.x/docs/classes/IdInteractionRoute.html deleted file mode 100644 index 2a95d24c7..000000000 --- a/7.x/docs/classes/IdInteractionRoute.html +++ /dev/null @@ -1,12 +0,0 @@ -IdInteractionRoute | Community Solid Server - v7.1.0

Class IdInteractionRoute<TBase, TId>

An InteractionRoute for routes that have a dynamic identifier in their path.

-

Type Parameters

  • TBase extends string
  • TId extends string

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/IdentifierMap.html b/7.x/docs/classes/IdentifierMap.html deleted file mode 100644 index 17c036cf8..000000000 --- a/7.x/docs/classes/IdentifierMap.html +++ /dev/null @@ -1,25 +0,0 @@ -IdentifierMap | Community Solid Server - v7.1.0

A specific implementation of HashMap where the key type is ResourceIdentifier.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

Properties

[toStringTag]: "HashMap" = 'HashMap'

Accessors

  • get size(): number
  • Returns number

    the number of elements in the Map.

    -

Methods

  • Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.

    -

    Parameters

    Returns undefined | T

    Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.

    -
  • Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

    -

    Parameters

    Returns this

diff --git a/7.x/docs/classes/IdentifierSetMultiMap.html b/7.x/docs/classes/IdentifierSetMultiMap.html deleted file mode 100644 index 02e008116..000000000 --- a/7.x/docs/classes/IdentifierSetMultiMap.html +++ /dev/null @@ -1,39 +0,0 @@ -IdentifierSetMultiMap | Community Solid Server - v7.1.0

Class IdentifierSetMultiMap<T>

A specific implementation of WrappedSetMultiMap where the key type is ResourceIdentifier.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

[toStringTag]: "WrappedSetMultiMap" = 'WrappedSetMultiMap'

Accessors

Methods

diff --git a/7.x/docs/classes/IdentityProviderFactory.html b/7.x/docs/classes/IdentityProviderFactory.html deleted file mode 100644 index 2eb5a4bb8..000000000 --- a/7.x/docs/classes/IdentityProviderFactory.html +++ /dev/null @@ -1,14 +0,0 @@ -IdentityProviderFactory | Community Solid Server - v7.1.0

Creates an OIDC Provider based on the provided configuration and parameters. -The provider will be cached and returned on subsequent calls. -Cookie and JWT keys will be stored in an internal storage, so they can be re-used over multiple threads. -Necessary claims for Solid OIDC interactions will be added. -Routes will be updated based on the baseUrl and oidcPath.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/IdentityProviderHttpHandler.html b/7.x/docs/classes/IdentityProviderHttpHandler.html deleted file mode 100644 index bb703b4cd..000000000 --- a/7.x/docs/classes/IdentityProviderHttpHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -IdentityProviderHttpHandler | Community Solid Server - v7.1.0

Class IdentityProviderHttpHandler

Generates the active Interaction object if there is an ongoing OIDC interaction. -Finds the account ID if there is cookie metadata.

-

Calls the stored InteractionHandler with that information and returns the result.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ImmutableMetadataPatcher.html b/7.x/docs/classes/ImmutableMetadataPatcher.html deleted file mode 100644 index 7a696bd99..000000000 --- a/7.x/docs/classes/ImmutableMetadataPatcher.html +++ /dev/null @@ -1,23 +0,0 @@ -ImmutableMetadataPatcher | Community Solid Server - v7.1.0

Guarantees that certain PATCH operations MUST NOT update certain triples in metadata resources. -Furthermore, this class also handles the patching for metadata resources. -List of triples that must not be updated are given during instantiation with the ImmutableTriple class. -When there is a change to an Immutable Triple, then a ConflictError will be thrown.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/InMemoryDataAccessor.html b/7.x/docs/classes/InMemoryDataAccessor.html deleted file mode 100644 index e9c2522a9..000000000 --- a/7.x/docs/classes/InMemoryDataAccessor.html +++ /dev/null @@ -1,56 +0,0 @@ -InMemoryDataAccessor | Community Solid Server - v7.1.0

A DataAccessor is the building block closest to the actual data storage. -It should not worry about most Solid logic, most of that will be handled before it is called. -There are a few things it still needs to do, and it is very important every implementation does this:

-
    -
  • If the input identifier ends with a slash, it should be assumed the identifier is targeting a container.
  • -
  • Similarly, if there is no trailing slash it should assume a document.
  • -
  • It should always throw a NotFoundHttpError if it does not have data matching the input identifier.
  • -
  • DataAccessors should not generate containment triples. This will be done externally using getChildren.
  • -
-

Implements

Constructors

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

diff --git a/7.x/docs/classes/IndexRepresentationStore.html b/7.x/docs/classes/IndexRepresentationStore.html deleted file mode 100644 index 84f5eda40..000000000 --- a/7.x/docs/classes/IndexRepresentationStore.html +++ /dev/null @@ -1,55 +0,0 @@ -IndexRepresentationStore | Community Solid Server - v7.1.0

Allow containers to have a custom representation. -The index representation will be returned when the following conditions are fulfilled:

-
    -
  • The request targets a container.
  • -
  • A resource with the given indexName exists in the container. (default: "index.html")
  • -
  • The highest weighted preference matches the mediaRange (default: "text/html") -Otherwise the request will be passed on to the source store. -In case the index representation should always be returned when it exists, -the mediaRange should be set to "*∕*".
  • -
-

Note: this functionality is not yet part of the specification. Relevant issues are:

- -

Hierarchy (view full)

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/InitializableHandler.html b/7.x/docs/classes/InitializableHandler.html deleted file mode 100644 index 5947d7139..000000000 --- a/7.x/docs/classes/InitializableHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -InitializableHandler | Community Solid Server - v7.1.0

Allows using an Initializable as an Initializer Handler.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

initializable: Initializable

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/Initializer.html b/7.x/docs/classes/Initializer.html deleted file mode 100644 index ab0d531e6..000000000 --- a/7.x/docs/classes/Initializer.html +++ /dev/null @@ -1,19 +0,0 @@ -Initializer | Community Solid Server - v7.1.0

Class InitializerAbstract

Initializer is used to indicate an AsyncHandler that performs initialization logic.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: void

      Input that needs to be handled.

      -

    Returns Promise<void>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/InteractionHandler.html b/7.x/docs/classes/InteractionHandler.html deleted file mode 100644 index bf390904c..000000000 --- a/7.x/docs/classes/InteractionHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -InteractionHandler | Community Solid Server - v7.1.0

Class InteractionHandlerAbstract

Handler used for IDP interactions.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/InteractionRouteHandler.html b/7.x/docs/classes/InteractionRouteHandler.html deleted file mode 100644 index d7e57bd68..000000000 --- a/7.x/docs/classes/InteractionRouteHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -InteractionRouteHandler | Community Solid Server - v7.1.0

Class InteractionRouteHandler<T>

InteractionHandler that only accepts input of which the target matches the stored route.

-

Rejects operations that target a different route, -otherwise the input parameters are passed to the source handler.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

route: T

Methods

diff --git a/7.x/docs/classes/IntermediateCreateExtractor.html b/7.x/docs/classes/IntermediateCreateExtractor.html deleted file mode 100644 index d2de326a6..000000000 --- a/7.x/docs/classes/IntermediateCreateExtractor.html +++ /dev/null @@ -1,27 +0,0 @@ -IntermediateCreateExtractor | Community Solid Server - v7.1.0

Class IntermediateCreateExtractor

Returns the required access modes from the source ModesExtractor. -In case create permissions are required, -verifies if any of the containers permissions also need to be created -and adds the corresponding identifier/mode combinations.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/InternalServerError.html b/7.x/docs/classes/InternalServerError.html deleted file mode 100644 index 7dade738f..000000000 --- a/7.x/docs/classes/InternalServerError.html +++ /dev/null @@ -1,18 +0,0 @@ -InternalServerError | Community Solid Server - v7.1.0

A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

-

Hierarchy

  • BaseHttpError
    • InternalServerError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 500
isInstance: ((error: unknown) => error is HttpError<500>)

Checks whether the given error is an instance of this class.

-
statusCode: 500

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/JsonConversionHandler.html b/7.x/docs/classes/JsonConversionHandler.html deleted file mode 100644 index aa4f459fd..000000000 --- a/7.x/docs/classes/JsonConversionHandler.html +++ /dev/null @@ -1,24 +0,0 @@ -JsonConversionHandler | Community Solid Server - v7.1.0

An InteractionHandler that sits in-between -an InteractionHandler and a JsonInteractionHandler. -It converts the input data stream into a JSON object to be used by the stored handler.

-

Since the JSON body is only made during the handle call, it can not be used during the canHandle, -so the canHandle call of the stored handler is not called, -meaning this class accepts all input that can be converted to JSON.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/JsonFileStorage.html b/7.x/docs/classes/JsonFileStorage.html deleted file mode 100644 index d8c494076..000000000 --- a/7.x/docs/classes/JsonFileStorage.html +++ /dev/null @@ -1,19 +0,0 @@ -JsonFileStorage | Community Solid Server - v7.1.0

Uses a JSON file to store key/value pairs.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/JsonInteractionHandler.html b/7.x/docs/classes/JsonInteractionHandler.html deleted file mode 100644 index 2c98130e8..000000000 --- a/7.x/docs/classes/JsonInteractionHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -JsonInteractionHandler | Community Solid Server - v7.1.0

Class JsonInteractionHandler<TOut>Abstract

A handler that consumes and returns a JSON object, -designed to be used for IDP/OIDC interactions.

-

Type Parameters

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/JsonLdNotificationSerializer.html b/7.x/docs/classes/JsonLdNotificationSerializer.html deleted file mode 100644 index 868689515..000000000 --- a/7.x/docs/classes/JsonLdNotificationSerializer.html +++ /dev/null @@ -1,19 +0,0 @@ -JsonLdNotificationSerializer | Community Solid Server - v7.1.0

Class JsonLdNotificationSerializer

Serializes a Notification into a JSON-LD string.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/JsonResourceStorage.html b/7.x/docs/classes/JsonResourceStorage.html deleted file mode 100644 index fc40ef303..000000000 --- a/7.x/docs/classes/JsonResourceStorage.html +++ /dev/null @@ -1,38 +0,0 @@ -JsonResourceStorage | Community Solid Server - v7.1.0

Class JsonResourceStorage<T>

A KeyValueStorage for JSON-like objects using a ResourceStore as backend.

-

Creates a base URL by joining the input base URL with the container string. -The storage assumes it has ownership over all entries in the target container -so no other classes should access resources there to prevent issues.

-

Assumes the input keys can be safely used to generate identifiers, -which will be appended to the stored base URL.

-

All non-404 errors will be re-thrown.

-

Type Parameters

  • T

Hierarchy (view full)

Implements

Constructors

Properties

container: string
logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/KeyExtractor.html b/7.x/docs/classes/KeyExtractor.html deleted file mode 100644 index 5f73e590a..000000000 --- a/7.x/docs/classes/KeyExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -KeyExtractor | Community Solid Server - v7.1.0

A simple ShorthandExtractor that extracts a single value from the input map. -Returns the default value if it was defined in case no value was found in the map.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<unknown>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/KeyValueChannelStorage.html b/7.x/docs/classes/KeyValueChannelStorage.html deleted file mode 100644 index 8fee67ae8..000000000 --- a/7.x/docs/classes/KeyValueChannelStorage.html +++ /dev/null @@ -1,25 +0,0 @@ -KeyValueChannelStorage | Community Solid Server - v7.1.0

Stores all the NotificationChannel in a KeyValueStorage. -Encodes IDs/topics before storing them in the KeyValueStorage.

-

Uses a ReadWriteLocker to prevent internal race conditions.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/LazyLoggerFactory.html b/7.x/docs/classes/LazyLoggerFactory.html deleted file mode 100644 index efb498d81..000000000 --- a/7.x/docs/classes/LazyLoggerFactory.html +++ /dev/null @@ -1,12 +0,0 @@ -LazyLoggerFactory | Community Solid Server - v7.1.0

Wraps around another LoggerFactory that can be set lazily. -This is useful when objects are instantiated (and when they create loggers) -before the logging system has been fully instantiated, -as is the case when using a dependency injection framework such as Components.js.

-

Loggers can be created even before a LoggerFactory is set; -any log messages will be buffered and re-emitted.

-

Implements

Constructors

Accessors

Methods

Constructors

Accessors

Methods

diff --git a/7.x/docs/classes/LinkMetadataGenerator.html b/7.x/docs/classes/LinkMetadataGenerator.html deleted file mode 100644 index 6328a3c18..000000000 --- a/7.x/docs/classes/LinkMetadataGenerator.html +++ /dev/null @@ -1,20 +0,0 @@ -LinkMetadataGenerator | Community Solid Server - v7.1.0

Adds a link to the auxiliary resource when called on the subject resource. -Specifically: will be added.

-

In case the input is metadata of an auxiliary resource no metadata will be added

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/LinkRelMetadataWriter.html b/7.x/docs/classes/LinkRelMetadataWriter.html deleted file mode 100644 index ca49c1681..000000000 --- a/7.x/docs/classes/LinkRelMetadataWriter.html +++ /dev/null @@ -1,21 +0,0 @@ -LinkRelMetadataWriter | Community Solid Server - v7.1.0

A MetadataWriter that takes a linking metadata predicates to Link header "rel" values. -The values of the objects will be put in a Link header with the corresponding "rel" value.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/LinkRelObject.html b/7.x/docs/classes/LinkRelObject.html deleted file mode 100644 index 5c2c5b84b..000000000 --- a/7.x/docs/classes/LinkRelObject.html +++ /dev/null @@ -1,14 +0,0 @@ -LinkRelObject | Community Solid Server - v7.1.0

Represents the values that are parsed as metadata

-

Constructors

Properties

Methods

Constructors

  • Parameters

    • value: string

      The value corresponding to the rel value that will be used as predicate in the metadata.

      -
    • Optionalephemeral: boolean

      (Optional) Indicates whether it will be stored by the server.

      -
    • OptionalallowList: string[]

      (Optional) Contains the objects that are allowed to be used with the given predicate.

      -

    Returns LinkRelObject

Properties

allowList: undefined | string[]
ephemeral: boolean
value: NamedNode<string>

Methods

diff --git a/7.x/docs/classes/LinkRelParser.html b/7.x/docs/classes/LinkRelParser.html deleted file mode 100644 index ca5258d3e..000000000 --- a/7.x/docs/classes/LinkRelParser.html +++ /dev/null @@ -1,20 +0,0 @@ -LinkRelParser | Community Solid Server - v7.1.0

Parses Link headers with a specific rel value and adds them as metadata with the given predicate.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/LinkWebIdHandler.html b/7.x/docs/classes/LinkWebIdHandler.html deleted file mode 100644 index 141188659..000000000 --- a/7.x/docs/classes/LinkWebIdHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -LinkWebIdHandler | Community Solid Server - v7.1.0

Handles the linking of WebIDs to account, -thereby registering them to the server IDP.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ListeningActivityHandler.html b/7.x/docs/classes/ListeningActivityHandler.html deleted file mode 100644 index 068252e25..000000000 --- a/7.x/docs/classes/ListeningActivityHandler.html +++ /dev/null @@ -1,24 +0,0 @@ -ListeningActivityHandler | Community Solid Server - v7.1.0

Listens to an ActivityEmitter and calls the stored NotificationHandlers in case of an event -for every matching notification channel found.

-

Takes the rate feature into account so only channels that want a new notification will receive one.

-

Extends StaticHandler so it can be more easily injected into a Components.js configuration. -No class takes this one as input, so to make sure Components.js instantiates it, -it needs to be added somewhere where its presence has no impact, such as the list of initializers.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: unknown

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: unknown

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/LocationInteractionHandler.html b/7.x/docs/classes/LocationInteractionHandler.html deleted file mode 100644 index fcfa8c768..000000000 --- a/7.x/docs/classes/LocationInteractionHandler.html +++ /dev/null @@ -1,32 +0,0 @@ -LocationInteractionHandler | Community Solid Server - v7.1.0

Class LocationInteractionHandler

Transforms an HTTP redirect into a hypermedia document with a redirection link, -such that scripts running in a browser can redirect the user to the next page.

-

This handler addresses the situation where:

-
    -
  • the user visits a first page
  • -
  • this first page contains a script that performs interactions with a JSON API
  • -
  • as a result of a certain interaction, the user needs to be redirected to a second page
  • -
-

Regular HTTP redirects are performed via responses with 3xx status codes. -However, since the consumer of the API in this case is a browser script, -a 3xx response would only reach that script and not move the page for the user.

-

Therefore, this handler changes a 3xx response into a 200 response -with an explicit link to the next page, -enabling the script to move the user to the next page.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/LockingInteractionHandler.html b/7.x/docs/classes/LockingInteractionHandler.html deleted file mode 100644 index 9a562da73..000000000 --- a/7.x/docs/classes/LockingInteractionHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -LockingInteractionHandler | Community Solid Server - v7.1.0

An InteractionHandler that locks the path generated with the stored route during an operation. -If the route is the base account route, this can be used to prevent multiple operations on the same account.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/LockingResourceStore.html b/7.x/docs/classes/LockingResourceStore.html deleted file mode 100644 index b657f89e4..000000000 --- a/7.x/docs/classes/LockingResourceStore.html +++ /dev/null @@ -1,62 +0,0 @@ -LockingResourceStore | Community Solid Server - v7.1.0

Store that for every call acquires a lock before executing it on the requested resource, -and releases it afterwards. -In case the request returns a Representation the lock will only be released when the data stream is finished.

-

For auxiliary resources the lock will be applied to the subject resource. -The actual operation is still executed on the auxiliary resource.

-

Implements

Constructors

Properties

logger: Logger = ...

Methods

  • Acquires a lock that is only released when all data of the resulting representation data has been read, -an error occurs, or the timeout has been triggered. -The resulting data stream will be adapted to reset the timer every time data is read.

    -

    In case the data of the resulting stream is not needed it should be closed to prevent a timeout error.

    -

    Parameters

    Returns Promise<Representation>

  • Returns a promise that resolve when the source stream is finished, -either by ending or emitting an error. -In the case of an error the stream will be destroyed if it hasn't been already.

    -

    Parameters

    • source: Readable

      The input stream.

      -

    Returns Promise<void>

diff --git a/7.x/docs/classes/LoggerInitializer.html b/7.x/docs/classes/LoggerInitializer.html deleted file mode 100644 index 76581fd87..000000000 --- a/7.x/docs/classes/LoggerInitializer.html +++ /dev/null @@ -1,18 +0,0 @@ -LoggerInitializer | Community Solid Server - v7.1.0

Sets up the global logger factory.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/LogoutHandler.html b/7.x/docs/classes/LogoutHandler.html deleted file mode 100644 index f2fad4140..000000000 --- a/7.x/docs/classes/LogoutHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -LogoutHandler | Community Solid Server - v7.1.0

Responsible for logging a user out. -In practice this means making sure the cookie is no longer valid.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/MappedMetadataWriter.html b/7.x/docs/classes/MappedMetadataWriter.html deleted file mode 100644 index 6f8b77c09..000000000 --- a/7.x/docs/classes/MappedMetadataWriter.html +++ /dev/null @@ -1,20 +0,0 @@ -MappedMetadataWriter | Community Solid Server - v7.1.0

A MetadataWriter that takes a map directly converting metadata predicates to headers. -The header value(s) will be the same as the corresponding object value(s).

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/MarkdownToHtmlConverter.html b/7.x/docs/classes/MarkdownToHtmlConverter.html deleted file mode 100644 index ba0c3d05c..000000000 --- a/7.x/docs/classes/MarkdownToHtmlConverter.html +++ /dev/null @@ -1,30 +0,0 @@ -MarkdownToHtmlConverter | Community Solid Server - v7.1.0

Converts Markdown data to HTML. -The generated HTML will be injected into the given template using the parameter htmlBody. -A standard Markdown string will be converted to a

tag, so html and body tags should be part of the template. -In case the Markdown body starts with a header (#), that value will also be used as title parameter.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/MaxKeyLengthStorage.html b/7.x/docs/classes/MaxKeyLengthStorage.html deleted file mode 100644 index 87f963f9f..000000000 --- a/7.x/docs/classes/MaxKeyLengthStorage.html +++ /dev/null @@ -1,35 +0,0 @@ -MaxKeyLengthStorage | Community Solid Server - v7.1.0

Class MaxKeyLengthStorage<T>

A KeyValueStorage that hashes keys in case they would be longer than the set limit. -Hashed keys are prefixed with a certain value to prevent issues with incoming keys that are already hashed. -The default max length is 150 and the default prefix is $hash$.

-

This class mostly exists to prevent issues when writing storage entries to disk. -Keys that are too long would cause issues with the file name limit. -For this reason, only the part after the last / in a key is hashed, to preserve the expected file structure.

-

Type Parameters

  • T

Implements

Constructors

Properties

hashPrefix: string
logger: Logger = ...
maxKeyLength: number
source: KeyValueStorage<string, Entry<T>>

Methods

  • Similar to getKey but checks to make sure the key does not already contain the prefix. -Only necessary for set calls.

    -

    Parameters

    • key: string

    Returns string

diff --git a/7.x/docs/classes/MemoryMapStorage.html b/7.x/docs/classes/MemoryMapStorage.html deleted file mode 100644 index a78bd7c93..000000000 --- a/7.x/docs/classes/MemoryMapStorage.html +++ /dev/null @@ -1,19 +0,0 @@ -MemoryMapStorage | Community Solid Server - v7.1.0

Class MemoryMapStorage<TValue>

A KeyValueStorage which uses a JavaScript Map for internal storage.

-

Type Parameters

  • TValue

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/MemoryResourceLocker.html b/7.x/docs/classes/MemoryResourceLocker.html deleted file mode 100644 index c861485ab..000000000 --- a/7.x/docs/classes/MemoryResourceLocker.html +++ /dev/null @@ -1,16 +0,0 @@ -MemoryResourceLocker | Community Solid Server - v7.1.0

A resource locker making use of the async-lock library. -Note that all locks are kept in memory until they are unlocked which could potentially result -in a memory leak if locks are never unlocked, so make sure this is covered with expiring locks for example, -and/or proper finally handles.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/MetadataGenerator.html b/7.x/docs/classes/MetadataGenerator.html deleted file mode 100644 index a8153a0de..000000000 --- a/7.x/docs/classes/MetadataGenerator.html +++ /dev/null @@ -1,19 +0,0 @@ -MetadataGenerator | Community Solid Server - v7.1.0

Class MetadataGeneratorAbstract

Generic interface for classes that add metadata to a RepresentationMetadata.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/MetadataParser.html b/7.x/docs/classes/MetadataParser.html deleted file mode 100644 index b2f9070ac..000000000 --- a/7.x/docs/classes/MetadataParser.html +++ /dev/null @@ -1,20 +0,0 @@ -MetadataParser | Community Solid Server - v7.1.0

Class MetadataParserAbstract

A parser that takes a specific part of an HttpRequest and converts it into metadata, -such as the value of a header entry.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/MetadataWriter.html b/7.x/docs/classes/MetadataWriter.html deleted file mode 100644 index 8ae6877e4..000000000 --- a/7.x/docs/classes/MetadataWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -MetadataWriter | Community Solid Server - v7.1.0

Class MetadataWriterAbstract

A serializer that converts metadata to headers for an HttpResponse.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/MethodFilterHandler.html b/7.x/docs/classes/MethodFilterHandler.html deleted file mode 100644 index b1f507a4c..000000000 --- a/7.x/docs/classes/MethodFilterHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -MethodFilterHandler | Community Solid Server - v7.1.0

Class MethodFilterHandler<TIn, TOut>

Only accepts requests where the input has a (possibly nested) method field -that matches any one of the given methods. -In case of a match, the input will be sent to the source handler.

-

Type Parameters

  • TIn extends InType
  • TOut

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/MethodModesExtractor.html b/7.x/docs/classes/MethodModesExtractor.html deleted file mode 100644 index 0c94214f4..000000000 --- a/7.x/docs/classes/MethodModesExtractor.html +++ /dev/null @@ -1,23 +0,0 @@ -MethodModesExtractor | Community Solid Server - v7.1.0

Generates permissions for the base set of methods that always require the same permissions. -Specifically: GET, HEAD, POST, PUT and DELETE.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/MethodNotAllowedHttpError.html b/7.x/docs/classes/MethodNotAllowedHttpError.html deleted file mode 100644 index 915b6447f..000000000 --- a/7.x/docs/classes/MethodNotAllowedHttpError.html +++ /dev/null @@ -1,20 +0,0 @@ -MethodNotAllowedHttpError | Community Solid Server - v7.1.0

An error thrown when data was found for the requested identifier, but is not supported by the target resource. -Can keep track of the methods that are not allowed.

-

Hierarchy

  • BaseHttpError
    • MethodNotAllowedHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
methods: readonly string[]
name: string
stack?: string
statusCode: 405
isInstance: ((error: unknown) => error is HttpError<405>)

Checks whether the given error is an instance of this class.

-
statusCode: 405

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/ModesExtractor.html b/7.x/docs/classes/ModesExtractor.html deleted file mode 100644 index 66d8ac88c..000000000 --- a/7.x/docs/classes/ModesExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -ModesExtractor | Community Solid Server - v7.1.0

Class ModesExtractorAbstract

Extracts all AccessModes that are necessary to execute the given Operation.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Operation

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ModifiedMetadataWriter.html b/7.x/docs/classes/ModifiedMetadataWriter.html deleted file mode 100644 index 8eaaaf4de..000000000 --- a/7.x/docs/classes/ModifiedMetadataWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -ModifiedMetadataWriter | Community Solid Server - v7.1.0

A MetadataWriter that generates all the necessary headers related to the modification date of a resource.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ModuleVersionVerifier.html b/7.x/docs/classes/ModuleVersionVerifier.html deleted file mode 100644 index 95066c8e2..000000000 --- a/7.x/docs/classes/ModuleVersionVerifier.html +++ /dev/null @@ -1,20 +0,0 @@ -ModuleVersionVerifier | Community Solid Server - v7.1.0

This initializer simply writes the version number of the server to the storage. -This will be relevant in the future when we look into migration initializers.

-

It automatically parses the version number from the package.json.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/MonitoringStore.html b/7.x/docs/classes/MonitoringStore.html deleted file mode 100644 index 797bbfb14..000000000 --- a/7.x/docs/classes/MonitoringStore.html +++ /dev/null @@ -1,181 +0,0 @@ -MonitoringStore | Community Solid Server - v7.1.0

Store that notifies listeners of changes to its source -by emitting a changed event.

-

Type Parameters

Hierarchy (view full)

Implements

Constructors

Properties

addListener: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Alias for emitter.on(eventName, listener).

-

v0.1.26

-
emit: ((event: "changed", ...args: [target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata]) => boolean) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", ...args: [target: ResourceIdentifier, metadata: RepresentationMetadata]) => boolean)

Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments -to each.

-

Returns true if the event had listeners, false otherwise.

-
const EventEmitter = require('events');
const myEmitter = new EventEmitter();

// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});

console.log(myEmitter.listeners('event'));

myEmitter.emit('event', 1, 2, 3, 4, 5);

// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener -
- -

v0.1.26

-
eventNames: (() => "changed"[]) & (() => (
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update")[])

Returns an array listing the events for which the emitter has registered -listeners. The values in the array are strings or Symbols.

-
const EventEmitter = require('events');
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});

const sym = Symbol('symbol');
myEE.on(sym, () => {});

console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ] -
- -

v6.0.0

-
listenerCount: ((event: "changed") => number) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update") => number)

Returns the number of listeners listening to the event named eventName.

-

If listener is provided, it will return how many times the listener -is found in the list of the listeners of the event.

-

v3.2.0

-

The name of the event being listened for

-

The event handler function

-
listeners: ((event: "changed") => ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)[]) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update") => ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)[])

Returns a copy of the array of listeners for the event named eventName.

-
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ] -
- -

v0.1.26

-
off: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Alias for emitter.removeListener().

-

v10.0.0

-
on: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

-
server.on('connection', (stream) => {
console.log('someone connected!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the -event listener to the beginning of the listeners array.

-
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a -
- -

v0.1.101

-

The name of the event.

-

The callback function

-
once: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Adds a one-timelistener function for the event named eventName. The -next time eventName is triggered, this listener is removed and then invoked.

-
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the -event listener to the beginning of the listeners array.

-
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a -
- -

v0.3.0

-

The name of the event.

-

The callback function

-
prependListener: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Adds the listener function to the beginning of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

-
server.prependListener('connection', (stream) => {
console.log('someone connected!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

v6.0.0

-

The name of the event.

-

The callback function

-
prependOnceListener: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this -listener is removed, and then invoked.

-
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

v6.0.0

-

The name of the event.

-

The callback function

-
rawListeners: ((event: "changed") => ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)[]) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update") => ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)[])

Returns a copy of the array of listeners for the event named eventName, -including any wrappers (such as those created by .once()).

-
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));

// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];

// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();

// Logs "log once" to the console and removes the listener
logFnWrapper();

emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');

// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log'); -
- -

v9.4.0

-
removeAllListeners: ((event: "changed") => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update") => this)

Removes all listeners, or those of the specified eventName.

-

It is bad practice to remove listeners added elsewhere in the code, -particularly when the EventEmitter instance was created by some other -component or module (e.g. sockets or file streams).

-

Returns a reference to the EventEmitter, so that calls can be chained.

-

v0.1.26

-
removeListener: ((event: "changed", listener: ((target: ResourceIdentifier, activity:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">, metadata: RepresentationMetadata) => void)) => this) & ((event:
    | "https://www.w3.org/ns/activitystreams#object"
    | "https://www.w3.org/ns/activitystreams#target"
    | "https://www.w3.org/ns/activitystreams#Add"
    | "https://www.w3.org/ns/activitystreams#Create"
    | "https://www.w3.org/ns/activitystreams#Delete"
    | "https://www.w3.org/ns/activitystreams#Remove"
    | "https://www.w3.org/ns/activitystreams#Update", listener: ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)) => this)

Removes the specified listener from the listener array for the event namedeventName.

-
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback); -
- -

removeListener() will remove, at most, one instance of a listener from the -listener array. If any single listener has been added multiple times to the -listener array for the specified eventName, then removeListener() must be -called multiple times to remove each instance.

-

Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution -will not remove them fromemit() in progress. Subsequent events behave as expected.

-
const myEmitter = new MyEmitter();

const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};

const callbackB = () => {
console.log('B');
};

myEmitter.on('event', callbackA);

myEmitter.on('event', callbackB);

// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B

// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A -
- -

Because listeners are managed using an internal array, calling this will -change the position indices of any listener registered after the listener -being removed. This will not impact the order in which listeners are called, -but it means that any copies of the listener array as returned by -the emitter.listeners() method will need to be recreated.

-

When a single function has been added as a handler multiple times for a single -event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

-
const ee = new EventEmitter();

function pong() {
console.log('pong');
}

ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);

ee.emit('ping');
ee.emit('ping'); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

v0.1.26

-

Methods

  • Parameters

    • error: Error
    • event: string
    • Rest...args: any[]

    Returns void

  • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

    -

    Returns number

    v1.0.0

    -
  • By default EventEmitters will print a warning if more than 10 listeners are -added for a particular event. This is a useful default that helps finding -memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

    -

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
diff --git a/7.x/docs/classes/MovedPermanentlyHttpError.html b/7.x/docs/classes/MovedPermanentlyHttpError.html deleted file mode 100644 index b84e1de78..000000000 --- a/7.x/docs/classes/MovedPermanentlyHttpError.html +++ /dev/null @@ -1,20 +0,0 @@ -MovedPermanentlyHttpError | Community Solid Server - v7.1.0

Error used for resources that have been moved permanently. -Methods other than GET may or may not be changed to GET in subsequent requests.

-

Hierarchy

  • BaseHttpError
    • MovedPermanentlyHttpError

Constructors

Properties

cause?: unknown
errorCode: string
location: string
message: string
name: string
stack?: string
statusCode: 301
isInstance: ((error: unknown) => error is HttpError<301>)

Checks whether the given error is an instance of this class.

-
statusCode: 301

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/N3PatchBodyParser.html b/7.x/docs/classes/N3PatchBodyParser.html deleted file mode 100644 index b56a55443..000000000 --- a/7.x/docs/classes/N3PatchBodyParser.html +++ /dev/null @@ -1,20 +0,0 @@ -N3PatchBodyParser | Community Solid Server - v7.1.0

Parses an N3 Patch document and makes sure it conforms to the specification requirements. -Requirements can be found at Solid Protocol, §5.3.1: https://solid.github.io/specification/protocol#n3-patch

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/N3PatchModesExtractor.html b/7.x/docs/classes/N3PatchModesExtractor.html deleted file mode 100644 index bdca137ec..000000000 --- a/7.x/docs/classes/N3PatchModesExtractor.html +++ /dev/null @@ -1,26 +0,0 @@ -N3PatchModesExtractor | Community Solid Server - v7.1.0

Extracts the required access modes from an N3 Patch.

-

Solid, §5.3.1: "When ?conditions is non-empty, servers MUST treat the request as a Read operation. -When ?insertions is non-empty, servers MUST (also) treat the request as an Append operation. -When ?deletions is non-empty, servers MUST treat the request as a Read and Write operation." -https://solid.github.io/specification/protocol#n3-patch

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/N3Patcher.html b/7.x/docs/classes/N3Patcher.html deleted file mode 100644 index 35e49f476..000000000 --- a/7.x/docs/classes/N3Patcher.html +++ /dev/null @@ -1,21 +0,0 @@ -N3Patcher | Community Solid Server - v7.1.0

Applies an N3 Patch to a representation, or creates a new one if required. -Follows all the steps from Solid, §5.3.1: https://solid.github.io/specification/protocol#n3-patch

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NoCheckOwnershipValidator.html b/7.x/docs/classes/NoCheckOwnershipValidator.html deleted file mode 100644 index 56999b7a6..000000000 --- a/7.x/docs/classes/NoCheckOwnershipValidator.html +++ /dev/null @@ -1,21 +0,0 @@ -NoCheckOwnershipValidator | Community Solid Server - v7.1.0

Does not do any checks to verify if the agent doing the request is actually the owner of the WebID. -This should only be used for debugging.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input that could potentially be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input data that will be handled if it can be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotFoundHttpError.html b/7.x/docs/classes/NotFoundHttpError.html deleted file mode 100644 index b49f093a3..000000000 --- a/7.x/docs/classes/NotFoundHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -NotFoundHttpError | Community Solid Server - v7.1.0

An error thrown when no data was found for the requested identifier.

-

Hierarchy

  • BaseHttpError
    • NotFoundHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 404
isInstance: ((error: unknown) => error is HttpError<404>)

Checks whether the given error is an instance of this class.

-
statusCode: 404

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/NotImplementedHttpError.html b/7.x/docs/classes/NotImplementedHttpError.html deleted file mode 100644 index 1062acd4a..000000000 --- a/7.x/docs/classes/NotImplementedHttpError.html +++ /dev/null @@ -1,19 +0,0 @@ -NotImplementedHttpError | Community Solid Server - v7.1.0

The server either does not recognize the request method, or it lacks the ability to fulfil the request. -Usually this implies future availability (e.g., a new feature of a web-service API).

-

Hierarchy

  • BaseHttpError
    • NotImplementedHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 501
isInstance: ((error: unknown) => error is HttpError<501>)

Checks whether the given error is an instance of this class.

-
statusCode: 501

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/NotificationDescriber.html b/7.x/docs/classes/NotificationDescriber.html deleted file mode 100644 index e0dca4525..000000000 --- a/7.x/docs/classes/NotificationDescriber.html +++ /dev/null @@ -1,22 +0,0 @@ -NotificationDescriber | Community Solid Server - v7.1.0

Outputs quads describing all the subscription services of the server, -as described in https://solidproject.org/TR/2022/notifications-protocol-20221231#discovery and -https://solidproject.org/TR/2022/notifications-protocol-20221231#description-resource-data-model.

-

In the future, if there is ever a need to add notification channels to the description resource as described above, -this functionality should probably be added here as well.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotificationEmitter.html b/7.x/docs/classes/NotificationEmitter.html deleted file mode 100644 index 638481d34..000000000 --- a/7.x/docs/classes/NotificationEmitter.html +++ /dev/null @@ -1,19 +0,0 @@ -NotificationEmitter | Community Solid Server - v7.1.0

Class NotificationEmitterAbstract

Emits a serialized Notification to the channel.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotificationGenerator.html b/7.x/docs/classes/NotificationGenerator.html deleted file mode 100644 index 39fd04a14..000000000 --- a/7.x/docs/classes/NotificationGenerator.html +++ /dev/null @@ -1,19 +0,0 @@ -NotificationGenerator | Community Solid Server - v7.1.0

Class NotificationGeneratorAbstract

Creates a Notification based on the provided input.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotificationHandler.html b/7.x/docs/classes/NotificationHandler.html deleted file mode 100644 index 91b3ba16d..000000000 --- a/7.x/docs/classes/NotificationHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -NotificationHandler | Community Solid Server - v7.1.0

Class NotificationHandlerAbstract

Makes sure an activity gets emitted to the relevant channel.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotificationSerializer.html b/7.x/docs/classes/NotificationSerializer.html deleted file mode 100644 index 20a2cf5b4..000000000 --- a/7.x/docs/classes/NotificationSerializer.html +++ /dev/null @@ -1,21 +0,0 @@ -NotificationSerializer | Community Solid Server - v7.1.0

Class NotificationSerializerAbstract

Converts a Notification into a Representation that can be transmitted.

-

This is a separate class between a generator and emitter, -so that a specific notification channel type can add extra metadata to the Representation if needed.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/NotificationSubscriber.html b/7.x/docs/classes/NotificationSubscriber.html deleted file mode 100644 index a4602f0b7..000000000 --- a/7.x/docs/classes/NotificationSubscriber.html +++ /dev/null @@ -1,23 +0,0 @@ -NotificationSubscriber | Community Solid Server - v7.1.0

Handles notification subscriptions by creating a notification channel.

-

Uses the information from the provided NotificationChannelType to validate the input -and verify the request has the required permissions available. -If successful the generated channel will be stored in a NotificationChannelStorage.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/NotificationUnsubscriber.html b/7.x/docs/classes/NotificationUnsubscriber.html deleted file mode 100644 index 7d98e9d37..000000000 --- a/7.x/docs/classes/NotificationUnsubscriber.html +++ /dev/null @@ -1,21 +0,0 @@ -NotificationUnsubscriber | Community Solid Server - v7.1.0

Allows clients to unsubscribe from notification channels. -Should be wrapped in a route handler that only allows DELETE operations.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/OAuthHttpError.html b/7.x/docs/classes/OAuthHttpError.html deleted file mode 100644 index 1a5aa4e3e..000000000 --- a/7.x/docs/classes/OAuthHttpError.html +++ /dev/null @@ -1,22 +0,0 @@ -OAuthHttpError | Community Solid Server - v7.1.0

Represents on OAuth error that is being thrown. -OAuth error responses have additional fields that need to be present in the JSON response, -as described in RFC 6749, §4.1.2.1.

-

Hierarchy (view full)

Constructors

Properties

cause?: unknown
errorCode: string
mandatoryFields: OAuthErrorFields
message: string
name: string
stack?: string
statusCode: number
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

-
stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

diff --git a/7.x/docs/classes/OidcControlHandler.html b/7.x/docs/classes/OidcControlHandler.html deleted file mode 100644 index 6a13f49b8..000000000 --- a/7.x/docs/classes/OidcControlHandler.html +++ /dev/null @@ -1,27 +0,0 @@ -OidcControlHandler | Community Solid Server - v7.1.0

A ControlHandler that only returns results if there is an active OIDC interaction.

-

Hierarchy (view full)

Constructors

Methods

diff --git a/7.x/docs/classes/OidcHttpHandler.html b/7.x/docs/classes/OidcHttpHandler.html deleted file mode 100644 index f6ade84e5..000000000 --- a/7.x/docs/classes/OidcHttpHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -OidcHttpHandler | Community Solid Server - v7.1.0

HTTP handler that redirects all requests to the OIDC library.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/OkResponseDescription.html b/7.x/docs/classes/OkResponseDescription.html deleted file mode 100644 index f74b5ca4d..000000000 --- a/7.x/docs/classes/OkResponseDescription.html +++ /dev/null @@ -1,9 +0,0 @@ -OkResponseDescription | Community Solid Server - v7.1.0

Corresponds to a 200 or 206 response, containing relevant metadata and potentially data. -A 206 will be returned if range metadata is found in the metadata object.

-

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

data?: Guarded<Readable>
statusCode: number
diff --git a/7.x/docs/classes/OperationHandler.html b/7.x/docs/classes/OperationHandler.html deleted file mode 100644 index 56d8c1fb5..000000000 --- a/7.x/docs/classes/OperationHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -OperationHandler | Community Solid Server - v7.1.0

Class OperationHandlerAbstract

Handler for a specific operation type.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/OperationHttpHandler.html b/7.x/docs/classes/OperationHttpHandler.html deleted file mode 100644 index e09c17912..000000000 --- a/7.x/docs/classes/OperationHttpHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -OperationHttpHandler | Community Solid Server - v7.1.0

Class OperationHttpHandlerAbstract

An HTTP handler that makes use of an already parsed Operation.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/OperationRouterHandler.html b/7.x/docs/classes/OperationRouterHandler.html deleted file mode 100644 index 42758a344..000000000 --- a/7.x/docs/classes/OperationRouterHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -OperationRouterHandler | Community Solid Server - v7.1.0

Hierarchy (view full)

Constructors

Properties

allMethods: boolean
allowedMethods: string[]
allowedPathNamesRegEx: RegExp[]
baseUrlLength: number

Methods

diff --git a/7.x/docs/classes/OriginalUrlExtractor.html b/7.x/docs/classes/OriginalUrlExtractor.html deleted file mode 100644 index a2ba181fa..000000000 --- a/7.x/docs/classes/OriginalUrlExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -OriginalUrlExtractor | Community Solid Server - v7.1.0

Reconstructs the original URL of an incoming HttpRequest.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/OwnerMetadataWriter.html b/7.x/docs/classes/OwnerMetadataWriter.html deleted file mode 100644 index fbaa64620..000000000 --- a/7.x/docs/classes/OwnerMetadataWriter.html +++ /dev/null @@ -1,27 +0,0 @@ -OwnerMetadataWriter | Community Solid Server - v7.1.0

Adds link headers indicating who the owners are when accessing the base URL of a pod. -Only owners that have decided to be visible will be shown.

-

Solid, §4.1: "When a server wants to advertise the owner of a storage, -the server MUST include the Link header with rel="http://www.w3.org/ns/solid/terms#owner" -targeting the URI of the owner in the response of HTTP HEAD or GET requests targeting the root container." -https://solidproject.org/TR/2022/protocol-20221231#server-storage-link-owner

-

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...
podStore: PodStore
storageStrategy: StorageLocationStrategy

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/OwnerPermissionReader.html b/7.x/docs/classes/OwnerPermissionReader.html deleted file mode 100644 index 0258d8521..000000000 --- a/7.x/docs/classes/OwnerPermissionReader.html +++ /dev/null @@ -1,26 +0,0 @@ -OwnerPermissionReader | Community Solid Server - v7.1.0

Allows control access if the request is being made by an owner of the pod containing the resource.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Finds the owners of the given pods. -Return value is a record where the keys are the pods and the values are all the WebIDs that own this pod.

    -

    Parameters

    • pods: string[]

    Returns Promise<Record<string, string[]>>

  • Finds all pods that contain the given identifiers. -Return value is a record where the keys are the identifiers and the values the associated pod.

    -

    Parameters

    Returns Promise<Record<string, string>>

diff --git a/7.x/docs/classes/OwnershipValidator.html b/7.x/docs/classes/OwnershipValidator.html deleted file mode 100644 index ab66c0d22..000000000 --- a/7.x/docs/classes/OwnershipValidator.html +++ /dev/null @@ -1,21 +0,0 @@ -OwnershipValidator | Community Solid Server - v7.1.0

Class OwnershipValidatorAbstract

A class that validates if a someone owns a WebId. -Will throw an error if the WebId is not valid or ownership could not be validated. -The error message should contain a description of what is wrong and how it can be resolved.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input that could potentially be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input that needs to be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input data that will be handled if it can be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ParallelHandler.html b/7.x/docs/classes/ParallelHandler.html deleted file mode 100644 index bf5640a27..000000000 --- a/7.x/docs/classes/ParallelHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -ParallelHandler | Community Solid Server - v7.1.0

Class ParallelHandler<TIn, TOut>

A composite handler that executes handlers in parallel.

-

Type Parameters

  • TIn = void
  • TOut = void

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ParentContainerReader.html b/7.x/docs/classes/ParentContainerReader.html deleted file mode 100644 index 2b81cece1..000000000 --- a/7.x/docs/classes/ParentContainerReader.html +++ /dev/null @@ -1,23 +0,0 @@ -ParentContainerReader | Community Solid Server - v7.1.0

Determines delete and create permissions for those resources that need it -by making sure the parent container has the required permissions.

-

Create requires append permissions on the parent container. -Delete requires write permissions on both the parent container and the resource itself.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ParsingHttpHandler.html b/7.x/docs/classes/ParsingHttpHandler.html deleted file mode 100644 index 9a3edfc7c..000000000 --- a/7.x/docs/classes/ParsingHttpHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -ParsingHttpHandler | Community Solid Server - v7.1.0

Parses requests and sends the resulting Operation to the wrapped OperationHttpHandler. -Errors are caught and handled by the ErrorHandler. -In case the OperationHttpHandler returns a result it will be sent to the ResponseWriter.

-

Hierarchy (view full)

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PartialReadWriteLocker.html b/7.x/docs/classes/PartialReadWriteLocker.html deleted file mode 100644 index bcc9533f9..000000000 --- a/7.x/docs/classes/PartialReadWriteLocker.html +++ /dev/null @@ -1,39 +0,0 @@ -PartialReadWriteLocker | Community Solid Server - v7.1.0

A BaseReadWriteLocker that stores the counter and its associated locks in memory. -The consequence of this is that multiple read requests are possible as long as they occur on the same worker thread. -A read request from a different worker thread will have to wait -until those from the current worker thread are finished.

-

The main reason for this class is due to the file locker that we use only allowing locks to be released -by the same worker thread that acquired them.

-

Hierarchy (view full)

Constructors

Properties

countLocker: ResourceLocker

Methods

diff --git a/7.x/docs/classes/PassthroughAdapter.html b/7.x/docs/classes/PassthroughAdapter.html deleted file mode 100644 index 9ff5b21e4..000000000 --- a/7.x/docs/classes/PassthroughAdapter.html +++ /dev/null @@ -1,14 +0,0 @@ -PassthroughAdapter | Community Solid Server - v7.1.0

OIDC Adapter that calls the corresponding functions of the source Adapter. -Can be extended by adapters that do not want to override all functions -by implementing a decorator pattern.

-

Hierarchy (view full)

Implements

  • Adapter

Constructors

Properties

name: string
source: Adapter

Methods

diff --git a/7.x/docs/classes/PassthroughAdapterFactory.html b/7.x/docs/classes/PassthroughAdapterFactory.html deleted file mode 100644 index ca95e1163..000000000 --- a/7.x/docs/classes/PassthroughAdapterFactory.html +++ /dev/null @@ -1,8 +0,0 @@ -PassthroughAdapterFactory | Community Solid Server - v7.1.0

A factory that generates an Adapter to be used by the IDP to persist information.

-

The oidc-provider library will call the relevant functions when it needs to find/create/delete metadata. -For a full explanation of how these functions work and what is expected, -have a look at https://github.com/panva/node-oidc-provider/blob/main/example/my_adapter.js

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/PassthroughConverter.html b/7.x/docs/classes/PassthroughConverter.html deleted file mode 100644 index f92d2b59b..000000000 --- a/7.x/docs/classes/PassthroughConverter.html +++ /dev/null @@ -1,19 +0,0 @@ -PassthroughConverter | Community Solid Server - v7.1.0

A RepresentationConverter that does not perform any conversion.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/PassthroughDataAccessor.html b/7.x/docs/classes/PassthroughDataAccessor.html deleted file mode 100644 index 1897953a6..000000000 --- a/7.x/docs/classes/PassthroughDataAccessor.html +++ /dev/null @@ -1,52 +0,0 @@ -PassthroughDataAccessor | Community Solid Server - v7.1.0

DataAccessor that calls the corresponding functions of the source DataAccessor. -Can be extended by data accessors that do not want to override all functions -by implementing a decorator pattern.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

diff --git a/7.x/docs/classes/PassthroughKeyValueStorage.html b/7.x/docs/classes/PassthroughKeyValueStorage.html deleted file mode 100644 index dd874c476..000000000 --- a/7.x/docs/classes/PassthroughKeyValueStorage.html +++ /dev/null @@ -1,29 +0,0 @@ -PassthroughKeyValueStorage | Community Solid Server - v7.1.0

Class PassthroughKeyValueStorage<TVal>Abstract

Abstract class to create a KeyValueStorage by wrapping around another one.

-

Exposes abstract functions to modify the key before passing it to the the source storage.

-

Type Parameters

  • TVal

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

source: KeyValueStorage<string, TVal>

Methods

  • This function will be called on the input key and used as a new key when calling the source.

    -

    Parameters

    • key: string

      Original input key.

      -

    Returns string

    A new key to use with the source storage.

    -
diff --git a/7.x/docs/classes/PassthroughStore.html b/7.x/docs/classes/PassthroughStore.html deleted file mode 100644 index b1827bd63..000000000 --- a/7.x/docs/classes/PassthroughStore.html +++ /dev/null @@ -1,41 +0,0 @@ -PassthroughStore | Community Solid Server - v7.1.0

Store that calls the corresponding functions of the source Store. -Can be extended by stores that do not want to override all functions -by implementing a decorator pattern.

-

Type Parameters

Hierarchy (view full)

Implements

Constructors

Properties

source: T

Methods

diff --git a/7.x/docs/classes/PasswordLoginHandler.html b/7.x/docs/classes/PasswordLoginHandler.html deleted file mode 100644 index e7aff56d4..000000000 --- a/7.x/docs/classes/PasswordLoginHandler.html +++ /dev/null @@ -1,30 +0,0 @@ -PasswordLoginHandler | Community Solid Server - v7.1.0

Handles the submission of the Login Form and logs the user in.

-

Hierarchy (view full)

Implements

Constructors

Properties

accountStore: AccountStore
cookieStore: CookieStore
logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/PatchHandler.html b/7.x/docs/classes/PatchHandler.html deleted file mode 100644 index bf470ff83..000000000 --- a/7.x/docs/classes/PatchHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -PatchHandler | Community Solid Server - v7.1.0

Class PatchHandler<T>Abstract

Executes the given Patch.

-

Type Parameters

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PatchOperationHandler.html b/7.x/docs/classes/PatchOperationHandler.html deleted file mode 100644 index 832b84eaf..000000000 --- a/7.x/docs/classes/PatchOperationHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -PatchOperationHandler | Community Solid Server - v7.1.0

Handles PATCH Operations. -Calls the modifyResource function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/PatchingStore.html b/7.x/docs/classes/PatchingStore.html deleted file mode 100644 index bf1132c73..000000000 --- a/7.x/docs/classes/PatchingStore.html +++ /dev/null @@ -1,41 +0,0 @@ -PatchingStore | Community Solid Server - v7.1.0

ResourceStore using decorator pattern for the modifyResource function. -If the original store supports the Patch, behaviour will be identical, -otherwise the PatchHandler will be called instead.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

source: T

Methods

diff --git a/7.x/docs/classes/PathBasedReader.html b/7.x/docs/classes/PathBasedReader.html deleted file mode 100644 index ea41c5c39..000000000 --- a/7.x/docs/classes/PathBasedReader.html +++ /dev/null @@ -1,24 +0,0 @@ -PathBasedReader | Community Solid Server - v7.1.0

Redirects requests to specific PermissionReaders based on their identifier. -The keys are regular expression strings. -The regular expressions should all start with a slash -and will be evaluated relative to the base URL.

-

Will error if no match is found.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PermissionBasedAuthorizer.html b/7.x/docs/classes/PermissionBasedAuthorizer.html deleted file mode 100644 index b695513e0..000000000 --- a/7.x/docs/classes/PermissionBasedAuthorizer.html +++ /dev/null @@ -1,26 +0,0 @@ -PermissionBasedAuthorizer | Community Solid Server - v7.1.0

Authorizer that bases its decision on the output it gets from its PermissionReader. -For each permission it checks if the reader allows that for at least one credential type, -if yes, authorization is granted. -undefined values for reader results are interpreted as false.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PermissionReader.html b/7.x/docs/classes/PermissionReader.html deleted file mode 100644 index 46a3e882c..000000000 --- a/7.x/docs/classes/PermissionReader.html +++ /dev/null @@ -1,21 +0,0 @@ -PermissionReader | Community Solid Server - v7.1.0

Class PermissionReaderAbstract

Discovers the permissions of the given credentials on the given identifier. -If the reader finds no permission for the requested identifiers and credentials, -it can return an empty or incomplete map.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PickWebIdHandler.html b/7.x/docs/classes/PickWebIdHandler.html deleted file mode 100644 index 7ce4776ea..000000000 --- a/7.x/docs/classes/PickWebIdHandler.html +++ /dev/null @@ -1,26 +0,0 @@ -PickWebIdHandler | Community Solid Server - v7.1.0

Allows users to choose which WebID they want to authenticate as during an OIDC interaction.

-

One of the main reason picking a WebID is a separate class/request from consenting to the OIDC interaction, -is because the OIDC-provider will only give the information we need for consent -once we have added an accountId to the OIDC interaction, which we do in this class. -The library also really wants to use that accountId as the value that you use for generating the tokens, -meaning we can't just use another value there, so we need to assign the WebID to it, -unless we use a hacky workaround.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/PlainJsonLdFilter.html b/7.x/docs/classes/PlainJsonLdFilter.html deleted file mode 100644 index c0f725d52..000000000 --- a/7.x/docs/classes/PlainJsonLdFilter.html +++ /dev/null @@ -1,21 +0,0 @@ -PlainJsonLdFilter | Community Solid Server - v7.1.0

Filter that errors on JSON-LD with a plain application/json content-type. -This will not store metadata, only throw errors if necessary.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/PodCreator.html b/7.x/docs/classes/PodCreator.html deleted file mode 100644 index 0962c452d..000000000 --- a/7.x/docs/classes/PodCreator.html +++ /dev/null @@ -1,19 +0,0 @@ -PodCreator | Community Solid Server - v7.1.0

Class PodCreatorAbstract

Handles creating a pod and linking the created WebID.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PodQuotaStrategy.html b/7.x/docs/classes/PodQuotaStrategy.html deleted file mode 100644 index 472f756d5..000000000 --- a/7.x/docs/classes/PodQuotaStrategy.html +++ /dev/null @@ -1,27 +0,0 @@ -PodQuotaStrategy | Community Solid Server - v7.1.0

The PodQuotaStrategy sets a limit on the amount of data stored on a per pod basis

-

Hierarchy (view full)

Constructors

Properties

limit: Size
reporter: SizeReporter<unknown>

Methods

  • Get a Passthrough stream that will keep track of the available space. -If the quota is exceeded the stream will emit an error and destroy itself. -Like other Passthrough instances this will simply pass on the chunks, when the quota isn't exceeded.

    -

    Parameters

    Returns Promise<Guarded<PassThrough>>

    a Passthrough instance that errors when quota is exceeded

    -
  • Get the available space when writing data to the given identifier. -If the given resource already exists it will deduct the already taken up -space by that resource since it is going to be overwritten and thus counts -as available space.

    -

    Parameters

    • identifier: ResourceIdentifier

      the identifier of the resource of which you want the available space

      -

    Returns Promise<Size>

    the available space and the unit of the space as a Size object

    -
diff --git a/7.x/docs/classes/PodStorageLocationStrategy.html b/7.x/docs/classes/PodStorageLocationStrategy.html deleted file mode 100644 index 27a3eca86..000000000 --- a/7.x/docs/classes/PodStorageLocationStrategy.html +++ /dev/null @@ -1,8 +0,0 @@ -PodStorageLocationStrategy | Community Solid Server - v7.1.0

Class PodStorageLocationStrategy

A StorageLocationStrategy to be used when the server has pods which each are a different storage. -The IdentifierGenerator that is used to generate URLs for the pods -is used here to determine what the root pod URL is.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/PostOperationHandler.html b/7.x/docs/classes/PostOperationHandler.html deleted file mode 100644 index 540a26058..000000000 --- a/7.x/docs/classes/PostOperationHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -PostOperationHandler | Community Solid Server - v7.1.0

Handles POST Operations. -Calls the addResource function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PreconditionFailedHttpError.html b/7.x/docs/classes/PreconditionFailedHttpError.html deleted file mode 100644 index 3fbbc42d2..000000000 --- a/7.x/docs/classes/PreconditionFailedHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -PreconditionFailedHttpError | Community Solid Server - v7.1.0

Class PreconditionFailedHttpError

An error thrown when access was denied due to the conditions on the request.

-

Hierarchy

  • BaseHttpError
    • PreconditionFailedHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 412
isInstance: ((error: unknown) => error is HttpError<412>)

Checks whether the given error is an instance of this class.

-
statusCode: 412

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/PreferenceParser.html b/7.x/docs/classes/PreferenceParser.html deleted file mode 100644 index 085533fe1..000000000 --- a/7.x/docs/classes/PreferenceParser.html +++ /dev/null @@ -1,19 +0,0 @@ -PreferenceParser | Community Solid Server - v7.1.0

Class PreferenceParserAbstract

Creates RepresentationPreferences based on the incoming HTTP headers in a HttpRequest.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PreferenceSupport.html b/7.x/docs/classes/PreferenceSupport.html deleted file mode 100644 index 11840ca15..000000000 --- a/7.x/docs/classes/PreferenceSupport.html +++ /dev/null @@ -1,7 +0,0 @@ -PreferenceSupport | Community Solid Server - v7.1.0

Helper class that checks if the stored RepresentationConverter and RepresentationPreferences -support the given input RepresentationPreferences and Representation.

-

Creates a new object by combining the input arguments together with the stored preferences and checks -if the converter can handle that object.

-

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ProcessHandler.html b/7.x/docs/classes/ProcessHandler.html deleted file mode 100644 index f43c25180..000000000 --- a/7.x/docs/classes/ProcessHandler.html +++ /dev/null @@ -1,27 +0,0 @@ -ProcessHandler | Community Solid Server - v7.1.0

Class ProcessHandler<TIn, TOut>

A wrapper handler that will only run the wrapped handler if it is executed from:

-
    -
  • when running multithreaded: either the primary or a worker process
  • -
  • when running singlethreaded: the only process (i.e. always)
  • -
-

Type Parameters

  • TIn
  • TOut

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PromptFactory.html b/7.x/docs/classes/PromptFactory.html deleted file mode 100644 index 13f547252..000000000 --- a/7.x/docs/classes/PromptFactory.html +++ /dev/null @@ -1,19 +0,0 @@ -PromptFactory | Community Solid Server - v7.1.0

Class PromptFactoryAbstract

Used to generate custom interactionPolicy.Prompts.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: DefaultPolicy

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: DefaultPolicy

      Input that needs to be handled.

      -

    Returns Promise<void>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: DefaultPolicy

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PromptHandler.html b/7.x/docs/classes/PromptHandler.html deleted file mode 100644 index 446401a1d..000000000 --- a/7.x/docs/classes/PromptHandler.html +++ /dev/null @@ -1,25 +0,0 @@ -PromptHandler | Community Solid Server - v7.1.0

Redirects requests based on the OIDC Interaction prompt. -Errors in case no match was found.

-

The reason we use this intermediate handler -instead of letting the OIDC library redirect directly to the correct page, -is because that library creates a cookie with of scope of the target page. -By having the library always redirect to the index page, -the cookie is relevant for all pages and other pages can see if we are still in an interaction.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/PublicCredentialsExtractor.html b/7.x/docs/classes/PublicCredentialsExtractor.html deleted file mode 100644 index ec671e3be..000000000 --- a/7.x/docs/classes/PublicCredentialsExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -PublicCredentialsExtractor | Community Solid Server - v7.1.0

Class PublicCredentialsExtractor

Extracts the "public credentials", to be used for data everyone has access to. -This class mainly exists so a Credentials is still generated in case the token parsing fails.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/PutOperationHandler.html b/7.x/docs/classes/PutOperationHandler.html deleted file mode 100644 index 1f674741d..000000000 --- a/7.x/docs/classes/PutOperationHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -PutOperationHandler | Community Solid Server - v7.1.0

Handles PUT Operations. -Calls the setRepresentation function from a ResourceStore.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/QuadToRdfConverter.html b/7.x/docs/classes/QuadToRdfConverter.html deleted file mode 100644 index 76646026b..000000000 --- a/7.x/docs/classes/QuadToRdfConverter.html +++ /dev/null @@ -1,27 +0,0 @@ -QuadToRdfConverter | Community Solid Server - v7.1.0

Converts internal/quads to most major RDF serializations.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/QuotaStrategy.html b/7.x/docs/classes/QuotaStrategy.html deleted file mode 100644 index a43d2fd54..000000000 --- a/7.x/docs/classes/QuotaStrategy.html +++ /dev/null @@ -1,31 +0,0 @@ -QuotaStrategy | Community Solid Server - v7.1.0

Class QuotaStrategyAbstract

A QuotaStrategy is used when we want to set a limit to the amount of data that can be -stored on the server. -This can range from a limit for the whole server to a limit on a per pod basis. -The way the size of a resource is calculated is implemented by the implementing classes. -This can be bytes, quads, file count, ...

-

Hierarchy (view full)

Constructors

Properties

limit: Size
reporter: SizeReporter<unknown>

Methods

  • Get a Passthrough stream that will keep track of the available space. -If the quota is exceeded the stream will emit an error and destroy itself. -Like other Passthrough instances this will simply pass on the chunks, when the quota isn't exceeded.

    -

    Parameters

    Returns Promise<Guarded<PassThrough>>

    a Passthrough instance that errors when quota is exceeded

    -
  • Get the available space when writing data to the given identifier. -If the given resource already exists it will deduct the already taken up -space by that resource since it is going to be overwritten and thus counts -as available space.

    -

    Parameters

    • identifier: ResourceIdentifier

      the identifier of the resource of which you want the available space

      -

    Returns Promise<Size>

    the available space and the unit of the space as a Size object

    -
  • Get the currently used/occupied space.

    -

    Parameters

    Returns Promise<Size>

    a Size object containing the requested value. -If quota is not relevant for this identifier, Size.amount should be Number.MAX_SAFE_INTEGER

    -
diff --git a/7.x/docs/classes/QuotaValidator.html b/7.x/docs/classes/QuotaValidator.html deleted file mode 100644 index 8dc09dad0..000000000 --- a/7.x/docs/classes/QuotaValidator.html +++ /dev/null @@ -1,19 +0,0 @@ -QuotaValidator | Community Solid Server - v7.1.0

The QuotaValidator validates data streams by making sure they would not exceed the limits of a QuotaStrategy.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RangeMetadataWriter.html b/7.x/docs/classes/RangeMetadataWriter.html deleted file mode 100644 index 5e22ea489..000000000 --- a/7.x/docs/classes/RangeMetadataWriter.html +++ /dev/null @@ -1,27 +0,0 @@ -RangeMetadataWriter | Community Solid Server - v7.1.0

Generates the necessary content-range header if there is range metadata. -If the start or end is unknown, a * will be used instead. -According to the RFC, this is incorrect, -but is all we can do as long as we don't know the full length of the representation in advance. -For the same reason, the total length of the representation will always be *.

-

This class also adds the content-length header. -This will contain either the full size for standard requests, -or the size of the slice for range requests.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RangeNotSatisfiedHttpError.html b/7.x/docs/classes/RangeNotSatisfiedHttpError.html deleted file mode 100644 index 7a63ef6d4..000000000 --- a/7.x/docs/classes/RangeNotSatisfiedHttpError.html +++ /dev/null @@ -1,21 +0,0 @@ -RangeNotSatisfiedHttpError | Community Solid Server - v7.1.0

Class RangeNotSatisfiedHttpError

An error thrown when the requested range is not supported.

-

Hierarchy

  • BaseHttpError
    • RangeNotSatisfiedHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 416
isInstance: ((error: unknown) => error is HttpError<416>)

Checks whether the given error is an instance of this class.

-
statusCode: 416

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/RangePreferenceParser.html b/7.x/docs/classes/RangePreferenceParser.html deleted file mode 100644 index 70d576e2b..000000000 --- a/7.x/docs/classes/RangePreferenceParser.html +++ /dev/null @@ -1,20 +0,0 @@ -RangePreferenceParser | Community Solid Server - v7.1.0

Parses the range header into range preferences. -If the range corresponds to a suffix-length range, it will be stored in start as a negative value.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RawBodyParser.html b/7.x/docs/classes/RawBodyParser.html deleted file mode 100644 index d8510e873..000000000 --- a/7.x/docs/classes/RawBodyParser.html +++ /dev/null @@ -1,20 +0,0 @@ -RawBodyParser | Community Solid Server - v7.1.0

Converts incoming HttpRequest to a Representation without any further parsing.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RdfPatcher.html b/7.x/docs/classes/RdfPatcher.html deleted file mode 100644 index 3e279d99f..000000000 --- a/7.x/docs/classes/RdfPatcher.html +++ /dev/null @@ -1,21 +0,0 @@ -RdfPatcher | Community Solid Server - v7.1.0

Patcher that converts the representation data to a representation with an N3 store, does the patch using this store -and then converts the representation with store back to a representation with data which gets returned

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/RdfStorePatcher.html b/7.x/docs/classes/RdfStorePatcher.html deleted file mode 100644 index 9e22452a8..000000000 --- a/7.x/docs/classes/RdfStorePatcher.html +++ /dev/null @@ -1,19 +0,0 @@ -RdfStorePatcher | Community Solid Server - v7.1.0

Class RdfStorePatcherAbstract

Applies a Patch on an N3.js Store.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RdfToQuadConverter.html b/7.x/docs/classes/RdfToQuadConverter.html deleted file mode 100644 index 6bb1fb459..000000000 --- a/7.x/docs/classes/RdfToQuadConverter.html +++ /dev/null @@ -1,31 +0,0 @@ -RdfToQuadConverter | Community Solid Server - v7.1.0

Converts most major RDF serializations to internal/quads.

-

Custom contexts can be defined to be used when parsing JSON-LD. -The keys of the object should be the URL of the context, -and the values the file path of the contexts to use when the JSON-LD parser would fetch the given context. -We use filepaths because embedding them directly into the configurations breaks Components.js.

-

Hierarchy (view full)

Constructors

Properties

inputTypes: Promise<ValuePreferences>
outputTypes: Promise<ValuePreferences>

Methods

diff --git a/7.x/docs/classes/RdfValidator.html b/7.x/docs/classes/RdfValidator.html deleted file mode 100644 index 0208c5a46..000000000 --- a/7.x/docs/classes/RdfValidator.html +++ /dev/null @@ -1,21 +0,0 @@ -RdfValidator | Community Solid Server - v7.1.0

Validates a Representation by verifying if the data stream contains valid RDF data. -It does this by letting the stored RepresentationConverter convert the data.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ReadOnlyStore.html b/7.x/docs/classes/ReadOnlyStore.html deleted file mode 100644 index bf8448f90..000000000 --- a/7.x/docs/classes/ReadOnlyStore.html +++ /dev/null @@ -1,39 +0,0 @@ -ReadOnlyStore | Community Solid Server - v7.1.0

Store that only allow read operations on the underlying source.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

source: T

Methods

diff --git a/7.x/docs/classes/RecordObject.html b/7.x/docs/classes/RecordObject.html deleted file mode 100644 index 8241a54fb..000000000 --- a/7.x/docs/classes/RecordObject.html +++ /dev/null @@ -1,4 +0,0 @@ -RecordObject | Community Solid Server - v7.1.0

Helper class for instantiating multiple objects with Components.js. -See https://github.com/LinkedSoftwareDependencies/Components.js/issues/26

-

Implements

  • Record<string, unknown>

Indexable

  • [key: string]: unknown

Constructors

Constructors

diff --git a/7.x/docs/classes/RedirectHttpError.html b/7.x/docs/classes/RedirectHttpError.html deleted file mode 100644 index 65aca7bc7..000000000 --- a/7.x/docs/classes/RedirectHttpError.html +++ /dev/null @@ -1,21 +0,0 @@ -RedirectHttpError | Community Solid Server - v7.1.0

Class RedirectHttpError<TCode>

An error corresponding to a 3xx status code. -Includes the location it redirects to.

-

Type Parameters

  • TCode extends number = number

Hierarchy (view full)

Constructors

Properties

cause?: unknown
errorCode: string
location: string
message: string
name: string
stack?: string
statusCode: TCode
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

-
stackTraceLimit: number

Methods

  • Create .stack property on a target object

    -

    Parameters

    • targetObject: object
    • OptionalconstructorOpt: Function

    Returns void

diff --git a/7.x/docs/classes/RedirectingErrorHandler.html b/7.x/docs/classes/RedirectingErrorHandler.html deleted file mode 100644 index 6dd84fddb..000000000 --- a/7.x/docs/classes/RedirectingErrorHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -RedirectingErrorHandler | Community Solid Server - v7.1.0

Internally we create redirects by throwing specific RedirectHttpErrors. -This Error handler converts those to RedirectResponseDescriptions that are used for output.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RedirectingHttpHandler.html b/7.x/docs/classes/RedirectingHttpHandler.html deleted file mode 100644 index 3f5a6aabb..000000000 --- a/7.x/docs/classes/RedirectingHttpHandler.html +++ /dev/null @@ -1,26 +0,0 @@ -RedirectingHttpHandler | Community Solid Server - v7.1.0

Handler that redirects paths matching given patterns -to their corresponding URL, substituting selected groups.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RedisLocker.html b/7.x/docs/classes/RedisLocker.html deleted file mode 100644 index 18cb613f8..000000000 --- a/7.x/docs/classes/RedisLocker.html +++ /dev/null @@ -1,71 +0,0 @@ -RedisLocker | Community Solid Server - v7.1.0

A Redis Locker that can be used as both:

-
    -
  • a Read Write Locker that uses a (single) Redis server to store the locks and counts.
  • -
  • a Resource Locker that uses a (single) Redis server to store the lock. -This solution should be process-safe. The only references to locks are string keys -derived from identifier paths.
  • -
-

The Read Write algorithm roughly goes as follows:

-
    -
  • Acquire a read lock: allowed as long as there is no write lock. On acquiring the read counter goes up.
  • -
  • Acquire a write lock: allowed as long as there is no other write lock AND the read counter is 0.
  • -
  • Release a read lock: decreases the read counter with 1
  • -
  • Release a write lock: unlocks the write lock
  • -
-

The Resource locking algorithm uses a single mutex/lock.

-

All operations, such as checking for a write lock AND read count, are executed in a single Lua script. -These scripts are used by Redis as a single new command. -Redis executes its operations in a single thread, as such, each such operation can be considered atomic.

-

The operation to (un)lock will always resolve with either 1/OK/true if succeeded or 0/false if not succeeded. -Rejection with errors will be happen on actual failures. Retrying the (un)lock operations will be done by making -use of the LockUtils' retryFunctionUntil function.

-
    -
  • -
-

Implements

Constructors

  • Creates a new RedisClient

    -

    Parameters

    • redisClient: string = '127.0.0.1:6379'

      Redis connection string of a standalone Redis node

      -
    • attemptSettings: AttemptSettings = {}

      Override default AttemptSettings

      -
    • OptionalredisSettings: RedisSettings

      Addition settings used to create the Redis client or to interact with the Redis server

      -

    Returns RedisLocker

Properties

logger: Logger = ...

Methods

  • Releases a lock on the requested identifier. -The promise will resolve when the lock has been released. -If there is no lock on the resource, an error should be thrown.

    -

    Parameters

    Returns Promise<void>

  • Run the given function while the resource is locked. -The lock will be released when the (async) input function resolves. -This function should be used for operations that only require reading the resource.

    -

    Type Parameters

    • T

    Parameters

    Returns Promise<T>

    A promise resolving when the lock is released.

    -
  • Run the given function while the resource is locked. -The lock will be released when the (async) input function resolves. -This function should be used for operations that could modify the resource.

    -

    Type Parameters

    • T

    Parameters

    Returns Promise<T>

    A promise resolving when the lock is released.

    -
diff --git a/7.x/docs/classes/RegexRouterRule.html b/7.x/docs/classes/RegexRouterRule.html deleted file mode 100644 index e869cba9e..000000000 --- a/7.x/docs/classes/RegexRouterRule.html +++ /dev/null @@ -1,24 +0,0 @@ -RegexRouterRule | Community Solid Server - v7.1.0

Routes requests to a store based on the path of the identifier. -The identifier will be stripped of the base URI after which regexes will be used to find the correct store. -The trailing slash of the base URI will still be present so the first character a regex can match would be that /. -This way regexes such as /container/ can match containers in any position.

-

In case none of the regexes match an error will be thrown.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RegexRule.html b/7.x/docs/classes/RegexRule.html deleted file mode 100644 index 0e2e42964..000000000 --- a/7.x/docs/classes/RegexRule.html +++ /dev/null @@ -1,5 +0,0 @@ -RegexRule | Community Solid Server - v7.1.0

Utility class to easily configure Regex to ResourceStore mappings in the config files.

-

Constructors

Properties

Constructors

Properties

regex: RegExp
diff --git a/7.x/docs/classes/RelativePathInteractionRoute.html b/7.x/docs/classes/RelativePathInteractionRoute.html deleted file mode 100644 index b3a00b4cb..000000000 --- a/7.x/docs/classes/RelativePathInteractionRoute.html +++ /dev/null @@ -1,14 +0,0 @@ -RelativePathInteractionRoute | Community Solid Server - v7.1.0

Class RelativePathInteractionRoute<TBase>

A route that is relative to another route. -The relative path will be joined to the input base, -which can either be an absolute URL or an InteractionRoute of which the path will be used.

-

Type Parameters

  • TBase extends string

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RepresentationConverter.html b/7.x/docs/classes/RepresentationConverter.html deleted file mode 100644 index 67104ddf3..000000000 --- a/7.x/docs/classes/RepresentationConverter.html +++ /dev/null @@ -1,19 +0,0 @@ -RepresentationConverter | Community Solid Server - v7.1.0

Class RepresentationConverterAbstract

Converts a Representation from one media type to another, based on the given preferences.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RepresentationConvertingStore.html b/7.x/docs/classes/RepresentationConvertingStore.html deleted file mode 100644 index fc7e1ce41..000000000 --- a/7.x/docs/classes/RepresentationConvertingStore.html +++ /dev/null @@ -1,47 +0,0 @@ -RepresentationConvertingStore | Community Solid Server - v7.1.0

Class RepresentationConvertingStore<T>

Store that provides (optional) conversion of incoming and outgoing Representations.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...
source: T

Methods

diff --git a/7.x/docs/classes/RepresentationMetadata.html b/7.x/docs/classes/RepresentationMetadata.html deleted file mode 100644 index e46204ad9..000000000 --- a/7.x/docs/classes/RepresentationMetadata.html +++ /dev/null @@ -1,82 +0,0 @@ -RepresentationMetadata | Community Solid Server - v7.1.0

Stores the metadata triples and provides methods for easy access. -Most functions return the metadata object to allow for chaining.

-

Constructors

Properties

logger: Logger = ...

Accessors

Methods

  • Parameters

    • subject: string | BlankNode | NamedNode<string>

      Subject of quad to add.

      -
    • predicate: NamedNode<string>

      Predicate of quad to add.

      -
    • object:
          | string
          | BlankNode
          | Literal
          | NamedNode<string>

      Object of quad to add.

      -
    • Optionalgraph: MetadataGraph

      Optional graph of quad to add.

      -

    Returns this

  • Parameters

    • predicate: NamedNode<string>

      Predicate to get the value for.

      -
    • Optionalgraph: MetadataGraph

      Optional graph where the triple should be found.

      -

    Returns undefined | Term

    The corresponding value. Undefined if there is no match

    -

    Error -If there are multiple matching values.

    -
  • Finds all object values matching the given predicate and/or graph.

    -

    Parameters

    • predicate: NamedNode<string>

      Optional predicate to get the values for.

      -
    • Optionalgraph: MetadataGraph

      Optional graph where to get from.

      -

    Returns Term[]

    An array with all matches.

    -
  • Verifies if a specific triple can be found in the metadata. -Undefined parameters are interpreted as wildcards.

    -

    Parameters

    • predicate: null | string | NamedNode<string> = null
    • object:
          | null
          | string
          | BlankNode
          | Literal
          | NamedNode<string> = null
    • graph: null | MetadataGraph = null

    Returns boolean

  • Parameters

    • subject:
          | null
          | string
          | BlankNode
          | NamedNode<string> = null
    • predicate: null | NamedNode<string> = null
    • object:
          | null
          | string
          | BlankNode
          | Literal
          | NamedNode<string> = null
    • graph: null | MetadataGraph = null

    Returns Quad[]

    All matching metadata quads.

    -
  • Parameters

    • subject: string | BlankNode | NamedNode<string>

      Subject of quad to remove.

      -
    • predicate: NamedNode<string>

      Predicate of quad to remove.

      -
    • object:
          | string
          | BlankNode
          | Literal
          | NamedNode<string>

      Object of quad to remove.

      -
    • Optionalgraph: MetadataGraph

      Optional graph of quad to remove.

      -

    Returns this

  • Sets the value for the given predicate, removing all other instances. -In case the object is undefined this is identical to removeAll(predicate).

    -

    Parameters

    • predicate: NamedNode<string>

      Predicate linking to the value.

      -
    • Optionalobject: MetadataValue

      Value(s) to set.

      -
    • Optionalgraph: MetadataGraph

      Optional graph where the triple should be stored.

      -

    Returns this

diff --git a/7.x/docs/classes/RepresentationPatchHandler.html b/7.x/docs/classes/RepresentationPatchHandler.html deleted file mode 100644 index 995ed35b4..000000000 --- a/7.x/docs/classes/RepresentationPatchHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -RepresentationPatchHandler | Community Solid Server - v7.1.0

Class RepresentationPatchHandler

Handles a patch operation by getting the representation from the store, applying a RepresentationPatcher, -and then writing the result back to the store.

-

In case there is no original representation (the store throws a NotFoundHttpError), -the patcher is expected to create a new one.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RepresentationPatcher.html b/7.x/docs/classes/RepresentationPatcher.html deleted file mode 100644 index eca2ceff8..000000000 --- a/7.x/docs/classes/RepresentationPatcher.html +++ /dev/null @@ -1,19 +0,0 @@ -RepresentationPatcher | Community Solid Server - v7.1.0

Class RepresentationPatcher<T>Abstract

Handles the patching of a specific Representation.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RequestParser.html b/7.x/docs/classes/RequestParser.html deleted file mode 100644 index a746337c8..000000000 --- a/7.x/docs/classes/RequestParser.html +++ /dev/null @@ -1,19 +0,0 @@ -RequestParser | Community Solid Server - v7.1.0

Class RequestParserAbstract

Converts an incoming HttpRequest to an Operation.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ResetPasswordHandler.html b/7.x/docs/classes/ResetPasswordHandler.html deleted file mode 100644 index 023e9d22e..000000000 --- a/7.x/docs/classes/ResetPasswordHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -ResetPasswordHandler | Community Solid Server - v7.1.0

Resets a password if a valid recordId is provided, -which should have been generated by a different handler.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/ResetResponseDescription.html b/7.x/docs/classes/ResetResponseDescription.html deleted file mode 100644 index b0e01ba04..000000000 --- a/7.x/docs/classes/ResetResponseDescription.html +++ /dev/null @@ -1,6 +0,0 @@ -ResetResponseDescription | Community Solid Server - v7.1.0

Corresponds to a 205 response.

-

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

data?: Guarded<Readable>
statusCode: number
diff --git a/7.x/docs/classes/ResolveLoginHandler.html b/7.x/docs/classes/ResolveLoginHandler.html deleted file mode 100644 index 1fe5c49ec..000000000 --- a/7.x/docs/classes/ResolveLoginHandler.html +++ /dev/null @@ -1,31 +0,0 @@ -ResolveLoginHandler | Community Solid Server - v7.1.0

Class ResolveLoginHandlerAbstract

A handler that takes care of all the necessary steps when logging a user in, -such as generating a cookie and setting the necessary OIDC information. -Classes that resolve login methods should extend this class and implement the login method.

-

Hierarchy (view full)

Constructors

Properties

accountStore: AccountStore
cookieStore: CookieStore
logger: Logger = ...

Methods

  • Updates the account setting that determines whether the login status needs to be remembered.

    -

    Parameters

    • accountId: string

      ID of the account.

      -
    • Optionalremember: boolean

      If the account should be remembered or not. The setting will not be updated if this is undefined.

      -

    Returns Promise<void>

diff --git a/7.x/docs/classes/ResponseDescription.html b/7.x/docs/classes/ResponseDescription.html deleted file mode 100644 index a4a0f828c..000000000 --- a/7.x/docs/classes/ResponseDescription.html +++ /dev/null @@ -1,9 +0,0 @@ -ResponseDescription | Community Solid Server - v7.1.0

The result of executing an operation.

-

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

data?: Guarded<Readable>
statusCode: number
diff --git a/7.x/docs/classes/ResponseWriter.html b/7.x/docs/classes/ResponseWriter.html deleted file mode 100644 index 509eb6c89..000000000 --- a/7.x/docs/classes/ResponseWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -ResponseWriter | Community Solid Server - v7.1.0

Class ResponseWriterAbstract

Writes the ResponseDescription to the HttpResponse.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RootFilePathHandler.html b/7.x/docs/classes/RootFilePathHandler.html deleted file mode 100644 index 5b5572a27..000000000 --- a/7.x/docs/classes/RootFilePathHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -RootFilePathHandler | Community Solid Server - v7.1.0

Uses a FileIdentifierMapper to generate a root file path variable based on the identifier. -Will throw an error if the resulting file path already exists.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RootStorageLocationStrategy.html b/7.x/docs/classes/RootStorageLocationStrategy.html deleted file mode 100644 index c38eaf22f..000000000 --- a/7.x/docs/classes/RootStorageLocationStrategy.html +++ /dev/null @@ -1,6 +0,0 @@ -RootStorageLocationStrategy | Community Solid Server - v7.1.0

Class RootStorageLocationStrategy

A StorageLocationStrategy to be used when the server has one storage in the root container of the server.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RouterHandler.html b/7.x/docs/classes/RouterHandler.html deleted file mode 100644 index 809c6d2ab..000000000 --- a/7.x/docs/classes/RouterHandler.html +++ /dev/null @@ -1,26 +0,0 @@ -RouterHandler | Community Solid Server - v7.1.0

A BaseRouterHandler for an HttpHandler. -Uses a TargetExtractor to generate the target identifier.

-

Hierarchy (view full)

Constructors

Properties

allMethods: boolean
allowedMethods: string[]
allowedPathNamesRegEx: RegExp[]
baseUrlLength: number
handler: HttpHandler

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/RouterRule.html b/7.x/docs/classes/RouterRule.html deleted file mode 100644 index 64963fef2..000000000 --- a/7.x/docs/classes/RouterRule.html +++ /dev/null @@ -1,20 +0,0 @@ -RouterRule | Community Solid Server - v7.1.0

Class RouterRuleAbstract

Finds which store needs to be accessed for the given resource, -potentially based on the Representation of incoming data.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/RoutingAuxiliaryIdentifierStrategy.html b/7.x/docs/classes/RoutingAuxiliaryIdentifierStrategy.html deleted file mode 100644 index 4950f1ed2..000000000 --- a/7.x/docs/classes/RoutingAuxiliaryIdentifierStrategy.html +++ /dev/null @@ -1,28 +0,0 @@ -RoutingAuxiliaryIdentifierStrategy | Community Solid Server - v7.1.0

Class RoutingAuxiliaryIdentifierStrategy

An AuxiliaryIdentifierStrategy that combines multiple AuxiliaryIdentifierStrategies into one. -Uses isAuxiliaryIdentifier to know which strategy to route to.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

diff --git a/7.x/docs/classes/RoutingAuxiliaryStrategy.html b/7.x/docs/classes/RoutingAuxiliaryStrategy.html deleted file mode 100644 index 82c574dca..000000000 --- a/7.x/docs/classes/RoutingAuxiliaryStrategy.html +++ /dev/null @@ -1,52 +0,0 @@ -RoutingAuxiliaryStrategy | Community Solid Server - v7.1.0

An AuxiliaryStrategy that combines multiple AuxiliaryStrategies into one. -Uses isAuxiliaryIdentifier to know which strategy to call for which call.

-

addMetadata will either call all strategies if the input is the subject identifier, -or only the matching strategy if the input is an auxiliary identifier.

-

Hierarchy (view full)

Implements

Constructors

Properties

sources: AuxiliaryStrategy[] = []

Methods

  • Adds metadata related to this auxiliary resource, -in case this is required for this type of auxiliary resource. -The metadata that is added depends on the given identifier being an auxiliary or subject resource: -the metadata will be used to link to the other one, and potentially add extra typing info.

    -

    Used for: -Solid, §4.3.1: "For any defined auxiliary resource available for a given Solid resource, all representations of -that resource MUST include an HTTP Link header pointing to the location of each auxiliary resource." -https://solid.github.io/specification/protocol#auxiliary-resources-server

    -

    The above is an example of how that metadata would only be added in case the input is the subject identifier.

    -

    Parameters

    Returns Promise<void>

diff --git a/7.x/docs/classes/RoutingResourceStore.html b/7.x/docs/classes/RoutingResourceStore.html deleted file mode 100644 index ed164d33f..000000000 --- a/7.x/docs/classes/RoutingResourceStore.html +++ /dev/null @@ -1,40 +0,0 @@ -RoutingResourceStore | Community Solid Server - v7.1.0

Store that routes the incoming request to a specific store based on the stored ResourceRouter. -In case no store was found for one of the functions that take no data (GET/PATCH/DELETE), -a 404 will be thrown. In the other cases the error of the router will be thrown (which would probably be 400).

-

Implements

Constructors

Methods

diff --git a/7.x/docs/classes/SafeErrorHandler.html b/7.x/docs/classes/SafeErrorHandler.html deleted file mode 100644 index 8574a329c..000000000 --- a/7.x/docs/classes/SafeErrorHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -SafeErrorHandler | Community Solid Server - v7.1.0

Returns a simple text description of an error. -This class is a failsafe in case the wrapped error handler fails.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/SeededAccountInitializer.html b/7.x/docs/classes/SeededAccountInitializer.html deleted file mode 100644 index f03c7501a..000000000 --- a/7.x/docs/classes/SeededAccountInitializer.html +++ /dev/null @@ -1,21 +0,0 @@ -SeededAccountInitializer | Community Solid Server - v7.1.0

Initializes a set of accounts based on the input data. -These accounts have exactly 1 email/password login method, and 0 or more pods. -The pod settings that can be defined are identical to those of the CreatePodHandler.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/SequenceHandler.html b/7.x/docs/classes/SequenceHandler.html deleted file mode 100644 index 97b7d1713..000000000 --- a/7.x/docs/classes/SequenceHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -SequenceHandler | Community Solid Server - v7.1.0

Class SequenceHandler<TIn, TOut>

A composite handler that will try to run all supporting handlers sequentially -and return the value of the last supported handler. -The canHandle check of this handler will always succeed.

-

Type Parameters

  • TIn = void
  • TOut = void

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: TIn

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ServerConfigurator.html b/7.x/docs/classes/ServerConfigurator.html deleted file mode 100644 index c6c6cc75b..000000000 --- a/7.x/docs/classes/ServerConfigurator.html +++ /dev/null @@ -1,19 +0,0 @@ -ServerConfigurator | Community Solid Server - v7.1.0

Class ServerConfiguratorAbstract

Configures a Server by attaching listeners for specific events.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input that needs to be handled.

      -

    Returns Promise<void>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ServerInitializer.html b/7.x/docs/classes/ServerInitializer.html deleted file mode 100644 index 0aed777b9..000000000 --- a/7.x/docs/classes/ServerInitializer.html +++ /dev/null @@ -1,20 +0,0 @@ -ServerInitializer | Community Solid Server - v7.1.0

Creates and starts an HTTP server.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ShorthandExtractor.html b/7.x/docs/classes/ShorthandExtractor.html deleted file mode 100644 index 5193e8762..000000000 --- a/7.x/docs/classes/ShorthandExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -ShorthandExtractor | Community Solid Server - v7.1.0

Class ShorthandExtractorAbstract

A handler that computes a specific value from a given map of values.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: Shorthand

      Input that needs to be handled.

      -

    Returns Promise<unknown>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<unknown>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ShorthandResolver.html b/7.x/docs/classes/ShorthandResolver.html deleted file mode 100644 index 2e23f606f..000000000 --- a/7.x/docs/classes/ShorthandResolver.html +++ /dev/null @@ -1,21 +0,0 @@ -ShorthandResolver | Community Solid Server - v7.1.0

Class ShorthandResolverAbstract

Converts a key/value object, extracted from the CLI or passed as a parameter, -into a new key/value object where the keys are variables defined in the Components.js configuration. -The resulting values are the values that should be assigned to those variables.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Shorthand

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • input: Shorthand

      Input that needs to be handled.

      -

    Returns Promise<VariableBindings>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Shorthand

      Input data that will be handled if it can be handled.

      -

    Returns Promise<VariableBindings>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/SingleContainerJsonStorage.html b/7.x/docs/classes/SingleContainerJsonStorage.html deleted file mode 100644 index 86d511c2f..000000000 --- a/7.x/docs/classes/SingleContainerJsonStorage.html +++ /dev/null @@ -1,36 +0,0 @@ -SingleContainerJsonStorage | Community Solid Server - v7.1.0

Class SingleContainerJsonStorage<T>

A variant of a JsonResourceStorage where the entries() call -does not recursively iterate through all containers. -Only the documents that are found in the root container are returned.

-

This class was created to support migration where different storages are nested in one main .internal container, -and we specifically want to only return entries of one storage.

-

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

container: string
logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/SingleRootIdentifierStrategy.html b/7.x/docs/classes/SingleRootIdentifierStrategy.html deleted file mode 100644 index c56ef5424..000000000 --- a/7.x/docs/classes/SingleRootIdentifierStrategy.html +++ /dev/null @@ -1,21 +0,0 @@ -SingleRootIdentifierStrategy | Community Solid Server - v7.1.0

Class SingleRootIdentifierStrategy

An IdentifierStrategy that assumes there is only 1 root and all other identifiers are made by appending to that root.

-

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/SliceStream.html b/7.x/docs/classes/SliceStream.html deleted file mode 100644 index 42adcfd16..000000000 --- a/7.x/docs/classes/SliceStream.html +++ /dev/null @@ -1,802 +0,0 @@ -SliceStream | Community Solid Server - v7.1.0

A stream that slices a part out of another stream. -start and end are inclusive. -If end is not defined it is until the end of the stream.

-

Negative start values can be used to instead slice that many streams off the end of the stream. -This requires the size field to be defined.

-

Both object and non-object streams are supported. -This needs to be explicitly specified, -as the class makes no assumptions based on the object mode of the source stream.

-

Hierarchy

  • Transform
    • SliceStream

Constructors

Properties

allowHalfOpen: boolean

If false then the stream will automatically end the writable side when the -readable side ends. Set initially by the allowHalfOpen constructor option, -which defaults to false.

-

This can be changed manually to change the half-open behavior of an existingDuplex stream instance, but must be changed before the 'end' event is -emitted.

-

v0.9.4

-
closed: boolean

Is true after 'close' has been emitted.

-

v18.0.0

-
destroyed: boolean

Is true after readable.destroy() has been called.

-

v8.0.0

-
errored: null | Error

Returns error if the stream has been destroyed with an error.

-

v18.0.0

-
readable: boolean

Is true if it is safe to call readable.read(), which means -the stream has not been destroyed or emitted 'error' or 'end'.

-

v11.4.0

-
readableAborted: boolean

Returns whether the stream was destroyed or errored before emitting 'end'.

-

v16.8.0

-
readableDidRead: boolean

Returns whether 'data' has been emitted.

-

v16.7.0, v14.18.0

-
readableEncoding: null | BufferEncoding

Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

-

v12.7.0

-
readableEnded: boolean

Becomes true when 'end' event is emitted.

-

v12.9.0

-
readableFlowing: null | boolean

This property reflects the current state of a Readable stream as described -in the Three states section.

-

v9.4.0

-
readableHighWaterMark: number

Returns the value of highWaterMark passed when creating this Readable.

-

v9.3.0

-
readableLength: number

This property contains the number of bytes (or objects) in the queue -ready to be read. The value provides introspection data regarding -the status of the highWaterMark.

-

v9.4.0

-
readableObjectMode: boolean

Getter for the property objectMode of a given Readable stream.

-

v12.3.0

-
remainingRead: number
remainingSkip: number
source: Readable
writable: boolean

Is true if it is safe to call writable.write(), which means -the stream has not been destroyed, errored or ended.

-

v11.4.0

-
writableCorked: number

Number of times writable.uncork() needs to be -called in order to fully uncork the stream.

-

v13.2.0, v12.16.0

-
writableEnded: boolean

Is true after writable.end() has been called. This property -does not indicate whether the data has been flushed, for this use writable.writableFinished instead.

-

v12.9.0

-
writableFinished: boolean

Is set to true immediately before the 'finish' event is emitted.

-

v12.6.0

-
writableHighWaterMark: number

Return the value of highWaterMark passed when creating this Writable.

-

v9.3.0

-
writableLength: number

This property contains the number of bytes (or objects) in the queue -ready to be written. The value provides introspection data regarding -the status of the highWaterMark.

-

v9.4.0

-
writableNeedDrain: boolean

Is true if the stream's buffer has been full and stream will emit 'drain'.

-

v15.2.0, v14.17.0

-
writableObjectMode: boolean

Getter for the property objectMode of a given Writable stream.

-

v12.3.0

-
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

-
defaultMaxListeners: number
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' -events. Listeners installed using this symbol are called before the regular -'error' listeners are called.

-

Installing a listener using this symbol does not change the behavior once an -'error' event is emitted, therefore the process will still crash if no -regular 'error' listener is installed.

-

Methods

  • Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

    -

    Returns Promise<void>

    v18.18.0

    -
  • Returns AsyncIterableIterator<any>

  • Parameters

    • error: Error
    • event: string
    • Rest...args: any[]

    Returns void

  • Parameters

    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • error: null | Error
    • callback: ((error: null | Error) => void)
        • (error): void
        • Parameters

          • error: null | Error

          Returns void

    Returns void

  • Parameters

    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • callback: TransformCallback

    Returns void

  • Parameters

    • size: number

    Returns void

  • Parameters

    • chunk: unknown
    • encoding: BufferEncoding
    • callback: TransformCallback

    Returns void

  • Parameters

    • chunk: any
    • encoding: BufferEncoding
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • chunks: {
          chunk: any;
          encoding: BufferEncoding;
      }[]
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. drain
    6. -
    7. end
    8. -
    9. error
    10. -
    11. finish
    12. -
    13. pause
    14. -
    15. pipe
    16. -
    17. readable
    18. -
    19. resume
    20. -
    21. unpipe
    22. -
    -

    Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Event emitter -The defined events on documents including:

    -
      -
    1. close
    2. -
    3. data
    4. -
    5. end
    6. -
    7. error
    8. -
    9. pause
    10. -
    11. readable
    12. -
    13. resume
    14. -
    -

    Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • This method returns a new stream with chunks of the underlying stream paired with a counter -in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

    -

    Parameters

    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream of indexed pairs.

    -

    v17.5.0

    -
  • Stop piping the source stream and close everything once the slice is finished.

    -

    Returns void

  • Type Parameters

    • T extends ReadableStream

    Parameters

    • stream:
          | ComposeFnParam
          | T
          | Iterable<T>
          | AsyncIterable<T>
    • Optionaloptions: {
          signal: AbortSignal;
      }
      • signal: AbortSignal

    Returns T

  • The writable.cork() method forces all written data to be buffered in memory. -The buffered data will be flushed when either the uncork or end methods are called.

    -

    The primary intent of writable.cork() is to accommodate a situation in which -several small chunks are written to the stream in rapid succession. Instead of -immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them -all to writable._writev(), if present. This prevents a head-of-line blocking -situation where data is being buffered while waiting for the first small chunk -to be processed. However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.

    -

    See also: writable.uncork(), writable._writev().

    -

    Returns void

    v0.11.2

    -
  • Destroy the stream. Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). After this call, the readable -stream will release any internal resources and subsequent calls to push()will be ignored.

    -

    Once destroy() has been called any further calls will be a no-op and no -further errors except from _destroy() may be emitted as 'error'.

    -

    Implementors should not override this method, but instead implement readable._destroy().

    -

    Parameters

    • Optionalerror: Error

      Error which will be passed as payload in 'error' event

      -

    Returns this

    v8.0.0

    -
  • This method returns a new stream with the first limit chunks dropped from the start.

    -

    Parameters

    • limit: number

      the number of chunks to drop from the readable.

      -
    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream with limit chunks dropped from the start.

    -

    v17.5.0

    -
  • Parameters

    • event: "close"

    Returns boolean

  • Parameters

    • event: "data"
    • chunk: any

    Returns boolean

  • Parameters

    • event: "drain"

    Returns boolean

  • Parameters

    • event: "end"

    Returns boolean

  • Parameters

    • event: "error"
    • err: Error

    Returns boolean

  • Parameters

    • event: "finish"

    Returns boolean

  • Parameters

    • event: "pause"

    Returns boolean

  • Parameters

    • event: "pipe"
    • src: Readable

    Returns boolean

  • Parameters

    • event: "readable"

    Returns boolean

  • Parameters

    • event: "resume"

    Returns boolean

  • Parameters

    • event: "unpipe"
    • src: Readable

    Returns boolean

  • Parameters

    • event: string | symbol
    • Rest...args: any[]

    Returns boolean

  • Calling the writable.end() method signals that no more data will be written -to the Writable. The optional chunk and encoding arguments allow one -final additional chunk of data to be written immediately before closing the -stream.

    -

    Calling the write method after calling end will raise an error.

    -
    // Write 'hello, ' and then end with 'world!'.
    const fs = require('fs');
    const file = fs.createWriteStream('example.txt');
    file.write('hello, ');
    file.end('world!');
    // Writing more now is not allowed! -
    - -

    Parameters

    • Optionalcb: (() => void)
        • (): void
        • Returns void

    Returns this

    v0.9.4

    -
  • Calling the writable.end() method signals that no more data will be written -to the Writable. The optional chunk and encoding arguments allow one -final additional chunk of data to be written immediately before closing the -stream.

    -

    Calling the write method after calling end will raise an error.

    -
    // Write 'hello, ' and then end with 'world!'.
    const fs = require('fs');
    const file = fs.createWriteStream('example.txt');
    file.write('hello, ');
    file.end('world!');
    // Writing more now is not allowed! -
    - -

    Parameters

    • chunk: any

      Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

      -
    • Optionalcb: (() => void)
        • (): void
        • Returns void

    Returns this

    v0.9.4

    -
  • Calling the writable.end() method signals that no more data will be written -to the Writable. The optional chunk and encoding arguments allow one -final additional chunk of data to be written immediately before closing the -stream.

    -

    Calling the write method after calling end will raise an error.

    -
    // Write 'hello, ' and then end with 'world!'.
    const fs = require('fs');
    const file = fs.createWriteStream('example.txt');
    file.write('hello, ');
    file.end('world!');
    // Writing more now is not allowed! -
    - -

    Parameters

    • chunk: any

      Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

      -
    • Optionalencoding: BufferEncoding

      The encoding if chunk is a string

      -
    • Optionalcb: (() => void)
        • (): void
        • Returns void

    Returns this

    v0.9.4

    -
  • Returns an array listing the events for which the emitter has registered -listeners. The values in the array are strings or Symbols.

    -
    const EventEmitter = require('events');
    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
    - -

    Returns (string | symbol)[]

    v6.0.0

    -
  • This method is similar to Array.prototype.every and calls fn on each chunk in the stream -to check if all awaited return values are truthy value for fn. Once an fn call on a chunk -awaited return value is falsy, the stream is destroyed and the promise is fulfilled with false. -If all of the fn calls on the chunks return a truthy value, the promise is fulfilled with true.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)

      a function to call on each chunk of the stream. Async or not.

      -
        • (data, options?): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optionaloptions: ArrayOptions

    Returns Promise<boolean>

    a promise evaluating to true if fn returned a truthy value for every one of the chunks.

    -

    v17.5.0

    -
  • This method allows filtering the stream. For each chunk in the stream the fn function will be called -and if it returns a truthy value, the chunk will be passed to the result stream. -If the fn function returns a promise - that promise will be awaited.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)

      a function to filter chunks from the stream. Async or not.

      -
        • (data, options?): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optionaloptions: ArrayOptions

    Returns Readable

    a stream filtered with the predicate fn.

    -

    v17.4.0, v16.14.0

    -
  • This method is similar to Array.prototype.find and calls fn on each chunk in the stream -to find a chunk with a truthy value for fn. Once an fn call's awaited return value is truthy, -the stream is destroyed and the promise is fulfilled with value for which fn returned a truthy value. -If all of the fn calls on the chunks return a falsy value, the promise is fulfilled with undefined.

    -

    Type Parameters

    • T

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => data is T)

      a function to call on each chunk of the stream. Async or not.

      -
        • (data, options?): data is T
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns data is T

    • Optionaloptions: ArrayOptions

    Returns Promise<undefined | T>

    a promise evaluating to the first chunk for which fn evaluated with a truthy value, -or undefined if no element was found.

    -

    v17.5.0

    -
  • Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)
        • (data, options?): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optionaloptions: ArrayOptions

    Returns Promise<any>

  • This method returns a new stream by applying the given callback to each chunk of the stream -and then flattening the result.

    -

    It is possible to return a stream or another iterable or async iterable from fn and the result streams -will be merged (flattened) into the returned stream.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any)

      a function to map over every chunk in the stream. May be async. May be a stream or generator.

      -
        • (data, options?): any
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns any

    • Optionaloptions: ArrayOptions

    Returns Readable

    a stream flat-mapped with the function fn.

    -

    v17.5.0

    -
  • This method allows iterating a stream. For each chunk in the stream the fn function will be called. -If the fn function returns a promise - that promise will be awaited.

    -

    This method is different from for await...of loops in that it can optionally process chunks concurrently. -In addition, a forEach iteration can only be stopped by having passed a signal option -and aborting the related AbortController while for await...of can be stopped with break or return. -In either case the stream will be destroyed.

    -

    This method is different from listening to the 'data' event in that it uses the readable event -in the underlying machinary and can limit the number of concurrent fn calls.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => void | Promise<void>)

      a function to call on each chunk of the stream. Async or not.

      -
        • (data, options?): void | Promise<void>
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns void | Promise<void>

    • Optionaloptions: ArrayOptions

    Returns Promise<void>

    a promise for when the stream has finished.

    -

    v17.5.0

    -
  • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

    -

    Returns number

    v1.0.0

    -
  • The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

    -
    const readable = new stream.Readable();

    readable.isPaused(); // === false
    readable.pause();
    readable.isPaused(); // === true
    readable.resume();
    readable.isPaused(); // === false -
    - -

    Returns boolean

    v0.11.14

    -
  • The iterator created by this method gives users the option to cancel the destruction -of the stream if the for await...of loop is exited by return, break, or throw, -or if the iterator should destroy the stream if the stream emitted an error during iteration.

    -

    Parameters

    • Optionaloptions: {
          destroyOnReturn?: boolean;
      }
      • OptionaldestroyOnReturn?: boolean

        When set to false, calling return on the async iterator, -or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. -Default: true.

        -

    Returns AsyncIterableIterator<any>

    v16.3.0

    -
  • Returns the number of listeners listening to the event named eventName.

    -

    If listener is provided, it will return how many times the listener -is found in the list of the listeners of the event.

    -

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      -
    • Optionallistener: Function

      The event handler function

      -

    Returns number

    v3.2.0

    -
  • Returns a copy of the array of listeners for the event named eventName.

    -
    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ] -
    - -

    Parameters

    • eventName: string | symbol

    Returns Function[]

    v0.1.26

    -
  • This method allows mapping over the stream. The fn function will be called for every chunk in the stream. -If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any)

      a function to map over every chunk in the stream. Async or not.

      -
        • (data, options?): any
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns any

    • Optionaloptions: ArrayOptions

    Returns Readable

    a stream mapped with the function fn.

    -

    v17.4.0, v16.14.0

    -
  • Alias for emitter.removeListener().

    -

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

    -
  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • The readable.pause() method will cause a stream in flowing mode to stop -emitting 'data' events, switching out of flowing mode. Any data that -becomes available will remain in the internal buffer.

    -
    const readable = getReadableStreamSomehow();
    readable.on('data', (chunk) => {
    console.log(`Received ${chunk.length} bytes of data.`);
    readable.pause();
    console.log('There will be no additional data for 1 second.');
    setTimeout(() => {
    console.log('Now data will start flowing again.');
    readable.resume();
    }, 1000);
    }); -
    - -

    The readable.pause() method has no effect if there is a 'readable'event listener.

    -

    Returns this

    v0.9.4

    -
  • Type Parameters

    • T extends WritableStream

    Parameters

    • destination: T
    • Optionaloptions: {
          end?: boolean;
      }
      • Optionalend?: boolean

    Returns T

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • Parameters

    • chunk: any
    • Optionalencoding: BufferEncoding

    Returns boolean

  • Returns a copy of the array of listeners for the event named eventName, -including any wrappers (such as those created by .once()).

    -
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log'); -
    - -

    Parameters

    • eventName: string | symbol

    Returns Function[]

    v9.4.0

    -
  • The readable.read() method reads data out of the internal buffer and -returns it. If no data is available to be read, null is returned. By default, -the data is returned as a Buffer object unless an encoding has been -specified using the readable.setEncoding() method or the stream is operating -in object mode.

    -

    The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

    -

    If the size argument is not specified, all of the data contained in the -internal buffer will be returned.

    -

    The size argument must be less than or equal to 1 GiB.

    -

    The readable.read() method should only be called on Readable streams -operating in paused mode. In flowing mode, readable.read() is called -automatically until the internal buffer is fully drained.

    -
    const readable = getReadableStreamSomehow();

    // 'readable' may be triggered multiple times as data is buffered in
    readable.on('readable', () => {
    let chunk;
    console.log('Stream is readable (new data received in buffer)');
    // Use a loop to make sure we read all currently available data
    while (null !== (chunk = readable.read())) {
    console.log(`Read ${chunk.length} bytes of data...`);
    }
    });

    // 'end' will be triggered once when there is no more data available
    readable.on('end', () => {
    console.log('Reached end of stream.');
    }); -
    - -

    Each call to readable.read() returns a chunk of data, or null. The chunks -are not concatenated. A while loop is necessary to consume all data -currently in the buffer. When reading a large file .read() may return null, -having consumed all buffered content so far, but there is still more data to -come not yet buffered. In this case a new 'readable' event will be emitted -when there is more data in the buffer. Finally the 'end' event will be -emitted when there is no more data to come.

    -

    Therefore to read a file's whole contents from a readable, it is necessary -to collect chunks across multiple 'readable' events:

    -
    const chunks = [];

    readable.on('readable', () => {
    let chunk;
    while (null !== (chunk = readable.read())) {
    chunks.push(chunk);
    }
    });

    readable.on('end', () => {
    const content = chunks.join('');
    }); -
    - -

    A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

    -

    If the readable.read() method returns a chunk of data, a 'data' event will -also be emitted.

    -

    Calling read after the 'end' event has -been emitted will return null. No runtime error will be raised.

    -

    Parameters

    • Optionalsize: number

      Optional argument to specify how much data to read.

      -

    Returns any

    v0.9.4

    -
  • This method calls fn on each chunk of the stream in order, passing it the result from the calculation -on the previous element. It returns a promise for the final value of the reduction.

    -

    If no initial value is supplied the first chunk of the stream is used as the initial value. -If the stream is empty, the promise is rejected with a TypeError with the ERR_INVALID_ARGS code property.

    -

    The reducer function iterates the stream element-by-element which means that there is no concurrency parameter -or parallelism. To perform a reduce concurrently, you can extract the async function to readable.map method.

    -

    Type Parameters

    • T = any

    Parameters

    • fn: ((previous: any, data: any, options?: Pick<ArrayOptions, "signal">) => T)

      a reducer function to call over every chunk in the stream. Async or not.

      -
        • (previous, data, options?): T
        • Parameters

          • previous: any
          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns T

    • Optionalinitial: undefined

      the initial value to use in the reduction.

      -
    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    -

    v17.5.0

    -
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous: T, data: any, options?: Pick<ArrayOptions, "signal">) => T)
        • (previous, data, options?): T
        • Parameters

          • previous: T
          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns T

    • initial: T
    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Promise<T>

  • Removes all listeners, or those of the specified eventName.

    -

    It is bad practice to remove listeners added elsewhere in the code, -particularly when the EventEmitter instance was created by some other -component or module (e.g. sockets or file streams).

    -

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Parameters

    • Optionalevent: string | symbol

    Returns this

    v0.1.26

    -
  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk): void
        • Parameters

          • chunk: any

          Returns void

    Returns this

  • Parameters

    • event: "drain"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err): void
        • Parameters

          • err: Error

          Returns void

    Returns this

  • Parameters

    • event: "finish"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "pipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns this

  • Parameters

    • event: "unpipe"
    • listener: ((src: Readable) => void)
        • (src): void
        • Parameters

          • src: Readable

          Returns void

    Returns this

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

  • The readable.resume() method causes an explicitly paused Readable stream to -resume emitting 'data' events, switching the stream into flowing mode.

    -

    The readable.resume() method can be used to fully consume the data from a -stream without actually processing any of that data:

    -
    getReadableStreamSomehow()
    .resume()
    .on('end', () => {
    console.log('Reached the end, but did not read anything.');
    }); -
    - -

    The readable.resume() method has no effect if there is a 'readable'event listener.

    -

    Returns this

    v0.9.4

    -
  • The writable.setDefaultEncoding() method sets the default encoding for a Writable stream.

    -

    Parameters

    • encoding: BufferEncoding

      The new default encoding

      -

    Returns this

    v0.11.15

    -
  • The readable.setEncoding() method sets the character encoding for -data read from the Readable stream.

    -

    By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal -string format.

    -

    The Readable stream will properly handle multi-byte characters delivered -through the stream that would otherwise become improperly decoded if simply -pulled from the stream as Buffer objects.

    -
    const readable = getReadableStreamSomehow();
    readable.setEncoding('utf8');
    readable.on('data', (chunk) => {
    assert.equal(typeof chunk, 'string');
    console.log('Got %d characters of string data:', chunk.length);
    }); -
    - -

    Parameters

    • encoding: BufferEncoding

      The encoding to use.

      -

    Returns this

    v0.9.4

    -
  • By default EventEmitters will print a warning if more than 10 listeners are -added for a particular event. This is a useful default that helps finding -memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

    -

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • This method is similar to Array.prototype.some and calls fn on each chunk in the stream -until the awaited return value is true (or any truthy value). Once an fn call on a chunk -awaited return value is truthy, the stream is destroyed and the promise is fulfilled with true. -If none of the fn calls on the chunks return a truthy value, the promise is fulfilled with false.

    -

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)

      a function to call on each chunk of the stream. Async or not.

      -
        • (data, options?): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optionaloptions: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optionaloptions: ArrayOptions

    Returns Promise<boolean>

    a promise evaluating to true if fn returned a truthy value for at least one of the chunks.

    -

    v17.5.0

    -
  • This method returns a new stream with the first limit chunks.

    -

    Parameters

    • limit: number

      the number of chunks to take from the readable.

      -
    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream with limit chunks taken.

    -

    v17.5.0

    -
  • This method allows easily obtaining the contents of a stream.

    -

    As this method reads the entire stream into memory, it negates the benefits of streams. It's intended -for interoperability and convenience, not as the primary way to consume streams.

    -

    Parameters

    • Optionaloptions: Pick<ArrayOptions, "signal">

    Returns Promise<any[]>

    a promise containing an array with the contents of the stream.

    -

    v17.5.0

    -
  • The writable.uncork() method flushes all data buffered since cork was called.

    -

    When using writable.cork() and writable.uncork() to manage the buffering -of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). Doing so allows batching of allwritable.write() calls that occur within a given Node.js event -loop phase.

    -
    stream.cork();
    stream.write('some ');
    stream.write('data ');
    process.nextTick(() => stream.uncork()); -
    - -

    If the writable.cork() method is called multiple times on a stream, the -same number of calls to writable.uncork() must be called to flush the buffered -data.

    -
    stream.cork();
    stream.write('some ');
    stream.cork();
    stream.write('data ');
    process.nextTick(() => {
    stream.uncork();
    // The data will not be flushed until uncork() is called a second time.
    stream.uncork();
    }); -
    - -

    See also: writable.cork().

    -

    Returns void

    v0.11.2

    -
  • The readable.unpipe() method detaches a Writable stream previously attached -using the pipe method.

    -

    If the destination is not specified, then all pipes are detached.

    -

    If the destination is specified, but no pipe is set up for it, then -the method does nothing.

    -
    const fs = require('fs');
    const readable = getReadableStreamSomehow();
    const writable = fs.createWriteStream('file.txt');
    // All the data from readable goes into 'file.txt',
    // but only for the first second.
    readable.pipe(writable);
    setTimeout(() => {
    console.log('Stop writing to file.txt.');
    readable.unpipe(writable);
    console.log('Manually close the file stream.');
    writable.end();
    }, 1000); -
    - -

    Parameters

    • Optionaldestination: WritableStream

      Optional specific stream to unpipe

      -

    Returns this

    v0.9.4

    -
  • Passing chunk as null signals the end of the stream (EOF) and behaves the -same as readable.push(null), after which no more data can be written. The EOF -signal is put at the end of the buffer and any buffered data will still be -flushed.

    -

    The readable.unshift() method pushes a chunk of data back into the internal -buffer. This is useful in certain situations where a stream is being consumed by -code that needs to "un-consume" some amount of data that it has optimistically -pulled out of the source, so that the data can be passed on to some other party.

    -

    The stream.unshift(chunk) method cannot be called after the 'end' event -has been emitted or a runtime error will be thrown.

    -

    Developers using stream.unshift() often should consider switching to -use of a Transform stream instead. See the API for stream implementers section for more information.

    -
    // Pull off a header delimited by \n\n.
    // Use unshift() if we get too much.
    // Call the callback with (error, header, stream).
    const { StringDecoder } = require('string_decoder');
    function parseHeader(stream, callback) {
    stream.on('error', callback);
    stream.on('readable', onReadable);
    const decoder = new StringDecoder('utf8');
    let header = '';
    function onReadable() {
    let chunk;
    while (null !== (chunk = stream.read())) {
    const str = decoder.write(chunk);
    if (str.includes('\n\n')) {
    // Found the header boundary.
    const split = str.split(/\n\n/);
    header += split.shift();
    const remaining = split.join('\n\n');
    const buf = Buffer.from(remaining, 'utf8');
    stream.removeListener('error', callback);
    // Remove the 'readable' listener before unshifting.
    stream.removeListener('readable', onReadable);
    if (buf.length)
    stream.unshift(buf);
    // Now the body of the message can be read from the stream.
    callback(null, header, stream);
    return;
    }
    // Still reading the header.
    header += str;
    }
    }
    } -
    - -

    Unlike push, stream.unshift(chunk) will not -end the reading process by resetting the internal reading state of the stream. -This can cause unexpected results if readable.unshift() is called during a -read (i.e. from within a _read implementation on a -custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, -however it is best to simply avoid calling readable.unshift() while in the -process of performing a read.

    -

    Parameters

    • chunk: any

      Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array or null. For object mode -streams, chunk may be any JavaScript value.

      -
    • Optionalencoding: BufferEncoding

      Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

      -

    Returns void

    v0.9.11

    -
  • Prior to Node.js 0.10, streams did not implement the entire stream module API -as it is currently defined. (See Compatibility for more information.)

    -

    When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable -stream that uses -the old stream as its data source.

    -

    It will rarely be necessary to use readable.wrap() but the method has been -provided as a convenience for interacting with older Node.js applications and -libraries.

    -
    const { OldReader } = require('./old-api-module.js');
    const { Readable } = require('stream');
    const oreader = new OldReader();
    const myReader = new Readable().wrap(oreader);

    myReader.on('readable', () => {
    myReader.read(); // etc.
    }); -
    - -

    Parameters

    • stream: ReadableStream

      An "old style" readable stream

      -

    Returns this

    v0.9.4

    -
  • The writable.write() method writes some data to the stream, and calls the -supplied callback once the data has been fully handled. If an error -occurs, the callback will be called with the error as its -first argument. The callback is called asynchronously and before 'error' is -emitted.

    -

    The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. -If false is returned, further attempts to write data to the stream should -stop until the 'drain' event is emitted.

    -

    While a stream is not draining, calls to write() will buffer chunk, and -return false. Once all currently buffered chunks are drained (accepted for -delivery by the operating system), the 'drain' event will be emitted. -Once write() returns false, do not write more chunks -until the 'drain' event is emitted. While calling write() on a stream that -is not draining is allowed, Node.js will buffer all written chunks until -maximum memory usage occurs, at which point it will abort unconditionally. -Even before it aborts, high memory usage will cause poor garbage collector -performance and high RSS (which is not typically released back to the system, -even after the memory is no longer required). Since TCP sockets may never -drain if the remote peer does not read the data, writing a socket that is -not draining may lead to a remotely exploitable vulnerability.

    -

    Writing data while the stream is not draining is particularly -problematic for a Transform, because the Transform streams are paused -by default until they are piped or a 'data' or 'readable' event handler -is added.

    -

    If the data to be written can be generated or fetched on demand, it is -recommended to encapsulate the logic into a Readable and use pipe. However, if calling write() is preferred, it is -possible to respect backpressure and avoid memory issues using the 'drain' event:

    -
    function write(data, cb) {
    if (!stream.write(data)) {
    stream.once('drain', cb);
    } else {
    process.nextTick(cb);
    }
    }

    // Wait for cb to be called before doing any other write.
    write('hello', () => {
    console.log('Write completed, do more writes now.');
    }); -
    - -

    A Writable stream in object mode will always ignore the encoding argument.

    -

    Parameters

    • chunk: any

      Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

      -
    • Optionalencoding: BufferEncoding

      The encoding, if chunk is a string.

      -
    • Optionalcb: ((error: undefined | null | Error) => void)
        • (error): void
        • Parameters

          • error: undefined | null | Error

          Returns void

    Returns boolean

    false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

    -

    v0.9.4

    -
  • The writable.write() method writes some data to the stream, and calls the -supplied callback once the data has been fully handled. If an error -occurs, the callback will be called with the error as its -first argument. The callback is called asynchronously and before 'error' is -emitted.

    -

    The return value is true if the internal buffer is less than thehighWaterMark configured when the stream was created after admitting chunk. -If false is returned, further attempts to write data to the stream should -stop until the 'drain' event is emitted.

    -

    While a stream is not draining, calls to write() will buffer chunk, and -return false. Once all currently buffered chunks are drained (accepted for -delivery by the operating system), the 'drain' event will be emitted. -Once write() returns false, do not write more chunks -until the 'drain' event is emitted. While calling write() on a stream that -is not draining is allowed, Node.js will buffer all written chunks until -maximum memory usage occurs, at which point it will abort unconditionally. -Even before it aborts, high memory usage will cause poor garbage collector -performance and high RSS (which is not typically released back to the system, -even after the memory is no longer required). Since TCP sockets may never -drain if the remote peer does not read the data, writing a socket that is -not draining may lead to a remotely exploitable vulnerability.

    -

    Writing data while the stream is not draining is particularly -problematic for a Transform, because the Transform streams are paused -by default until they are piped or a 'data' or 'readable' event handler -is added.

    -

    If the data to be written can be generated or fetched on demand, it is -recommended to encapsulate the logic into a Readable and use pipe. However, if calling write() is preferred, it is -possible to respect backpressure and avoid memory issues using the 'drain' event:

    -
    function write(data, cb) {
    if (!stream.write(data)) {
    stream.once('drain', cb);
    } else {
    process.nextTick(cb);
    }
    }

    // Wait for cb to be called before doing any other write.
    write('hello', () => {
    console.log('Write completed, do more writes now.');
    }); -
    - -

    A Writable stream in object mode will always ignore the encoding argument.

    -

    Parameters

    • chunk: any

      Optional data to write. For streams not operating in object mode, chunk must be a string, Buffer or Uint8Array. For object mode streams, chunk may be any -JavaScript value other than null.

      -
    • Optionalcb: ((error: undefined | null | Error) => void)
        • (error): void
        • Parameters

          • error: undefined | null | Error

          Returns void

    Returns boolean

    false if the stream wishes for the calling code to wait for the 'drain' event to be emitted before continuing to write additional data; otherwise true.

    -

    v0.9.4

    -
  • Experimental

    Listens once to the abort event on the provided signal.

    -

    Listening to the abort event on abort signals is unsafe and may -lead to resource leaks since another third party with the signal can -call e.stopImmediatePropagation(). Unfortunately Node.js cannot change -this since it would violate the web standard. Additionally, the original -API makes it easy to forget to remove listeners.

    -

    This API allows safely using AbortSignals in Node.js APIs by solving these -two issues by listening to the event such that stopImmediatePropagation does -not prevent the listener from running.

    -

    Returns a disposable so that it may be unsubscribed from more easily.

    -
    import { addAbortListener } from 'node:events';

    function example(signal) {
    let disposable;
    try {
    signal.addEventListener('abort', (e) => e.stopImmediatePropagation());
    disposable = addAbortListener(signal, (e) => {
    // Do something when signal is aborted.
    });
    } finally {
    disposable?.[Symbol.dispose]();
    }
    } -
    - -

    Parameters

    • signal: AbortSignal
    • resource: ((event: Event) => void)
        • (event): void
        • Parameters

          • event: Event

          Returns void

    Returns Disposable

    Disposable that removes the abort listener.

    -

    v18.18.0

    -
  • A utility method for creating duplex streams.

    -
      -
    • Stream converts writable stream into writable Duplex and readable stream -to Duplex.
    • -
    • Blob converts into readable Duplex.
    • -
    • string converts into readable Duplex.
    • -
    • ArrayBuffer converts into readable Duplex.
    • -
    • AsyncIterable converts into a readable Duplex. Cannot yield null.
    • -
    • AsyncGeneratorFunction converts into a readable/writable transform -Duplex. Must take a source AsyncIterable as first parameter. Cannot yield -null.
    • -
    • AsyncFunction converts into a writable Duplex. Must return -either null or undefined
    • -
    • Object ({ writable, readable }) converts readable and -writable into Stream and then combines them into Duplex where the -Duplex will write to the writable and read from the readable.
    • -
    • Promise converts into readable Duplex. Value null is ignored.
    • -
    -

    Parameters

    • src:
          | string
          | Object
          | Stream
          | Promise<any>
          | Iterable<any>
          | AsyncIterable<any>
          | ArrayBuffer
          | Blob
          | AsyncGeneratorFunction

    Returns Duplex

    v16.8.0

    -
  • Experimental

    A utility method for creating a Readable from a web ReadableStream.

    -

    Parameters

    • readableStream: ReadableStream<any>
    • Optionaloptions: Pick<ReadableOptions,
          | "encoding"
          | "highWaterMark"
          | "objectMode"
          | "signal">

    Returns Readable

    v17.0.0

    -
  • Returns a copy of the array of listeners for the event named eventName.

    -

    For EventEmitters this behaves exactly the same as calling .listeners on -the emitter.

    -

    For EventTargets this is the only way to get the event listeners for the -event target. This is useful for debugging and diagnostic purposes.

    -
    const { getEventListeners, EventEmitter } = require('events');

    {
    const ee = new EventEmitter();
    const listener = () => console.log('Events are fun');
    ee.on('foo', listener);
    getEventListeners(ee, 'foo'); // [listener]
    }
    {
    const et = new EventTarget();
    const listener = () => console.log('Events are fun');
    et.addEventListener('foo', listener);
    getEventListeners(et, 'foo'); // [listener]
    } -
    - -

    Parameters

    • emitter: EventEmitter | _DOMEventTarget
    • name: string | symbol

    Returns Function[]

    v15.2.0, v14.17.0

    -
  • Returns the currently set max amount of listeners.

    -

    For EventEmitters this behaves exactly the same as calling .getMaxListeners on -the emitter.

    -

    For EventTargets this is the only way to get the max event listeners for the -event target. If the number of event handlers on a single EventTarget exceeds -the max set, the EventTarget will print a warning.

    -
    import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';

    {
    const ee = new EventEmitter();
    console.log(getMaxListeners(ee)); // 10
    setMaxListeners(11, ee);
    console.log(getMaxListeners(ee)); // 11
    }
    {
    const et = new EventTarget();
    console.log(getMaxListeners(et)); // 10
    setMaxListeners(11, et);
    console.log(getMaxListeners(et)); // 11
    } -
    - -

    Parameters

    • emitter: EventEmitter | _DOMEventTarget

    Returns number

    v18.17.0

    -
  • Returns whether the stream has been read from or cancelled.

    -

    Parameters

    • stream: Readable | ReadableStream

    Returns boolean

    v16.8.0

    -
  • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

    -
    const { EventEmitter, listenerCount } = require('events');
    const myEmitter = new EventEmitter();
    myEmitter.on('event', () => {});
    myEmitter.on('event', () => {});
    console.log(listenerCount(myEmitter, 'event'));
    // Prints: 2 -
    - -

    Parameters

    • emitter: EventEmitter

      The emitter to query

      -
    • eventName: string | symbol

      The event name

      -

    Returns number

    v0.9.12

    -

    Since v3.2.0 - Use listenerCount instead.

    -
  • const { on, EventEmitter } = require('events');

    (async () => {
    const ee = new EventEmitter();

    // Emit later on
    process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
    });

    for await (const event of on(ee, 'foo')) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
    }
    // Unreachable here
    })(); -
    - -

    Returns an AsyncIterator that iterates eventName events. It will throw -if the EventEmitter emits 'error'. It removes all listeners when -exiting the loop. The value returned by each iteration is an array -composed of the emitted event arguments.

    -

    An AbortSignal can be used to cancel waiting on events:

    -
    const { on, EventEmitter } = require('events');
    const ac = new AbortController();

    (async () => {
    const ee = new EventEmitter();

    // Emit later on
    process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
    });

    for await (const event of on(ee, 'foo', { signal: ac.signal })) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
    }
    // Unreachable here
    })();

    process.nextTick(() => ac.abort()); -
    - -

    Parameters

    • emitter: EventEmitter
    • eventName: string

      The name of the event being listened for

      -
    • Optionaloptions: StaticEventEmitterOptions

    Returns AsyncIterableIterator<any>

    that iterates eventName events emitted by the emitter

    -

    v13.6.0, v12.16.0

    -
  • Creates a Promise that is fulfilled when the EventEmitter emits the given -event or that is rejected if the EventEmitter emits 'error' while waiting. -The Promise will resolve with an array of all the arguments emitted to the -given event.

    -

    This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event -semantics and does not listen to the 'error' event.

    -
    const { once, EventEmitter } = require('events');

    async function run() {
    const ee = new EventEmitter();

    process.nextTick(() => {
    ee.emit('myevent', 42);
    });

    const [value] = await once(ee, 'myevent');
    console.log(value);

    const err = new Error('kaboom');
    process.nextTick(() => {
    ee.emit('error', err);
    });

    try {
    await once(ee, 'myevent');
    } catch (err) {
    console.log('error happened', err);
    }
    }

    run(); -
    - -

    The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the -'error' event itself, then it is treated as any other kind of event without -special handling:

    -
    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();

    once(ee, 'error')
    .then(([err]) => console.log('ok', err.message))
    .catch((err) => console.log('error', err.message));

    ee.emit('error', new Error('boom'));

    // Prints: ok boom -
    - -

    An AbortSignal can be used to cancel waiting for the event:

    -
    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();
    const ac = new AbortController();

    async function foo(emitter, event, signal) {
    try {
    await once(emitter, event, { signal });
    console.log('event emitted!');
    } catch (error) {
    if (error.name === 'AbortError') {
    console.error('Waiting for the event was canceled!');
    } else {
    console.error('There was an error', error.message);
    }
    }
    }

    foo(ee, 'foo', ac.signal);
    ac.abort(); // Abort waiting for the event
    ee.emit('foo'); // Prints: Waiting for the event was canceled! -
    - -

    Parameters

    • emitter: _NodeEventTarget
    • eventName: string | symbol
    • Optionaloptions: StaticEventEmitterOptions

    Returns Promise<any[]>

    v11.13.0, v10.16.0

    -
  • Parameters

    • emitter: _DOMEventTarget
    • eventName: string
    • Optionaloptions: StaticEventEmitterOptions

    Returns Promise<any[]>

  • const {
    setMaxListeners,
    EventEmitter
    } = require('events');

    const target = new EventTarget();
    const emitter = new EventEmitter();

    setMaxListeners(5, target, emitter); -
    - -

    Parameters

    • Optionaln: number

      A non-negative number. The maximum number of listeners per EventTarget event.

      -
    • Rest...eventTargets: (EventEmitter | _DOMEventTarget)[]

    Returns void

    v15.4.0

    -
  • Experimental

    A utility method for creating a web ReadableStream from a Readable.

    -

    Parameters

    • streamReadable: Readable

    Returns ReadableStream<any>

    v17.0.0

    -
diff --git a/7.x/docs/classes/SlugParser.html b/7.x/docs/classes/SlugParser.html deleted file mode 100644 index 768ae02dc..000000000 --- a/7.x/docs/classes/SlugParser.html +++ /dev/null @@ -1,20 +0,0 @@ -SlugParser | Community Solid Server - v7.1.0

Converts the contents of the slug header to metadata.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/SparqlDataAccessor.html b/7.x/docs/classes/SparqlDataAccessor.html deleted file mode 100644 index c2d6421ba..000000000 --- a/7.x/docs/classes/SparqlDataAccessor.html +++ /dev/null @@ -1,36 +0,0 @@ -SparqlDataAccessor | Community Solid Server - v7.1.0

Stores all data and metadata of resources in a SPARQL backend. -Communication is done by sending SPARQL queries. -Queries are constructed in such a way to keep everything consistent, -such as updating containment triples and deleting old data when it is overwritten.

-

Since metadata is hidden, no containment triples are stored for metadata files.

-

All input container metadata is stored in its metadata identifier. -The containment triples are stored in the graph corresponding to the actual identifier -so those don't get overwritten.

-

Implements

Constructors

Properties

logger: Logger = ...

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

diff --git a/7.x/docs/classes/SparqlUpdateBodyParser.html b/7.x/docs/classes/SparqlUpdateBodyParser.html deleted file mode 100644 index 1cfa9eb97..000000000 --- a/7.x/docs/classes/SparqlUpdateBodyParser.html +++ /dev/null @@ -1,21 +0,0 @@ -SparqlUpdateBodyParser | Community Solid Server - v7.1.0

BodyParser that supports application/sparql-update content. -Will convert the incoming update string to algebra in a SparqlUpdatePatch.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/SparqlUpdateModesExtractor.html b/7.x/docs/classes/SparqlUpdateModesExtractor.html deleted file mode 100644 index 38aa6ef57..000000000 --- a/7.x/docs/classes/SparqlUpdateModesExtractor.html +++ /dev/null @@ -1,24 +0,0 @@ -SparqlUpdateModesExtractor | Community Solid Server - v7.1.0

Class SparqlUpdateModesExtractor

Generates permissions for a SPARQL DELETE/INSERT body. -Updates with only an INSERT can be done with just append permissions, -while DELETEs require write permissions as well.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/SparqlUpdatePatcher.html b/7.x/docs/classes/SparqlUpdatePatcher.html deleted file mode 100644 index 9407056a8..000000000 --- a/7.x/docs/classes/SparqlUpdatePatcher.html +++ /dev/null @@ -1,21 +0,0 @@ -SparqlUpdatePatcher | Community Solid Server - v7.1.0

Supports application/sparql-update PATCH requests on RDF resources.

-

Only DELETE/INSERT updates without variables are supported.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/StateHandler.html b/7.x/docs/classes/StateHandler.html deleted file mode 100644 index c1893be44..000000000 --- a/7.x/docs/classes/StateHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -StateHandler | Community Solid Server - v7.1.0

Class StateHandlerAbstract

Handles the state feature of notifications. -Every implementation of a specific notification channel type should make sure an instance of this class -gets called when a state notification can be sent out.

-

Implementations of this class should handle all channels and filter out those that need a state notification.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/StateNotificationGenerator.html b/7.x/docs/classes/StateNotificationGenerator.html deleted file mode 100644 index f48c5bc98..000000000 --- a/7.x/docs/classes/StateNotificationGenerator.html +++ /dev/null @@ -1,20 +0,0 @@ -StateNotificationGenerator | Community Solid Server - v7.1.0

Class StateNotificationGenerator

Determines the most relevant activity for a Notification in case none was provided. -This is relevant for the state feature where a notification channel needs to know the current state of a resource.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/StaticAssetEntry.html b/7.x/docs/classes/StaticAssetEntry.html deleted file mode 100644 index 7c6a5e11a..000000000 --- a/7.x/docs/classes/StaticAssetEntry.html +++ /dev/null @@ -1,6 +0,0 @@ -StaticAssetEntry | Community Solid Server - v7.1.0

Used to link file paths with relative URLs. -By using a separate class instead of a key/value map it is easier to replace values in Components.js.

-

Constructors

Properties

Constructors

Properties

filePath: string
relativeUrl: string
diff --git a/7.x/docs/classes/StaticAssetHandler.html b/7.x/docs/classes/StaticAssetHandler.html deleted file mode 100644 index 7cc7189ce..000000000 --- a/7.x/docs/classes/StaticAssetHandler.html +++ /dev/null @@ -1,28 +0,0 @@ -StaticAssetHandler | Community Solid Server - v7.1.0

Handler that serves static resources on specific paths. -Relative file paths are assumed to be relative to the current working directory. -Relative file paths can be preceded by @css:, e.g. @css:foo/bar, -in case they need to be relative to the module root. -File paths ending in a slash assume the target is a folder and map all of its contents.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StaticFolderGenerator.html b/7.x/docs/classes/StaticFolderGenerator.html deleted file mode 100644 index adab2e521..000000000 --- a/7.x/docs/classes/StaticFolderGenerator.html +++ /dev/null @@ -1,9 +0,0 @@ -StaticFolderGenerator | Community Solid Server - v7.1.0

Stores a static template folder that will be used to call the wrapped TemplatedResourcesGenerator.

-

Implements

Constructors

Methods

Constructors

Methods

  • Generates resources with the given options. -The output Iterable should be sorted so that containers always appear before their contents.

    -

    Parameters

    • location: ResourceIdentifier

      Base identifier.

      -
    • options: Dict<unknown>

      Options that can be used when generating resources.

      -

    Returns AsyncIterable<Resource>

    A map where the keys are the identifiers and the values the corresponding representations to store.

    -
diff --git a/7.x/docs/classes/StaticHandler.html b/7.x/docs/classes/StaticHandler.html deleted file mode 100644 index d4267f2ac..000000000 --- a/7.x/docs/classes/StaticHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -StaticHandler | Community Solid Server - v7.1.0

A handler that always resolves and always returns the stored value. -Will return undefined if no value is stored.

-

The generic type extends any due to Components.js requirements.

-

Type Parameters

  • T = void

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: unknown

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: unknown

      Input data that will be handled if it can be handled.

      -

    Returns Promise<T>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StaticInteractionHandler.html b/7.x/docs/classes/StaticInteractionHandler.html deleted file mode 100644 index 805493710..000000000 --- a/7.x/docs/classes/StaticInteractionHandler.html +++ /dev/null @@ -1,18 +0,0 @@ -StaticInteractionHandler | Community Solid Server - v7.1.0

An JsonInteractionHandler that always returns the same JSON response on all requests.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/StaticStorageDescriber.html b/7.x/docs/classes/StaticStorageDescriber.html deleted file mode 100644 index 38e5dd9ba..000000000 --- a/7.x/docs/classes/StaticStorageDescriber.html +++ /dev/null @@ -1,21 +0,0 @@ -StaticStorageDescriber | Community Solid Server - v7.1.0

Adds a fixed set of triples to the storage description resource, -with the resource identifier as subject.

-

This can be used to add descriptions that a storage always needs to have, -such as the <> a pim:Storage triple.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StaticTemplateEngine.html b/7.x/docs/classes/StaticTemplateEngine.html deleted file mode 100644 index 23f14acdc..000000000 --- a/7.x/docs/classes/StaticTemplateEngine.html +++ /dev/null @@ -1,22 +0,0 @@ -StaticTemplateEngine | Community Solid Server - v7.1.0

Class StaticTemplateEngine<T>

Template engine that renders output based on a static template file.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/StaticThrowHandler.html b/7.x/docs/classes/StaticThrowHandler.html deleted file mode 100644 index de916aded..000000000 --- a/7.x/docs/classes/StaticThrowHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -StaticThrowHandler | Community Solid Server - v7.1.0

Utility handler that can handle all input and always throws an instance of the given error.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

error: HttpError<number>

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: unknown

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: unknown

      Input data that will be handled if it can be handled.

      -

    Returns Promise<never>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StorageDescriber.html b/7.x/docs/classes/StorageDescriber.html deleted file mode 100644 index a5936042c..000000000 --- a/7.x/docs/classes/StorageDescriber.html +++ /dev/null @@ -1,19 +0,0 @@ -StorageDescriber | Community Solid Server - v7.1.0

Class StorageDescriberAbstract

Generates Quads that need to be added to the given storage description resource.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StorageDescriptionAdvertiser.html b/7.x/docs/classes/StorageDescriptionAdvertiser.html deleted file mode 100644 index babf03afe..000000000 --- a/7.x/docs/classes/StorageDescriptionAdvertiser.html +++ /dev/null @@ -1,22 +0,0 @@ -StorageDescriptionAdvertiser | Community Solid Server - v7.1.0

Class StorageDescriptionAdvertiser

Adds a link header pointing to the relevant storage description resource. -Recursively checks parent containers until a storage container is found, -and then appends the provided relative path to determine the storage description resource.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StorageDescriptionHandler.html b/7.x/docs/classes/StorageDescriptionHandler.html deleted file mode 100644 index 0e66feca5..000000000 --- a/7.x/docs/classes/StorageDescriptionHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -StorageDescriptionHandler | Community Solid Server - v7.1.0

Generates the response for GET requests targeting a storage description resource. -The input path needs to match the relative path used to generate storage description resources -and will be used to verify if the container it is linked to is an actual storage.

-

Hierarchy (view full)

Constructors

Methods

diff --git a/7.x/docs/classes/StreamingHttp2023Emitter.html b/7.x/docs/classes/StreamingHttp2023Emitter.html deleted file mode 100644 index 4d39af4d1..000000000 --- a/7.x/docs/classes/StreamingHttp2023Emitter.html +++ /dev/null @@ -1,22 +0,0 @@ -StreamingHttp2023Emitter | Community Solid Server - v7.1.0

Emits notifications on StreamingHTTPChannel2023 streams. -Uses the response streams found in the provided map. -The key should be the identifier of the topic resource.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StreamingHttpListeningActivityHandler.html b/7.x/docs/classes/StreamingHttpListeningActivityHandler.html deleted file mode 100644 index 07637a20b..000000000 --- a/7.x/docs/classes/StreamingHttpListeningActivityHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -StreamingHttpListeningActivityHandler | Community Solid Server - v7.1.0

Class StreamingHttpListeningActivityHandler

Listens to an ActivityEmitter and calls the stored NotificationHandlers in case of an event -for every matching notification channel found.

-

Extends StaticHandler so it can be more easily injected into a Components.js configuration. -No class takes this one as input, so to make sure Components.js instantiates it, -it needs to be added somewhere where its presence has no impact, such as the list of initializers.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: unknown

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: unknown

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StreamingHttpMap.html b/7.x/docs/classes/StreamingHttpMap.html deleted file mode 100644 index 86edfcdd2..000000000 --- a/7.x/docs/classes/StreamingHttpMap.html +++ /dev/null @@ -1,43 +0,0 @@ -StreamingHttpMap | Community Solid Server - v7.1.0

A SetMultiMap linking identifiers to a set of Streaming HTTP streams. -An extension of WrappedSetMultiMap to make sure Components.js allows us to create this in the config, -as WrappedSetMultiMap has a constructor not supported.

-

Hierarchy (view full)

Implements

Constructors

  • Parameters

    • mapConstructor: (new () => Map<string, Set<PassThrough>>) = Map

      Will be used to instantiate the internal Map.

      -
        • new (): Map<string, Set<PassThrough>>
        • Returns Map<string, Set<PassThrough>>

    • Optionaliterable: Iterable<readonly [string, PassThrough | ReadonlySet<PassThrough>]>

      Entries to add to the map.

      -

    Returns StreamingHttpMap

Properties

[toStringTag]: "WrappedSetMultiMap" = 'WrappedSetMultiMap'

Accessors

Methods

  • Returns all values stored for the given key. -Returns undefined if there are no values for this key.

    -

    Parameters

    • key: string

    Returns undefined | ReadonlySet<PassThrough>

  • Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

    -

    Parameters

    • key: string
    • value: PassThrough | ReadonlySet<PassThrough>

    Returns this

diff --git a/7.x/docs/classes/StreamingHttpMetadataWriter.html b/7.x/docs/classes/StreamingHttpMetadataWriter.html deleted file mode 100644 index 55feda264..000000000 --- a/7.x/docs/classes/StreamingHttpMetadataWriter.html +++ /dev/null @@ -1,21 +0,0 @@ -StreamingHttpMetadataWriter | Community Solid Server - v7.1.0

Class StreamingHttpMetadataWriter

A MetadataWriter that adds a link to the receiveFrom endpoint -of the corresponding Streaming HTTP notifications channel

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/StreamingHttpRequestHandler.html b/7.x/docs/classes/StreamingHttpRequestHandler.html deleted file mode 100644 index f91784d56..000000000 --- a/7.x/docs/classes/StreamingHttpRequestHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -StreamingHttpRequestHandler | Community Solid Server - v7.1.0

Class StreamingHttpRequestHandler

Handles request to Streaming HTTP receiveFrom endopints. -All allowed requests are stored in the StreamingHttpMap

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/SubdomainExtensionBasedMapper.html b/7.x/docs/classes/SubdomainExtensionBasedMapper.html deleted file mode 100644 index 1ff8e19c2..000000000 --- a/7.x/docs/classes/SubdomainExtensionBasedMapper.html +++ /dev/null @@ -1,92 +0,0 @@ -SubdomainExtensionBasedMapper | Community Solid Server - v7.1.0

Class SubdomainExtensionBasedMapper

Extends the functionality of an ExtensionBasedMapper to support identifiers containing subdomains. -This is mostly only relevant in case you want to support multiple pods with subdomain identifiers -in a single ResourceStore.

-

When converting to/from file paths, the subdomain is interpreted as a folder in the rootFilePath. -The rest of the path is then interpreted relative to that folder. -E.g. http://alice.test.com/foo results in the relative path /alice/foo.

-

In case there is no subdomain in the URL, the baseSubdomain parameter is used instead. -E.g., if the baseSubdomain is "www", http://test.com/foo would result in the relative path /www/foo. -This means that there is no identifier that maps to the rootFilePath itself. -To prevent the possibility of 2 identifiers linking to the same file, -identifiers containing the default subdomain are rejected. -E.g., http://www.test.com/foo would result in a 403, even if http://test.com/foo exists.

-

Hierarchy (view full)

Constructors

Properties

baseRequestURI: string
logger: Logger = ...
rootFilepath: string
unknownMediaTypeExtension: "unknown" = 'unknown'

Methods

  • Maps the given document identifier to a file path, -possibly making alterations to the direct translation -(for instance, based on its content type)). -Determines the content type if none was provided.

    -

    Parameters

    • identifier: ResourceIdentifier

      The input identifier.

      -
    • filePath: string

      The direct translation of the identifier onto the file path.

      -
    • OptionalcontentType: string

      The content-type provided with the request.

      -

    Returns Promise<ResourceLink>

    A ResourceLink with all the necessary metadata.

    -
diff --git a/7.x/docs/classes/SubdomainIdentifierGenerator.html b/7.x/docs/classes/SubdomainIdentifierGenerator.html deleted file mode 100644 index fc5863a16..000000000 --- a/7.x/docs/classes/SubdomainIdentifierGenerator.html +++ /dev/null @@ -1,11 +0,0 @@ -SubdomainIdentifierGenerator | Community Solid Server - v7.1.0

Class SubdomainIdentifierGenerator

Generates identifiers by using the name as a subdomain on the base URL. -Non-alphanumeric characters will be replaced with -.

-

When extracting the pod, the base URl is also seen as a pod as there is no issue of nested containers here.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/SubdomainIdentifierStrategy.html b/7.x/docs/classes/SubdomainIdentifierStrategy.html deleted file mode 100644 index d66ca3cc7..000000000 --- a/7.x/docs/classes/SubdomainIdentifierStrategy.html +++ /dev/null @@ -1,21 +0,0 @@ -SubdomainIdentifierStrategy | Community Solid Server - v7.1.0

Class SubdomainIdentifierStrategy

An IdentifierStrategy that interprets all subdomains of the given base URL as roots.

-

Hierarchy (view full)

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/SubfolderResourcesGenerator.html b/7.x/docs/classes/SubfolderResourcesGenerator.html deleted file mode 100644 index 7e721c86a..000000000 --- a/7.x/docs/classes/SubfolderResourcesGenerator.html +++ /dev/null @@ -1,16 +0,0 @@ -SubfolderResourcesGenerator | Community Solid Server - v7.1.0

Class SubfolderResourcesGenerator

Generates all resources found in specific subfolders of the given template folder. -In case the same resource is defined in several subfolders, -the data of the last subfolder in the list will be used.

-

The results of all the subfolders will be merged so the end result is still a sorted stream of identifiers.

-

One of the main use cases for this class is so template resources can be in a separate folder -than their corresponding authorization resources, -allowing for authorization-independent templates.

-

Implements

Constructors

Methods

Constructors

Methods

  • Generates resources with the given options, based on the given template folder. -The output Iterable should be sorted so that containers always appear before their contents.

    -

    Parameters

    • templateFolder: string

      Folder where the templates are located.

      -
    • location: ResourceIdentifier

      Base identifier.

      -
    • options: Dict<unknown>

      Options that can be used when generating resources.

      -

    Returns AsyncIterable<Resource>

    A map where the keys are the identifiers and the values the corresponding representations to store.

    -
diff --git a/7.x/docs/classes/SuffixAuxiliaryIdentifierStrategy.html b/7.x/docs/classes/SuffixAuxiliaryIdentifierStrategy.html deleted file mode 100644 index 2d0ec8337..000000000 --- a/7.x/docs/classes/SuffixAuxiliaryIdentifierStrategy.html +++ /dev/null @@ -1,28 +0,0 @@ -SuffixAuxiliaryIdentifierStrategy | Community Solid Server - v7.1.0

Class SuffixAuxiliaryIdentifierStrategy

Helper class that uses a suffix to determine if a resource is an auxiliary resource or not. -Simple string matching is used, so the dot needs to be included if needed, e.g. ".acl".

-

Implements

Constructors

Properties

suffix: string

Methods

diff --git a/7.x/docs/classes/SuffixIdentifierGenerator.html b/7.x/docs/classes/SuffixIdentifierGenerator.html deleted file mode 100644 index 55ea38208..000000000 --- a/7.x/docs/classes/SuffixIdentifierGenerator.html +++ /dev/null @@ -1,10 +0,0 @@ -SuffixIdentifierGenerator | Community Solid Server - v7.1.0

Generates identifiers by appending the name to a stored base identifier. -Non-alphanumeric characters will be replaced with -.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/TargetExtractor.html b/7.x/docs/classes/TargetExtractor.html deleted file mode 100644 index 1a716a9f7..000000000 --- a/7.x/docs/classes/TargetExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -TargetExtractor | Community Solid Server - v7.1.0

Class TargetExtractorAbstract

Extracts a ResourceIdentifier from an incoming HttpRequest.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/TargetExtractorErrorHandler.html b/7.x/docs/classes/TargetExtractorErrorHandler.html deleted file mode 100644 index 011b300e8..000000000 --- a/7.x/docs/classes/TargetExtractorErrorHandler.html +++ /dev/null @@ -1,21 +0,0 @@ -TargetExtractorErrorHandler | Community Solid Server - v7.1.0

Class TargetExtractorErrorHandler

Adds metadata to an error to indicate the identifier of the originally targeted resource.

-

Hierarchy (view full)

Constructors

Properties

errorHandler: ErrorHandler
targetExtractor: TargetExtractor

Methods

diff --git a/7.x/docs/classes/TemplateEngine.html b/7.x/docs/classes/TemplateEngine.html deleted file mode 100644 index 65b91396b..000000000 --- a/7.x/docs/classes/TemplateEngine.html +++ /dev/null @@ -1,20 +0,0 @@ -TemplateEngine | Community Solid Server - v7.1.0

Class TemplateEngine<T>Abstract

Generic interface for classes that implement a template engine. -A template engine renders content into a template.

-

Type Parameters

  • T extends Dict<unknown> = Dict<unknown>

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/TemplatedPodGenerator.html b/7.x/docs/classes/TemplatedPodGenerator.html deleted file mode 100644 index 69bd70a46..000000000 --- a/7.x/docs/classes/TemplatedPodGenerator.html +++ /dev/null @@ -1,23 +0,0 @@ -TemplatedPodGenerator | Community Solid Server - v7.1.0

Creates a new ResourceStore when creating a pod based on a Components.js configuration.

-

Part of the dynamic pod creation.

-
    -
  1. It calls a VariableHandler to add necessary variable values. -E.g. setting the base url variable for components.js to the pod identifier.
  2. -
  3. It filters/cleans the input agent values using VariableHandlers
  4. -
  5. It calls a ComponentsJsFactory with the variables and template location to instantiate a new ResourceStore.
  6. -
  7. It stores these values in the configuration storage, which is used as a permanent storage for pod configurations.
  8. -
-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/TokenOwnershipValidator.html b/7.x/docs/classes/TokenOwnershipValidator.html deleted file mode 100644 index 67f1a5402..000000000 --- a/7.x/docs/classes/TokenOwnershipValidator.html +++ /dev/null @@ -1,21 +0,0 @@ -TokenOwnershipValidator | Community Solid Server - v7.1.0

Validates ownership of a WebId by seeing if a specific triple can be added. -expiration parameter is how long the token should be valid in minutes.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input that could potentially be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: {
          webId: string;
      }

      Input data that will be handled if it can be handled.

      -
      • webId: string

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/TypedNotificationHandler.html b/7.x/docs/classes/TypedNotificationHandler.html deleted file mode 100644 index 7b9bfa4ed..000000000 --- a/7.x/docs/classes/TypedNotificationHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -TypedNotificationHandler | Community Solid Server - v7.1.0

A NotificationHandler that only accepts input for a specific notification channel type.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/TypedRepresentationConverter.html b/7.x/docs/classes/TypedRepresentationConverter.html deleted file mode 100644 index baa800dd4..000000000 --- a/7.x/docs/classes/TypedRepresentationConverter.html +++ /dev/null @@ -1,21 +0,0 @@ -TypedRepresentationConverter | Community Solid Server - v7.1.0

Class TypedRepresentationConverterAbstract

A RepresentationConverter that allows requesting the supported types.

-

Hierarchy (view full)

Constructors

Methods

diff --git a/7.x/docs/classes/UnauthorizedHttpError.html b/7.x/docs/classes/UnauthorizedHttpError.html deleted file mode 100644 index a9fc21d28..000000000 --- a/7.x/docs/classes/UnauthorizedHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -UnauthorizedHttpError | Community Solid Server - v7.1.0

An error thrown when an agent is not authorized.

-

Hierarchy

  • BaseHttpError
    • UnauthorizedHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 401
isInstance: ((error: unknown) => error is HttpError<401>)

Checks whether the given error is an instance of this class.

-
statusCode: 401

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/UnionCredentialsExtractor.html b/7.x/docs/classes/UnionCredentialsExtractor.html deleted file mode 100644 index 828d34c4e..000000000 --- a/7.x/docs/classes/UnionCredentialsExtractor.html +++ /dev/null @@ -1,27 +0,0 @@ -UnionCredentialsExtractor | Community Solid Server - v7.1.0

Combines the results of several CredentialsExtractors into one. -If multiple of these extractors return a value for the same key, -the last result will be used.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnionHandler.html b/7.x/docs/classes/UnionHandler.html deleted file mode 100644 index 01a63db0c..000000000 --- a/7.x/docs/classes/UnionHandler.html +++ /dev/null @@ -1,37 +0,0 @@ -UnionHandler | Community Solid Server - v7.1.0

Class UnionHandler<T>Abstract

Utility handler that allows combining the results of multiple handlers into one. -Will run the handlers and then call the abstract combine function with the results, -which then generates the handler's output.

-

Type Parameters

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

  • Creates a new UnionHandler.

    -

    When requireAll is false or ignoreErrors is true, -the length of the input to combine can vary; -otherwise, it is exactly the number of handlers.

    -

    Type Parameters

    Parameters

    • handlers: T[]

      The handlers whose output is to be combined.

      -
    • requireAll: boolean = false

      If true, will fail if any of the handlers do not support the input. -If false, only the handlers that support the input will be called; -will fail only if none of the handlers can handle the input.

      -
    • ignoreErrors: boolean = !requireAll

      If true, ignores handlers that fail by omitting their output; -if false, fails when any handlers fail.

      -

    Returns UnionHandler<T>

Properties

handlers: T[]

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnionPermissionReader.html b/7.x/docs/classes/UnionPermissionReader.html deleted file mode 100644 index 0cfe514a9..000000000 --- a/7.x/docs/classes/UnionPermissionReader.html +++ /dev/null @@ -1,26 +0,0 @@ -UnionPermissionReader | Community Solid Server - v7.1.0

Combines the results of multiple PermissionReaders. -Every permission in every credential type is handled according to the rule false > true > undefined.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

handlers: PermissionReader[]

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnionPreferenceParser.html b/7.x/docs/classes/UnionPreferenceParser.html deleted file mode 100644 index 228c6542a..000000000 --- a/7.x/docs/classes/UnionPreferenceParser.html +++ /dev/null @@ -1,26 +0,0 @@ -UnionPreferenceParser | Community Solid Server - v7.1.0

Combines the results of multiple PreferenceParsers. -Will throw an error if multiple parsers return a range as these can't logically be combined.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

handlers: PreferenceParser[]

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnlinkWebIdHandler.html b/7.x/docs/classes/UnlinkWebIdHandler.html deleted file mode 100644 index ab72a6140..000000000 --- a/7.x/docs/classes/UnlinkWebIdHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -UnlinkWebIdHandler | Community Solid Server - v7.1.0

Allows users to remove WebIDs linked to their account.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/UnsecureConstantCredentialsExtractor.html b/7.x/docs/classes/UnsecureConstantCredentialsExtractor.html deleted file mode 100644 index f10e8e6d7..000000000 --- a/7.x/docs/classes/UnsecureConstantCredentialsExtractor.html +++ /dev/null @@ -1,19 +0,0 @@ -UnsecureConstantCredentialsExtractor | Community Solid Server - v7.1.0

Class UnsecureConstantCredentialsExtractor

Credentials extractor that authenticates a constant agent -(useful for development or debugging purposes).

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: HttpRequest

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnsecureWebIdExtractor.html b/7.x/docs/classes/UnsecureWebIdExtractor.html deleted file mode 100644 index 32c445544..000000000 --- a/7.x/docs/classes/UnsecureWebIdExtractor.html +++ /dev/null @@ -1,20 +0,0 @@ -UnsecureWebIdExtractor | Community Solid Server - v7.1.0

Credentials extractor which simply interprets the contents of the Authorization header as a WebID.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/UnsecureWebSocketsProtocol.html b/7.x/docs/classes/UnsecureWebSocketsProtocol.html deleted file mode 100644 index ac5384105..000000000 --- a/7.x/docs/classes/UnsecureWebSocketsProtocol.html +++ /dev/null @@ -1,22 +0,0 @@ -UnsecureWebSocketsProtocol | Community Solid Server - v7.1.0

Class UnsecureWebSocketsProtocol

Provides live update functionality following -the Solid WebSockets API Spec solid-0.1.

-

The baseUrl parameter should be the same one that is used to advertise with the Updates-Via header.

-

Hierarchy (view full)

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/UnsupportedAsyncHandler.html b/7.x/docs/classes/UnsupportedAsyncHandler.html deleted file mode 100644 index 7e446b7e8..000000000 --- a/7.x/docs/classes/UnsupportedAsyncHandler.html +++ /dev/null @@ -1,17 +0,0 @@ -UnsupportedAsyncHandler | Community Solid Server - v7.1.0

Handler that does not support any input and will always throw an error.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Returns Promise<never>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: unknown

      Input data that will be handled if it can be handled.

      -

    Returns Promise<never>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/UnsupportedMediaTypeHttpError.html b/7.x/docs/classes/UnsupportedMediaTypeHttpError.html deleted file mode 100644 index 643515f73..000000000 --- a/7.x/docs/classes/UnsupportedMediaTypeHttpError.html +++ /dev/null @@ -1,18 +0,0 @@ -UnsupportedMediaTypeHttpError | Community Solid Server - v7.1.0

Class UnsupportedMediaTypeHttpError

An error thrown when the media type of incoming data is not supported by a parser.

-

Hierarchy

  • BaseHttpError
    • UnsupportedMediaTypeHttpError

Constructors

Properties

cause?: unknown
errorCode: string
message: string
name: string
stack?: string
statusCode: 415
isInstance: ((error: unknown) => error is HttpError<415>)

Checks whether the given error is an instance of this class.

-
statusCode: 415

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-

Methods

  • Initializes the error metadata.

    -

    Returns void

diff --git a/7.x/docs/classes/UpdateOwnerHandler.html b/7.x/docs/classes/UpdateOwnerHandler.html deleted file mode 100644 index f554b88d4..000000000 --- a/7.x/docs/classes/UpdateOwnerHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -UpdateOwnerHandler | Community Solid Server - v7.1.0

Responsible for adding/updating/deleting owners in pods.

-

Hierarchy (view full)

Implements

Constructors

Methods

  • Extract the pod ID from the path and find the associated pod. -Asserts that the given account ID is the creator of this pod.

    -

    Parameters

    Returns Promise<{
        accountId: string;
        baseUrl: string;
        id: string;
    }>

diff --git a/7.x/docs/classes/UpdatePasswordHandler.html b/7.x/docs/classes/UpdatePasswordHandler.html deleted file mode 100644 index a52b9eb87..000000000 --- a/7.x/docs/classes/UpdatePasswordHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -UpdatePasswordHandler | Community Solid Server - v7.1.0

Allows the password of a login to be updated.

-

Hierarchy (view full)

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/V6MigrationInitializer.html b/7.x/docs/classes/V6MigrationInitializer.html deleted file mode 100644 index fdf8218a0..000000000 --- a/7.x/docs/classes/V6MigrationInitializer.html +++ /dev/null @@ -1,28 +0,0 @@ -V6MigrationInitializer | Community Solid Server - v7.1.0

Handles migrating account data from v6 to the newer format. -Will only trigger if it is detected that this server was previously started on an older version -and at least one account was found. -Confirmation will be asked to the user through a CLI prompt. -After migration is complete the old data will be removed.

-

Hierarchy (view full)

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Creates a new account based on the account data found in the old storage. -Will always create an account and password entry. -In case useIdp is true, will create a WebID link entry. -In case there is an associated podBaseUrl, will create a pod and owner entry.

    -

    Parameters

    • account: Account | Settings

    Returns Promise<undefined | {
        accountId: string;
        webId: string;
    }>

  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/ValidatingDataAccessor.html b/7.x/docs/classes/ValidatingDataAccessor.html deleted file mode 100644 index e00cc3062..000000000 --- a/7.x/docs/classes/ValidatingDataAccessor.html +++ /dev/null @@ -1,51 +0,0 @@ -ValidatingDataAccessor | Community Solid Server - v7.1.0

A ValidatingDataAccessor wraps a DataAccessor such that the data stream is validated while being written. -An AtomicDataAccessor can be used to prevent data being written in case validation fails.

-

Hierarchy (view full)

Constructors

Properties

Methods

  • Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

    -

    It can be safely assumed that the incoming identifier will always correspond to a container.

    -

    Parameters

    Returns AsyncIterableIterator<RepresentationMetadata>

diff --git a/7.x/docs/classes/Validator.html b/7.x/docs/classes/Validator.html deleted file mode 100644 index cc164f321..000000000 --- a/7.x/docs/classes/Validator.html +++ /dev/null @@ -1,19 +0,0 @@ -Validator | Community Solid Server - v7.1.0

Class ValidatorAbstract

Generic interface for classes that validate Representations in some way.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/VariableHandler.html b/7.x/docs/classes/VariableHandler.html deleted file mode 100644 index b585eed3c..000000000 --- a/7.x/docs/classes/VariableHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -VariableHandler | Community Solid Server - v7.1.0

Class VariableHandlerAbstract

Updates the variables stored in the given agent. -Can be used to set variables that are required for the Components.js instantiation -but which should not be provided by the request. -E.g.: The exact file path (when required) should be determined by the server to prevent abuse.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/VariableSetter.html b/7.x/docs/classes/VariableSetter.html deleted file mode 100644 index cf7f92535..000000000 --- a/7.x/docs/classes/VariableSetter.html +++ /dev/null @@ -1,20 +0,0 @@ -VariableSetter | Community Solid Server - v7.1.0

A VariableHandler that will set the given variable to the given value, -unless there already is a value for the variable and override is false.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/VersionHandler.html b/7.x/docs/classes/VersionHandler.html deleted file mode 100644 index 7e47de273..000000000 --- a/7.x/docs/classes/VersionHandler.html +++ /dev/null @@ -1,20 +0,0 @@ -VersionHandler | Community Solid Server - v7.1.0

Adds the current version of the API to the JSON output. -This version number should be updated every time the API changes.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/ViewInteractionHandler.html b/7.x/docs/classes/ViewInteractionHandler.html deleted file mode 100644 index 6dc750f3a..000000000 --- a/7.x/docs/classes/ViewInteractionHandler.html +++ /dev/null @@ -1,23 +0,0 @@ -ViewInteractionHandler | Community Solid Server - v7.1.0

Utility class for the common case of a JsonInteractionHandler -describing the expected input on a GET request which is needed to do a POST request.

-

Returns the result of a JsonView on GET requests. -POST requests are sent to the JsonInteractionHandler. -Other methods will be rejected.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/VoidLocker.html b/7.x/docs/classes/VoidLocker.html deleted file mode 100644 index 43e5f3336..000000000 --- a/7.x/docs/classes/VoidLocker.html +++ /dev/null @@ -1,18 +0,0 @@ -VoidLocker | Community Solid Server - v7.1.0

A ReadWriteLocker where the locks expire after a given time.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/VoidLogger.html b/7.x/docs/classes/VoidLogger.html deleted file mode 100644 index 311124200..000000000 --- a/7.x/docs/classes/VoidLogger.html +++ /dev/null @@ -1,24 +0,0 @@ -VoidLogger | Community Solid Server - v7.1.0

A logger that does nothing on a log message.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

    -

    Returns this

diff --git a/7.x/docs/classes/VoidLoggerFactory.html b/7.x/docs/classes/VoidLoggerFactory.html deleted file mode 100644 index f3b1dc292..000000000 --- a/7.x/docs/classes/VoidLoggerFactory.html +++ /dev/null @@ -1,6 +0,0 @@ -VoidLoggerFactory | Community Solid Server - v7.1.0

A factory that always returns VoidLogger, which does nothing on log messages.

-

Implements

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/WacAllowHttpHandler.html b/7.x/docs/classes/WacAllowHttpHandler.html deleted file mode 100644 index 62389454a..000000000 --- a/7.x/docs/classes/WacAllowHttpHandler.html +++ /dev/null @@ -1,22 +0,0 @@ -WacAllowHttpHandler | Community Solid Server - v7.1.0

Adds all the available permissions to the response metadata, -which can be used to generate the correct WAC-Allow header.

-

This class does many things similar to the AuthorizingHttpHandler, -so in general it is a good idea to make sure all these classes cache their results.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/WacAllowMetadataWriter.html b/7.x/docs/classes/WacAllowMetadataWriter.html deleted file mode 100644 index abd44be37..000000000 --- a/7.x/docs/classes/WacAllowMetadataWriter.html +++ /dev/null @@ -1,22 +0,0 @@ -WacAllowMetadataWriter | Community Solid Server - v7.1.0

Add the necessary WAC-Allow header values. -Solid, §10.1: "Servers exposing client’s access privileges on a resource URL MUST advertise -by including the WAC-Allow HTTP header in the response of HTTP HEAD and GET requests." -https://solid.github.io/specification/protocol#web-access-control

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WaterfallHandler.html b/7.x/docs/classes/WaterfallHandler.html deleted file mode 100644 index 0b6391947..000000000 --- a/7.x/docs/classes/WaterfallHandler.html +++ /dev/null @@ -1,24 +0,0 @@ -WaterfallHandler | Community Solid Server - v7.1.0

Class WaterfallHandler<TIn, TOut>

A composite handler that tries multiple handlers one by one -until it finds a handler that supports the input. -The handlers will be checked in the order they appear in the input array, -allowing for more fine-grained handlers to check before catch-all handlers.

-

Type Parameters

  • TIn
  • TOut

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether any of the stored handlers can handle the given input.

    -

    Parameters

    • input: TIn

      The data that would need to be handled.

      -

    Returns Promise<void>

    A promise resolving if at least 1 handler supports to input, or rejecting if none do.

    -
  • Finds a handler that supports the given input and then lets it handle the given data.

    -

    Parameters

    • input: TIn

      The data that needs to be handled.

      -

    Returns Promise<TOut>

    A promise corresponding to the handle call of a handler that supports the input. -It rejects if no handlers support the given data.

    -
diff --git a/7.x/docs/classes/WebAclReader.html b/7.x/docs/classes/WebAclReader.html deleted file mode 100644 index 1920f42f7..000000000 --- a/7.x/docs/classes/WebAclReader.html +++ /dev/null @@ -1,21 +0,0 @@ -WebAclReader | Community Solid Server - v7.1.0

Finds the permissions of a resource as defined in the corresponding ACL resource. -Does not make any deductions such as checking parent containers for create permissions -or applying control permissions for ACL resources.

-

Specific access checks are done by the provided AccessChecker.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WebSocket2023Emitter.html b/7.x/docs/classes/WebSocket2023Emitter.html deleted file mode 100644 index 361a89552..000000000 --- a/7.x/docs/classes/WebSocket2023Emitter.html +++ /dev/null @@ -1,22 +0,0 @@ -WebSocket2023Emitter | Community Solid Server - v7.1.0

Emits notifications on WebSocketChannel2023 subscription. -Uses the WebSockets found in the provided map. -The key should be the identifier of the matching channel.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WebSocket2023Handler.html b/7.x/docs/classes/WebSocket2023Handler.html deleted file mode 100644 index 4682e4983..000000000 --- a/7.x/docs/classes/WebSocket2023Handler.html +++ /dev/null @@ -1,19 +0,0 @@ -WebSocket2023Handler | Community Solid Server - v7.1.0

Class WebSocket2023HandlerAbstract

A handler that is called when a valid WebSocketChannel2023 connection has been made.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WebSocket2023Listener.html b/7.x/docs/classes/WebSocket2023Listener.html deleted file mode 100644 index c110e4629..000000000 --- a/7.x/docs/classes/WebSocket2023Listener.html +++ /dev/null @@ -1,21 +0,0 @@ -WebSocket2023Listener | Community Solid Server - v7.1.0

Listens for WebSocket connections and verifies whether they are valid WebSocketChannel2023 connections, -in which case its WebSocket2023Handler will be alerted.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WebSocket2023Storer.html b/7.x/docs/classes/WebSocket2023Storer.html deleted file mode 100644 index 16f86503f..000000000 --- a/7.x/docs/classes/WebSocket2023Storer.html +++ /dev/null @@ -1,25 +0,0 @@ -WebSocket2023Storer | Community Solid Server - v7.1.0

Keeps track of the WebSockets that were opened for a WebSocketChannel2023 channel. -The WebSockets are stored in the map using the identifier of the matching channel.

-

cleanupTimer defines in minutes how often the stored WebSockets are closed -if their corresponding channel has expired. -Defaults to 60 minutes. -Open WebSockets will not receive notifications if their channel expired.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WebSocketAdvertiser.html b/7.x/docs/classes/WebSocketAdvertiser.html deleted file mode 100644 index aa6471a41..000000000 --- a/7.x/docs/classes/WebSocketAdvertiser.html +++ /dev/null @@ -1,19 +0,0 @@ -WebSocketAdvertiser | Community Solid Server - v7.1.0

Handler that advertises a WebSocket through the Updates-Via header.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WebSocketChannel2023Type.html b/7.x/docs/classes/WebSocketChannel2023Type.html deleted file mode 100644 index 4294c2e56..000000000 --- a/7.x/docs/classes/WebSocketChannel2023Type.html +++ /dev/null @@ -1,46 +0,0 @@ -WebSocketChannel2023Type | Community Solid Server - v7.1.0

The notification channel type WebSocketChannel2023 as described in -https://solid.github.io/notifications/websocket-channel-2023

-

Requires read permissions on a resource to be able to receive notifications.

-

Hierarchy (view full)

Constructors

Properties

features: NamedNode<string>[]
logger: Logger = ...
path: string
shacl: unknown
shaclQuads?: Store<Quad, Quad, Quad, Quad>
type: NamedNode<string>

Methods

  • Returns an N3.js Store containing quads corresponding to the stored SHACL representation. -Caches this result so the conversion from JSON-LD to quads only has to happen once.

    -

    Returns Promise<Store<Quad, Quad, Quad, Quad>>

  • Validates whether the given data conforms to the stored SHACL shape. -Will throw an UnprocessableEntityHttpError if validation fails. -Along with the SHACL check, this also makes sure there is only one matching entry in the dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      The data to validate.

      -

    Returns Promise<Term>

    The focus node that corresponds to the subject of the found notification channel description.

    -
diff --git a/7.x/docs/classes/WebSocketHandler.html b/7.x/docs/classes/WebSocketHandler.html deleted file mode 100644 index e8143cc80..000000000 --- a/7.x/docs/classes/WebSocketHandler.html +++ /dev/null @@ -1,19 +0,0 @@ -WebSocketHandler | Community Solid Server - v7.1.0

Class WebSocketHandlerAbstract

A handler to support requests trying to open a WebSocket connection.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WebSocketMap.html b/7.x/docs/classes/WebSocketMap.html deleted file mode 100644 index 0069a4ff6..000000000 --- a/7.x/docs/classes/WebSocketMap.html +++ /dev/null @@ -1,43 +0,0 @@ -WebSocketMap | Community Solid Server - v7.1.0

A SetMultiMap linking identifiers to a set of WebSockets. -An extension of WrappedSetMultiMap to make sure Components.js allows us to create this in the config, -as WrappedSetMultiMap has a constructor not supported.

-

Hierarchy (view full)

Implements

Constructors

  • Parameters

    • mapConstructor: (new () => Map<string, Set<WebSocket>>) = Map

      Will be used to instantiate the internal Map.

      -
        • new (): Map<string, Set<WebSocket>>
        • Returns Map<string, Set<WebSocket>>

    • Optionaliterable: Iterable<readonly [string, WebSocket | ReadonlySet<WebSocket>]>

      Entries to add to the map.

      -

    Returns WebSocketMap

Properties

[toStringTag]: "WrappedSetMultiMap" = 'WrappedSetMultiMap'

Accessors

Methods

  • Returns all values stored for the given key. -Returns undefined if there are no values for this key.

    -

    Parameters

    • key: string

    Returns undefined | ReadonlySet<WebSocket>

  • Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

    -

    Parameters

    • key: string
    • value: WebSocket | ReadonlySet<WebSocket>

    Returns this

diff --git a/7.x/docs/classes/WebSocketServerConfigurator.html b/7.x/docs/classes/WebSocketServerConfigurator.html deleted file mode 100644 index 2b074ec8c..000000000 --- a/7.x/docs/classes/WebSocketServerConfigurator.html +++ /dev/null @@ -1,20 +0,0 @@ -WebSocketServerConfigurator | Community Solid Server - v7.1.0

Class WebSocketServerConfigurator

ServerConfigurator that adds WebSocket functionality to an existing Server.

-

Listens for WebSocket requests and sends them to its handler.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: Server<typeof IncomingMessage, typeof ServerResponse>

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WebhookChannel2023Type.html b/7.x/docs/classes/WebhookChannel2023Type.html deleted file mode 100644 index eeaab9afd..000000000 --- a/7.x/docs/classes/WebhookChannel2023Type.html +++ /dev/null @@ -1,51 +0,0 @@ -WebhookChannel2023Type | Community Solid Server - v7.1.0

The notification channel type WebhookChannel2023 as described in -https://solid.github.io/notifications/webhook-channel-2023

-

Requires read permissions on a resource to be able to receive notifications.

-

Also handles the state feature if present.

-

Hierarchy (view full)

Constructors

Properties

features: NamedNode<string>[]
logger: Logger = ...
path: string
shacl: unknown
shaclQuads?: Store<Quad, Quad, Quad, Quad>
type: NamedNode<string>

Methods

  • Returns an N3.js Store containing quads corresponding to the stored SHACL representation. -Caches this result so the conversion from JSON-LD to quads only has to happen once.

    -

    Returns Promise<Store<Quad, Quad, Quad, Quad>>

  • Validates whether the given data conforms to the stored SHACL shape. -Will throw an UnprocessableEntityHttpError if validation fails. -Along with the SHACL check, this also makes sure there is only one matching entry in the dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      The data to validate.

      -

    Returns Promise<Term>

    The focus node that corresponds to the subject of the found notification channel description.

    -
diff --git a/7.x/docs/classes/WebhookEmitter.html b/7.x/docs/classes/WebhookEmitter.html deleted file mode 100644 index 45d74de6d..000000000 --- a/7.x/docs/classes/WebhookEmitter.html +++ /dev/null @@ -1,25 +0,0 @@ -WebhookEmitter | Community Solid Server - v7.1.0

Emits a notification representation using the WebhookChannel2023 specification.

-

At the time of writing it is not specified how exactly a notification sender should make its requests verifiable, -so for now we use a token similar to those from Solid-OIDC, signed by the server itself.

-

Generates a DPoP token and proof, and adds those to the HTTP request that is sent to the target.

-

The expiration input parameter is how long the generated token should be valid in minutes. -Default is 20.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WebhookWebId.html b/7.x/docs/classes/WebhookWebId.html deleted file mode 100644 index 3cae99bb8..000000000 --- a/7.x/docs/classes/WebhookWebId.html +++ /dev/null @@ -1,21 +0,0 @@ -WebhookWebId | Community Solid Server - v7.1.0

Generates a fixed WebID that we use to identify the server for notifications sent using a WebhookChannel2023. -This is used in tandem with the tokens generated by the WebhookEmitter. -This is a minimal WebID with only the solid:oidcIssuer triple.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

diff --git a/7.x/docs/classes/WinstonLogger.html b/7.x/docs/classes/WinstonLogger.html deleted file mode 100644 index 0414ddc21..000000000 --- a/7.x/docs/classes/WinstonLogger.html +++ /dev/null @@ -1,27 +0,0 @@ -WinstonLogger | Community Solid Server - v7.1.0

A WinstonLogger implements the Logger interface using a given winston logger.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

    -

    Parameters

    • level:
          | "error"
          | "warn"
          | "info"
          | "verbose"
          | "debug"
          | "silly"

      The level to log at.

      -
    • message: string

      The message to log.

      -
    • Optionalmeta: unknown

      Optional metadata to include in the log message.

      -

    Returns this

diff --git a/7.x/docs/classes/WinstonLoggerFactory.html b/7.x/docs/classes/WinstonLoggerFactory.html deleted file mode 100644 index b90859680..000000000 --- a/7.x/docs/classes/WinstonLoggerFactory.html +++ /dev/null @@ -1,9 +0,0 @@ -WinstonLoggerFactory | Community Solid Server - v7.1.0

Uses the winston library to create loggers for the given logging level. -By default, it will print to the console with colorized logging levels.

-

This creates instances of WinstonLogger.

-

Implements

Constructors

Methods

diff --git a/7.x/docs/classes/WorkerManager.html b/7.x/docs/classes/WorkerManager.html deleted file mode 100644 index 16cbaae10..000000000 --- a/7.x/docs/classes/WorkerManager.html +++ /dev/null @@ -1,18 +0,0 @@ -WorkerManager | Community Solid Server - v7.1.0

Spawns the necessary workers when starting in multithreaded mode.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: void

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: void

      Input data that will be handled if it can be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/WrappedExpiringReadWriteLocker.html b/7.x/docs/classes/WrappedExpiringReadWriteLocker.html deleted file mode 100644 index 70f3d1d70..000000000 --- a/7.x/docs/classes/WrappedExpiringReadWriteLocker.html +++ /dev/null @@ -1,22 +0,0 @@ -WrappedExpiringReadWriteLocker | Community Solid Server - v7.1.0

Class WrappedExpiringReadWriteLocker

Wraps around an existing ReadWriteLocker and adds expiration logic to prevent locks from getting stuck.

-

Implements

Constructors

Properties

Methods

Constructors

Properties

expiration: number
logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WrappedExpiringStorage.html b/7.x/docs/classes/WrappedExpiringStorage.html deleted file mode 100644 index 1db45abff..000000000 --- a/7.x/docs/classes/WrappedExpiringStorage.html +++ /dev/null @@ -1,31 +0,0 @@ -WrappedExpiringStorage | Community Solid Server - v7.1.0

Class WrappedExpiringStorage<TKey, TValue>

A storage that wraps around another storage and expires resources based on the given (optional) expiry date. -Will delete expired entries when trying to get their value. -Has a timer that will delete all expired data every hour (default value).

-

Type Parameters

  • TKey
  • TValue

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

diff --git a/7.x/docs/classes/WrappedIndexedStorage.html b/7.x/docs/classes/WrappedIndexedStorage.html deleted file mode 100644 index 38e221f5c..000000000 --- a/7.x/docs/classes/WrappedIndexedStorage.html +++ /dev/null @@ -1,127 +0,0 @@ -WrappedIndexedStorage | Community Solid Server - v7.1.0

Class WrappedIndexedStorage<T>

An IndexedStorage that makes use of 2 KeyValueStorages to implement the interface. -Due to being limited by key/value storages, there are some restrictions on the allowed type definitions:

-
    -
  • There needs to be exactly 1 type with no references to other types.
  • -
  • All other types need to have exactly 1 reference to another type.
  • -
  • Types can't reference each other to create a cycle of references.
  • -
-

All of the above to create a tree-like structure of references. -Such a tree is then stored in one of the storages. -The other storage is used to store all indexes that are used to find the correct tree object when solving queries.

-

Type Parameters

Implements

Constructors

Properties

logger: Logger = ...

Accessors

  • get rootType(): string
  • The root type for this storage. -Use this instead of rootTypeVar to prevent having to check for undefined. -This value will always be defined if the type definitions have been validated.

    -

    Returns string

Methods

  • Informs the storage of the definition of a specific type. -A definition is a key/value object with the values being a valid ValueTypeDescription. -Generally, this call needs to happen for every type of this storage, -and before any calls are made to interact with the data.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type to define.

      -
    • description: T[TType]

      A description of the values stored in objects of that type.

      -

    Returns Promise<void>

  • Deletes the given object. -This will also delete all objects that reference that object if the corresponding key is not optional.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of the object to delete.

      -
    • id: string

      The identifier of the object.

      -

    Returns Promise<void>

  • Finds all objects matching a specific IndexedQuery.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of objects to find.

      -
    • query: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }

      The query to execute.

      -

    Returns Promise<TypeObject<T[TType]>[]>

    A list of objects matching the query.

    -
  • Similar to IndexedStorage.find, but only returns the identifiers of the found objects.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of objects to find.

      -
    • query: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }

      The query to execute.

      -

    Returns Promise<string[]>

    A list of identifiers of the matching objects.

    -
  • Finds the IDs of all root objects that contain objects of the given type matching the given query -by making use of the indexes applicable to the keys in the query. -This function only looks at the keys in the query with primitive values, -object values in the query referencing parent objects are not considered. -Similarly, only indexes are used, keys without index are also ignored.

    -

    If an array of root IDs is provided as input, -the result will be an intersection of this array and the found identifiers.

    -

    If the result is an empty array, it means that there is no valid identifier matching the query, -while an undefined result means there is no index matching any of the query keys, -so a result can't be determined.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType
    • match: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }
    • OptionalrootIds: string[]

    Returns Promise<undefined | string[]>

  • Returns the sequence of virtual keys that need to be accessed to reach the given type, starting from the root.

    -

    Parameters

    • type: string

    Returns `**${string}**`[]

  • Returns true if the object of the given type with the given identifier exists.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType

      The type of object to get.

      -
    • id: string

      The identifier of that object.

      -

    Returns Promise<boolean>

    Whether this object exists.

    -
  • Finds all objects of the given type matching the query. -The rootIds array can be used to restrict the IDs of root objects to look at, -which is relevant for the recursive calls the function does.

    -

    Will throw an error if there is no index that can be used to solve the query.

    -

    Type Parameters

    • TType extends string

    Parameters

    • type: TType
    • query: {
          [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
              ? {
                  [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
              }
              : never)
      }
    • OptionalrootIds: string[]

    Returns Promise<VirtualObject[]>

  • Updates the index for a specific key of an object of the given type.

    -

    Parameters

    • type: string
    • key: string
    • value: string
    • rootId: string
    • add: boolean

    Returns Promise<void>

  • Makes sure the defined types fulfill all the requirements necessary for types on this storage. -Will throw an error if this is not the case. -This should be called before doing any data interactions. -Stores success in a variable so future calls are instantaneous.

    -

    Parameters

    • type: string

    Returns void

diff --git a/7.x/docs/classes/WrappedSetMultiMap.html b/7.x/docs/classes/WrappedSetMultiMap.html deleted file mode 100644 index 4db9fcb81..000000000 --- a/7.x/docs/classes/WrappedSetMultiMap.html +++ /dev/null @@ -1,44 +0,0 @@ -WrappedSetMultiMap | Community Solid Server - v7.1.0

Class WrappedSetMultiMap<TKey, TVal>

A SetMultiMap that uses an internal Map based on the provided constructor.

-

In case no input constructor is provided, the default Map implementation will be used.

-

It is required that the value type of this map is not Set or any extension of Set, -otherwise the set and add functions wil break.

-

Type Parameters

  • TKey
  • TVal

Hierarchy (view full)

Implements

Constructors

Properties

[toStringTag]: "WrappedSetMultiMap" = 'WrappedSetMultiMap'

Accessors

Methods

diff --git a/7.x/docs/classes/WrappingLogger.html b/7.x/docs/classes/WrappingLogger.html deleted file mode 100644 index 194644f70..000000000 --- a/7.x/docs/classes/WrappingLogger.html +++ /dev/null @@ -1,29 +0,0 @@ -WrappingLogger | Community Solid Server - v7.1.0

Implements BaseLogger around a SimpleLogger, -which can be swapped out a runtime.

-

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

logger: SimpleLogger

Methods

  • Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

    -

    Parameters

    • level:
          | "error"
          | "warn"
          | "info"
          | "verbose"
          | "debug"
          | "silly"

      The level to log at.

      -
    • message: string

      The message to log.

      -
    • Optionalmeta: LogMetadata

      Optional metadata to include in the log message.

      -

    Returns this

diff --git a/7.x/docs/classes/WwwAuthMetadataWriter.html b/7.x/docs/classes/WwwAuthMetadataWriter.html deleted file mode 100644 index bd6525c0c..000000000 --- a/7.x/docs/classes/WwwAuthMetadataWriter.html +++ /dev/null @@ -1,19 +0,0 @@ -WwwAuthMetadataWriter | Community Solid Server - v7.1.0

Adds the WWW-Authenticate header with the injected value in case the response status code is 401.

-

Hierarchy (view full)

Constructors

Methods

Constructors

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/YargsCliExtractor.html b/7.x/docs/classes/YargsCliExtractor.html deleted file mode 100644 index e86a6b4f0..000000000 --- a/7.x/docs/classes/YargsCliExtractor.html +++ /dev/null @@ -1,24 +0,0 @@ -YargsCliExtractor | Community Solid Server - v7.1.0

Parses CLI args using the yargs library. -Specific settings can be enabled through the provided options.

-

Hierarchy (view full)

Constructors

Properties

yargsArgOptions: Record<string, Options>
yargvOptions: CliOptions

Methods

  • Checks whether the input can be handled by this class. -If it cannot handle the input, rejects with an error explaining why.

    -

    Parameters

    • input: CliArgv

      Input that could potentially be handled.

      -

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
  • Handles the given input. This may only be called if canHandle did not reject. -When unconditionally calling both in sequence, consider handleSafe instead.

    -

    Parameters

    • argv: readonly string[]

    Returns Promise<{
        $0: string;
        _: (string | number)[];
        [argName: string]: unknown;
    }>

    A promise resolving when handling is finished.

    -
  • Helper function that first runs canHandle followed by handle. -Throws the error of canHandle if the data cannot be handled, -or returns the result of handle otherwise.

    -

    Parameters

    • input: CliArgv

      Input data that will be handled if it can be handled.

      -

    Returns Promise<Shorthand>

    A promise resolving if the input can be handled, rejecting with an Error if not.

    -
diff --git a/7.x/docs/classes/YargsParameter.html b/7.x/docs/classes/YargsParameter.html deleted file mode 100644 index a39a49325..000000000 --- a/7.x/docs/classes/YargsParameter.html +++ /dev/null @@ -1,9 +0,0 @@ -YargsParameter | Community Solid Server - v7.1.0

This class exists as wrapper around a yargs Options object, -thereby allowing us to create these in a Components.js configuration.

-

Format details can be found at https://yargs.js.org/docs/#api-reference-optionskey-opt

-

Constructors

Properties

Constructors

  • Parameters

    • name: string

      Name of the parameter. Corresponds to the first parameter passed to the yargs.options function.

      -
    • options: Record<string, unknown>

      Options for a single parameter that should be parsed.

      -

    Returns YargsParameter

Properties

name: string
options: Options
diff --git a/7.x/docs/enums/AccessMode.html b/7.x/docs/enums/AccessMode.html deleted file mode 100644 index 3aa83ed43..000000000 --- a/7.x/docs/enums/AccessMode.html +++ /dev/null @@ -1,7 +0,0 @@ -AccessMode | Community Solid Server - v7.1.0

Enumeration AccessMode

Different modes that require permission.

-

Enumeration Members

Enumeration Members

append: "append"
create: "create"
delete: "delete"
read: "read"
write: "write"
diff --git a/7.x/docs/enums/AclMode.html b/7.x/docs/enums/AclMode.html deleted file mode 100644 index 3ebbf8175..000000000 --- a/7.x/docs/enums/AclMode.html +++ /dev/null @@ -1,2 +0,0 @@ -AclMode | Community Solid Server - v7.1.0

Enumeration Members

Enumeration Members

control: "control"
diff --git a/7.x/docs/functions/absoluteFilePath.html b/7.x/docs/functions/absoluteFilePath.html deleted file mode 100644 index 29d92d2e1..000000000 --- a/7.x/docs/functions/absoluteFilePath.html +++ /dev/null @@ -1,6 +0,0 @@ -absoluteFilePath | Community Solid Server - v7.1.0
  • Resolves a path to its absolute form. -Absolute inputs will not be changed (except changing Windows to POSIX). -Relative inputs will be interpreted relative to process.cwd().

    -

    Parameters

    • path: string

      Path to check (POSIX or Windows).

      -

    Returns string

    The potentially changed path (POSIX).

    -
diff --git a/7.x/docs/functions/addGeneratedResources.html b/7.x/docs/functions/addGeneratedResources.html deleted file mode 100644 index b0fdf2a65..000000000 --- a/7.x/docs/functions/addGeneratedResources.html +++ /dev/null @@ -1,6 +0,0 @@ -addGeneratedResources | Community Solid Server - v7.1.0

Function addGeneratedResources

  • Generates resources with the given generator and adds them to the given store.

    -

    Parameters

    Returns Promise<number>

    The amount of resources that were added.

    -
diff --git a/7.x/docs/functions/addHeader.html b/7.x/docs/functions/addHeader.html deleted file mode 100644 index 5cca73417..000000000 --- a/7.x/docs/functions/addHeader.html +++ /dev/null @@ -1,2 +0,0 @@ -addHeader | Community Solid Server - v7.1.0
  • Adds a header value without overriding previous values.

    -

    Parameters

    Returns void

diff --git a/7.x/docs/functions/addResourceMetadata.html b/7.x/docs/functions/addResourceMetadata.html deleted file mode 100644 index ea854fe5a..000000000 --- a/7.x/docs/functions/addResourceMetadata.html +++ /dev/null @@ -1,4 +0,0 @@ -addResourceMetadata | Community Solid Server - v7.1.0

Function addResourceMetadata

  • Helper function to generate type quads for a Container or Resource.

    -

    Parameters

    • metadata: RepresentationMetadata

      Metadata to add to.

      -
    • isContainer: boolean

      If the identifier corresponds to a container.

      -

    Returns void

diff --git a/7.x/docs/functions/addTemplateMetadata.html b/7.x/docs/functions/addTemplateMetadata.html deleted file mode 100644 index c06a357b2..000000000 --- a/7.x/docs/functions/addTemplateMetadata.html +++ /dev/null @@ -1,5 +0,0 @@ -addTemplateMetadata | Community Solid Server - v7.1.0

Function addTemplateMetadata

  • Links a template file with a given content-type to the metadata using the SOLID_META.template predicate.

    -

    Parameters

    • metadata: RepresentationMetadata

      Metadata to update.

      -
    • templateFile: string

      Path to the template.

      -
    • contentType: string

      Content-type of the template after it is rendered.

      -

    Returns void

diff --git a/7.x/docs/functions/allFulfilled.html b/7.x/docs/functions/allFulfilled.html deleted file mode 100644 index 08e980569..000000000 --- a/7.x/docs/functions/allFulfilled.html +++ /dev/null @@ -1,3 +0,0 @@ -allFulfilled | Community Solid Server - v7.1.0
  • Obtains the values of all fulfilled promises. -If there are rejections (and ignoreErrors is false), throws a combined error of all rejected promises.

    -

    Type Parameters

    • T

    Parameters

    • promises: Promise<T>[]
    • ignoreErrors: boolean = false

    Returns Promise<T[]>

diff --git a/7.x/docs/functions/assertAccountId.html b/7.x/docs/functions/assertAccountId.html deleted file mode 100644 index 32ef9eddd..000000000 --- a/7.x/docs/functions/assertAccountId.html +++ /dev/null @@ -1,2 +0,0 @@ -assertAccountId | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/assertOidcInteraction.html b/7.x/docs/functions/assertOidcInteraction.html deleted file mode 100644 index b9fda1a77..000000000 --- a/7.x/docs/functions/assertOidcInteraction.html +++ /dev/null @@ -1,5 +0,0 @@ -assertOidcInteraction | Community Solid Server - v7.1.0

Function assertOidcInteraction

  • Asserts oidcInteraction is defined, throws the correct error in case this is not the case. -The error contains the relevant error code that can be used to explain more extensively what the issue is -and why an OIDC interaction is needed.

    -

    Parameters

    • OptionaloidcInteraction: Interaction

      Interaction object to check.

      -

    Returns asserts oidcInteraction is Interaction

diff --git a/7.x/docs/functions/assertReadConditions.html b/7.x/docs/functions/assertReadConditions.html deleted file mode 100644 index 842a868f1..000000000 --- a/7.x/docs/functions/assertReadConditions.html +++ /dev/null @@ -1,13 +0,0 @@ -assertReadConditions | Community Solid Server - v7.1.0

Function assertReadConditions

  • Verify whether the given Representation matches the given conditions. -If true, add the corresponding ETag to the body metadata. -If not, destroy the data stream and throw a NotModifiedHttpError with the same ETag. -If conditions is not defined, nothing will happen.

    -

    This uses the strict conditions check which takes the content type into account; -therefore, this should only be called after content negotiation, when it is certain what the output will be.

    -

    Note that browsers only keep track of one ETag, and the Vary header has no impact on this, -meaning the browser could send us the ETag for a Turtle resource even though it is requesting JSON-LD; -this is why we have to check ETags after content negotiation.

    -

    Parameters

    • body: Representation

      The representation to compare the conditions against.

      -
    • eTagHandler: ETagHandler

      Used to generate the ETag to return with the 304 response.

      -
    • Optionalconditions: Conditions

      The conditions to assert.

      -

    Returns void

diff --git a/7.x/docs/functions/asyncToArray.html b/7.x/docs/functions/asyncToArray.html deleted file mode 100644 index 2ae0508e6..000000000 --- a/7.x/docs/functions/asyncToArray.html +++ /dev/null @@ -1,2 +0,0 @@ -asyncToArray | Community Solid Server - v7.1.0
  • Converts an AsyncIterator to an array.

    -

    Type Parameters

    • T

    Parameters

    • iterable: AsyncIterable<T>

    Returns Promise<T[]>

diff --git a/7.x/docs/functions/cleanPreferences.html b/7.x/docs/functions/cleanPreferences.html deleted file mode 100644 index de6b2302e..000000000 --- a/7.x/docs/functions/cleanPreferences.html +++ /dev/null @@ -1,6 +0,0 @@ -cleanPreferences | Community Solid Server - v7.1.0
  • Cleans incoming preferences to prevent unwanted behaviour. -Makes sure internal types have weight 0, unless specifically requested in the preferences, -and interprets empty preferences as accepting everything.

    -

    Parameters

    Returns ValuePreferences

    A copy of the the preferences with the necessary updates.

    -
diff --git a/7.x/docs/functions/cloneRepresentation.html b/7.x/docs/functions/cloneRepresentation.html deleted file mode 100644 index d349d1b07..000000000 --- a/7.x/docs/functions/cloneRepresentation.html +++ /dev/null @@ -1,5 +0,0 @@ -cloneRepresentation | Community Solid Server - v7.1.0

Function cloneRepresentation

diff --git a/7.x/docs/functions/concat.html b/7.x/docs/functions/concat.html deleted file mode 100644 index f092529d2..000000000 --- a/7.x/docs/functions/concat.html +++ /dev/null @@ -1,3 +0,0 @@ -concat | Community Solid Server - v7.1.0
  • Creates a new iterable that is a concatenation of all the iterables in the input.

    -

    Type Parameters

    • T

    Parameters

    • iterables: Iterable<Iterable<T>>

      An iterable of which the contents will be concatenated into a new iterable.

      -

    Returns Iterable<T>

diff --git a/7.x/docs/functions/createAggregateError.html b/7.x/docs/functions/createAggregateError.html deleted file mode 100644 index 5974cc8ee..000000000 --- a/7.x/docs/functions/createAggregateError.html +++ /dev/null @@ -1,5 +0,0 @@ -createAggregateError | Community Solid Server - v7.1.0

Function createAggregateError

  • Combines a list of errors into a single HttpError. -Status code depends on the input errors. If they all share the same status code that code will be re-used. -If they are all within the 4xx range, 400 will be used, otherwise 500.

    -

    Parameters

    • errors: Error[]

      Errors to combine.

      -

    Returns HttpError

diff --git a/7.x/docs/functions/createErrorMessage.html b/7.x/docs/functions/createErrorMessage.html deleted file mode 100644 index b3089425a..000000000 --- a/7.x/docs/functions/createErrorMessage.html +++ /dev/null @@ -1,2 +0,0 @@ -createErrorMessage | Community Solid Server - v7.1.0

Function createErrorMessage

  • Creates a string representing the error message of this object.

    -

    Parameters

    • error: unknown

    Returns string

diff --git a/7.x/docs/functions/createGenericEventEmitterClass.html b/7.x/docs/functions/createGenericEventEmitterClass.html deleted file mode 100644 index 3b5fa10d5..000000000 --- a/7.x/docs/functions/createGenericEventEmitterClass.html +++ /dev/null @@ -1,4 +0,0 @@ -createGenericEventEmitterClass | Community Solid Server - v7.1.0

Function createGenericEventEmitterClass

  • Creates a class that is an implementation of EventEmitter -but with specific typings based on GenericEventEmitter. -Useful in case a class needs to extend EventEmitter and wants specific internal typings.

    -

    Type Parameters

    • T extends EventEmitter

    Returns (new () => T)

      • new (): T
      • Returns T

diff --git a/7.x/docs/functions/createSubdomainRegexp.html b/7.x/docs/functions/createSubdomainRegexp.html deleted file mode 100644 index a630db052..000000000 --- a/7.x/docs/functions/createSubdomainRegexp.html +++ /dev/null @@ -1,12 +0,0 @@ -createSubdomainRegexp | Community Solid Server - v7.1.0

Function createSubdomainRegexp

  • Creates a regular expression that matches URLs containing the given baseUrl, or a subdomain of the given baseUrl. -In case there is a subdomain, the first match of the regular expression will be that subdomain.

    -

    Examples with baseUrl http://test.com/foo/:

    -
      -
    • Will match http://test.com/foo/
    • -
    • Will match http://test.com/foo/bar/baz
    • -
    • Will match http://alice.bob.test.com/foo/bar/baz, first match result will be alice.bob
    • -
    • Will not match http://test.com/
    • -
    • Will not match http://alicetest.com/foo/
    • -
    -

    Parameters

    • baseUrl: string

      Base URL for the regular expression.

      -

    Returns RegExp

diff --git a/7.x/docs/functions/createVocabulary.html b/7.x/docs/functions/createVocabulary.html deleted file mode 100644 index 41650fef9..000000000 --- a/7.x/docs/functions/createVocabulary.html +++ /dev/null @@ -1,4 +0,0 @@ -createVocabulary | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/decodeUriPathComponents.html b/7.x/docs/functions/decodeUriPathComponents.html deleted file mode 100644 index 64cfa5e58..000000000 --- a/7.x/docs/functions/decodeUriPathComponents.html +++ /dev/null @@ -1,7 +0,0 @@ -decodeUriPathComponents | Community Solid Server - v7.1.0

Function decodeUriPathComponents

  • This function is used when converting a URI to a file path. Decodes all components of a URI path, -with the exception of encoded slash characters, as this would lead to unexpected file locations -being targeted (resulting in erroneous behaviour of the file based backend). -Characters that would result in an illegal file path remain percent encoded.

    -

    Parameters

    • path: string

      The path to decode the URI path components of.

      -

    Returns string

    A decoded copy of the provided URI path (ignoring encoded slash characters).

    -
diff --git a/7.x/docs/functions/encodeUriPathComponents.html b/7.x/docs/functions/encodeUriPathComponents.html deleted file mode 100644 index d717ba94a..000000000 --- a/7.x/docs/functions/encodeUriPathComponents.html +++ /dev/null @@ -1,6 +0,0 @@ -encodeUriPathComponents | Community Solid Server - v7.1.0

Function encodeUriPathComponents

  • This function is used in the process of converting a file path to a URI. Encodes all (non-slash) -special characters in a URI path, with the exception of encoded slash characters, as this would -lead to unnecessary double encoding, resulting in a URI that differs from the expected result.

    -

    Parameters

    • path: string

      The path to encode the URI path components of.

      -

    Returns string

    An encoded copy of the provided URI path (ignoring encoded slash characters).

    -
diff --git a/7.x/docs/functions/endOfStream.html b/7.x/docs/functions/endOfStream.html deleted file mode 100644 index cee885e53..000000000 --- a/7.x/docs/functions/endOfStream.html +++ /dev/null @@ -1 +0,0 @@ -endOfStream | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/ensureLeadingSlash.html b/7.x/docs/functions/ensureLeadingSlash.html deleted file mode 100644 index 0a17bfc81..000000000 --- a/7.x/docs/functions/ensureLeadingSlash.html +++ /dev/null @@ -1,6 +0,0 @@ -ensureLeadingSlash | Community Solid Server - v7.1.0

Function ensureLeadingSlash

  • Makes sure the input path has exactly 1 slash at the beginning. -Multiple slashes will get merged into one. -If there is no slash it will be added.

    -

    Parameters

    • path: string

      Path to check.

      -

    Returns string

    The potentially changed path.

    -
diff --git a/7.x/docs/functions/ensureTrailingSlash.html b/7.x/docs/functions/ensureTrailingSlash.html deleted file mode 100644 index 44fe560ad..000000000 --- a/7.x/docs/functions/ensureTrailingSlash.html +++ /dev/null @@ -1,6 +0,0 @@ -ensureTrailingSlash | Community Solid Server - v7.1.0

Function ensureTrailingSlash

  • Makes sure the input path has exactly 1 slash at the end. -Multiple slashes will get merged into one. -If there is no slash it will be added.

    -

    Parameters

    • path: string

      Path to check.

      -

    Returns string

    The potentially changed path.

    -
diff --git a/7.x/docs/functions/errorTermsToMetadata.html b/7.x/docs/functions/errorTermsToMetadata.html deleted file mode 100644 index 0782a3522..000000000 --- a/7.x/docs/functions/errorTermsToMetadata.html +++ /dev/null @@ -1,6 +0,0 @@ -errorTermsToMetadata | Community Solid Server - v7.1.0

Function errorTermsToMetadata

diff --git a/7.x/docs/functions/extendVocabulary.html b/7.x/docs/functions/extendVocabulary.html deleted file mode 100644 index 11df00ce2..000000000 --- a/7.x/docs/functions/extendVocabulary.html +++ /dev/null @@ -1,4 +0,0 @@ -extendVocabulary | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/extractErrorTerms.html b/7.x/docs/functions/extractErrorTerms.html deleted file mode 100644 index 1c7d35f9e..000000000 --- a/7.x/docs/functions/extractErrorTerms.html +++ /dev/null @@ -1,6 +0,0 @@ -extractErrorTerms | Community Solid Server - v7.1.0

Function extractErrorTerms

  • Extracts all the error metadata terms and converts them to a simple object. -All predicates in the SOLID_ERROR_TERM namespace will be found. -The namespace will be removed from the predicate and the remainder will be used as a key. -The object literal values will be used as values in the resulting object.

    -

    Parameters

    Returns Dict<string>

diff --git a/7.x/docs/functions/extractScheme.html b/7.x/docs/functions/extractScheme.html deleted file mode 100644 index 247640639..000000000 --- a/7.x/docs/functions/extractScheme.html +++ /dev/null @@ -1,4 +0,0 @@ -extractScheme | Community Solid Server - v7.1.0
  • Splits a URL (or similar) string into a part containing its scheme and one containing the rest. -E.g., http://test.com/ results in { scheme: 'http://', rest: 'test.com/' }.

    -

    Parameters

    • url: string

      String to parse.

      -

    Returns {
        rest: string;
        scheme: string;
    }

    • rest: string
    • scheme: string
diff --git a/7.x/docs/functions/fetchDataset.html b/7.x/docs/functions/fetchDataset.html deleted file mode 100644 index 6de1b1518..000000000 --- a/7.x/docs/functions/fetchDataset.html +++ /dev/null @@ -1,3 +0,0 @@ -fetchDataset | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/filter.html b/7.x/docs/functions/filter.html deleted file mode 100644 index 02ad2d4ab..000000000 --- a/7.x/docs/functions/filter.html +++ /dev/null @@ -1,7 +0,0 @@ -filter | Community Solid Server - v7.1.0
  • Creates a new iterable with all elements that pass the test implemented by the provided function. -Similar to the Array.prototype.filter function. -See the documentation of the above function for more details.

    -

    Type Parameters

    • T

    Parameters

    • iterable: Iterable<T>

      Iterable on which to call the map function.

      -
    • callbackFn: ((element: T, index: number) => boolean)

      Function that is called to test every element.

      -
        • (element, index): boolean
        • Parameters

          • element: T
          • index: number

          Returns boolean

    • OptionalthisArg: unknown

      Value to use as this when executing callbackFn.

      -

    Returns Iterable<T>

diff --git a/7.x/docs/functions/filterHandlers.html b/7.x/docs/functions/filterHandlers.html deleted file mode 100644 index 9feaf9689..000000000 --- a/7.x/docs/functions/filterHandlers.html +++ /dev/null @@ -1,5 +0,0 @@ -filterHandlers | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/find.html b/7.x/docs/functions/find.html deleted file mode 100644 index 6ba0eb849..000000000 --- a/7.x/docs/functions/find.html +++ /dev/null @@ -1,8 +0,0 @@ -find | Community Solid Server - v7.1.0
  • Returns the first element in the provided iterable that satisfies the provided testing function. -If no values satisfy the testing function, undefined is returned. -Similar to the Array.prototype.find function. -See the documentation of the above function for more details.

    -

    Type Parameters

    • T

    Parameters

    • iterable: Iterable<T>

      Iterable on which to call the map function.

      -
    • callbackFn: ((element: T, index: number) => boolean)

      Function that is called to test every element.

      -
        • (element, index): boolean
        • Parameters

          • element: T
          • index: number

          Returns boolean

    • OptionalthisArg: unknown

      Value to use as this when executing callbackFn.

      -

    Returns T | undefined

diff --git a/7.x/docs/functions/findHandler.html b/7.x/docs/functions/findHandler.html deleted file mode 100644 index 3593184a1..000000000 --- a/7.x/docs/functions/findHandler.html +++ /dev/null @@ -1,6 +0,0 @@ -findHandler | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/finishInteraction.html b/7.x/docs/functions/finishInteraction.html deleted file mode 100644 index 0f2d9e1ec..000000000 --- a/7.x/docs/functions/finishInteraction.html +++ /dev/null @@ -1,5 +0,0 @@ -finishInteraction | Community Solid Server - v7.1.0

Function finishInteraction

  • Updates the oidcInteraction object with the necessary data in case a prompt gets updated.

    -

    Parameters

    • oidcInteraction: Interaction

      Interaction to update.

      -
    • result: AccountInteractionResults

      New data to add to the interaction.

      -
    • mergeWithLastSubmission: boolean

      If this new data needs to be merged with already existing data in the interaction.

      -

    Returns Promise<string>

diff --git a/7.x/docs/functions/forgetWebId.html b/7.x/docs/functions/forgetWebId.html deleted file mode 100644 index b05c5175b..000000000 --- a/7.x/docs/functions/forgetWebId.html +++ /dev/null @@ -1,6 +0,0 @@ -forgetWebId | Community Solid Server - v7.1.0
  • Removes the WebID, the accountId, from the OIDC session object, -allowing us to replace it with a new value. -If there is no session in the Interaction, nothing will happen.

    -

    Parameters

    • provider: Provider

      The OIDC provider.

      -
    • oidcInteraction: Interaction

      The current interaction.

      -

    Returns Promise<void>

diff --git a/7.x/docs/functions/generateChannel.html b/7.x/docs/functions/generateChannel.html deleted file mode 100644 index 882ac126a..000000000 --- a/7.x/docs/functions/generateChannel.html +++ /dev/null @@ -1,4 +0,0 @@ -generateChannel | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/generateHttpErrorClass.html b/7.x/docs/functions/generateHttpErrorClass.html deleted file mode 100644 index f5b27ae42..000000000 --- a/7.x/docs/functions/generateHttpErrorClass.html +++ /dev/null @@ -1,8 +0,0 @@ -generateHttpErrorClass | Community Solid Server - v7.1.0

Function generateHttpErrorClass

  • Generates a new HttpError class with the given status code and name. -In general, status codes are used to uniquely identify error types, -so there should be no 2 classes with the same value there.

    -

    To make sure Components.js can work with these newly generated classes, -the generated class should be called BaseHttpError as that name is an entry in .componentsignore. -The actual class should then extend BaseHttpError and have a correct constructor, -so the Components.js generator can generate the correct components JSON-LD file during build.

    -

    Type Parameters

    • TCode extends number

    Parameters

    • statusCode: TCode
    • name: string

    Returns HttpErrorClass<TCode>

diff --git a/7.x/docs/functions/generateHttpErrorUri.html b/7.x/docs/functions/generateHttpErrorUri.html deleted file mode 100644 index b57b649d1..000000000 --- a/7.x/docs/functions/generateHttpErrorUri.html +++ /dev/null @@ -1,2 +0,0 @@ -generateHttpErrorUri | Community Solid Server - v7.1.0

Function generateHttpErrorUri

  • Returns a URI that is unique for the given status code.

    -

    Parameters

    • statusCode: number

    Returns NamedNode

diff --git a/7.x/docs/functions/generateRedirectHttpErrorClass.html b/7.x/docs/functions/generateRedirectHttpErrorClass.html deleted file mode 100644 index ff348ba14..000000000 --- a/7.x/docs/functions/generateRedirectHttpErrorClass.html +++ /dev/null @@ -1,4 +0,0 @@ -generateRedirectHttpErrorClass | Community Solid Server - v7.1.0

Function generateRedirectHttpErrorClass

diff --git a/7.x/docs/functions/generateWebSocketUrl.html b/7.x/docs/functions/generateWebSocketUrl.html deleted file mode 100644 index 0c264dc62..000000000 --- a/7.x/docs/functions/generateWebSocketUrl.html +++ /dev/null @@ -1,3 +0,0 @@ -generateWebSocketUrl | Community Solid Server - v7.1.0

Function generateWebSocketUrl

diff --git a/7.x/docs/functions/getAccessControl.html b/7.x/docs/functions/getAccessControl.html deleted file mode 100644 index 9c83016f0..000000000 --- a/7.x/docs/functions/getAccessControl.html +++ /dev/null @@ -1,4 +0,0 @@ -getAccessControl | Community Solid Server - v7.1.0
  • Finds the IAccessControl with the given identifier in the given dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Dataset to look in.

      -
    • accessControl: Term

      Identifier of the access control.

      -

    Returns IAccessControl

diff --git a/7.x/docs/functions/getAccessControlResource.html b/7.x/docs/functions/getAccessControlResource.html deleted file mode 100644 index 528e8cadd..000000000 --- a/7.x/docs/functions/getAccessControlResource.html +++ /dev/null @@ -1,4 +0,0 @@ -getAccessControlResource | Community Solid Server - v7.1.0

Function getAccessControlResource

  • Finds the IAccessControlResource with the given identifier in the given dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Dataset to look in.

      -
    • acr: Term

      Identifier of the access control resource.

      -

    Returns IAccessControlResource

diff --git a/7.x/docs/functions/getAccessControlledResources.html b/7.x/docs/functions/getAccessControlledResources.html deleted file mode 100644 index 8acc09910..000000000 --- a/7.x/docs/functions/getAccessControlledResources.html +++ /dev/null @@ -1,3 +0,0 @@ -getAccessControlledResources | Community Solid Server - v7.1.0

Function getAccessControlledResources

  • Finds all IAccessControlledResource in the given dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Dataset to look in.

      -

    Returns Iterable<IAccessControlledResource>

diff --git a/7.x/docs/functions/getBestPreference.html b/7.x/docs/functions/getBestPreference.html deleted file mode 100644 index e9a570a46..000000000 --- a/7.x/docs/functions/getBestPreference.html +++ /dev/null @@ -1,7 +0,0 @@ -getBestPreference | Community Solid Server - v7.1.0

Function getBestPreference

diff --git a/7.x/docs/functions/getConversionTarget.html b/7.x/docs/functions/getConversionTarget.html deleted file mode 100644 index 630662d62..000000000 --- a/7.x/docs/functions/getConversionTarget.html +++ /dev/null @@ -1,11 +0,0 @@ -getConversionTarget | Community Solid Server - v7.1.0

Function getConversionTarget

  • For a media type converter that can generate the given types, -this function tries to find the type that best matches the given preferences.

    -

    This function combines several other conversion utility functions -to determine what output a converter should generate: -it cleans the preferences with cleanPreferences to support empty preferences -and to prevent the accidental generation of internal types, -after which the best match gets found based on the weights.

    -

    Parameters

    Returns string | undefined

    The best match. Undefined if there is no match.

    -
diff --git a/7.x/docs/functions/getDefault.html b/7.x/docs/functions/getDefault.html deleted file mode 100644 index c91a3ea4b..000000000 --- a/7.x/docs/functions/getDefault.html +++ /dev/null @@ -1,13 +0,0 @@ -getDefault | Community Solid Server - v7.1.0
  • Finds the result of calling map.get(key). -If there is no result, it instead returns the result of the default function. -The Map will also be updated to assign that default value to the given key.

    -

    Type Parameters

    • TKey
    • TValue

    Parameters

    • map: Map<TKey, TValue>

      Map to use.

      -
    • key: TKey

      Key to find the value for.

      -
    • defaultFn: (() => TValue)

      Function to generate default value to insert and return if no result was found.

      -

    Returns TValue

  • Finds the result of calling map.get(key). -If there is no result, it instead returns the result of the default function. -The Map will also be updated to assign the resolved default value to the given key.

    -

    Type Parameters

    • TKey
    • TValue

    Parameters

    • map: Map<TKey, TValue>

      Map to use.

      -
    • key: TKey

      Key to find the value for.

      -
    • defaultFn: (() => Promise<TValue>)

      Function to generate default value to insert and return if no result was found.

      -

    Returns Promise<TValue>

diff --git a/7.x/docs/functions/getExtension.html b/7.x/docs/functions/getExtension.html deleted file mode 100644 index 2ec813633..000000000 --- a/7.x/docs/functions/getExtension.html +++ /dev/null @@ -1,4 +0,0 @@ -getExtension | Community Solid Server - v7.1.0
  • Extracts the extension (without dot) from a path. -Custom function since path.extname does not work on all cases (e.g. ".acl")

    -

    Parameters

    • path: string

      Input path to parse.

      -

    Returns string

diff --git a/7.x/docs/functions/getLoggerFor.html b/7.x/docs/functions/getLoggerFor.html deleted file mode 100644 index 9167534e3..000000000 --- a/7.x/docs/functions/getLoggerFor.html +++ /dev/null @@ -1,11 +0,0 @@ -getLoggerFor | Community Solid Server - v7.1.0
  • Gets a logger instance for the given class instance.

    -

    The following shows a typical pattern on how to create loggers:

    -
    class MyClass {
    protected readonly logger = getLoggerFor(this);
    } -
    - -

    If no class is applicable, a logger can also be created as follows:

    -
    const logger = getLoggerFor('MyFunction');
    -
    - -

    Parameters

    • loggable: string | Instance

      A class instance or a class string name.

      -

    Returns Logger

diff --git a/7.x/docs/functions/getMatcher.html b/7.x/docs/functions/getMatcher.html deleted file mode 100644 index f4509b12d..000000000 --- a/7.x/docs/functions/getMatcher.html +++ /dev/null @@ -1,4 +0,0 @@ -getMatcher | Community Solid Server - v7.1.0
  • Finds the IMatcher with the given identifier in the given dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Dataset to look in.

      -
    • matcher: Term

      Identifier of the matcher.

      -

    Returns IMatcher

diff --git a/7.x/docs/functions/getModuleRoot.html b/7.x/docs/functions/getModuleRoot.html deleted file mode 100644 index e0b544b90..000000000 --- a/7.x/docs/functions/getModuleRoot.html +++ /dev/null @@ -1,2 +0,0 @@ -getModuleRoot | Community Solid Server - v7.1.0
  • Returns the folder corresponding to the root of the Community Solid Server module

    -

    Returns string

diff --git a/7.x/docs/functions/getPolicy.html b/7.x/docs/functions/getPolicy.html deleted file mode 100644 index 24c217a69..000000000 --- a/7.x/docs/functions/getPolicy.html +++ /dev/null @@ -1,4 +0,0 @@ -getPolicy | Community Solid Server - v7.1.0
  • Finds the IPolicy with the given identifier in the given dataset.

    -

    Parameters

    • data: Store<Quad, Quad, Quad, Quad>

      Dataset to look in.

      -
    • policy: Term

      Identifier of the policy.

      -

    Returns IPolicy

diff --git a/7.x/docs/functions/getRelativeUrl.html b/7.x/docs/functions/getRelativeUrl.html deleted file mode 100644 index 5b1386a99..000000000 --- a/7.x/docs/functions/getRelativeUrl.html +++ /dev/null @@ -1,6 +0,0 @@ -getRelativeUrl | Community Solid Server - v7.1.0
  • Creates a relative URL by removing the base URL. -Will throw an error in case the resulting target is not withing the base URL scope.

    -

    Parameters

    • baseUrl: string

      Base URL.

      -
    • request: HttpRequest

      Incoming request of which the target needs to be extracted.

      -
    • targetExtractor: TargetExtractor

      Will extract the target from the request.

      -

    Returns Promise<string>

diff --git a/7.x/docs/functions/getSingleItem.html b/7.x/docs/functions/getSingleItem.html deleted file mode 100644 index e97de4fef..000000000 --- a/7.x/docs/functions/getSingleItem.html +++ /dev/null @@ -1,5 +0,0 @@ -getSingleItem | Community Solid Server - v7.1.0
  • Converts the stream to a single object. -This assumes the stream is in object mode and only contains a single element, -otherwise an error will be thrown.

    -

    Parameters

    • stream: Readable

      Object stream with single entry.

      -

    Returns Promise<unknown>

diff --git a/7.x/docs/functions/getTemplateFilePath.html b/7.x/docs/functions/getTemplateFilePath.html deleted file mode 100644 index cd492b62e..000000000 --- a/7.x/docs/functions/getTemplateFilePath.html +++ /dev/null @@ -1,3 +0,0 @@ -getTemplateFilePath | Community Solid Server - v7.1.0

Function getTemplateFilePath

  • Returns the absolute path to the template. -Returns undefined if the input does not contain a file path.

    -

    Parameters

    Returns string | undefined

diff --git a/7.x/docs/functions/getTypeWeight.html b/7.x/docs/functions/getTypeWeight.html deleted file mode 100644 index a0cc641c9..000000000 --- a/7.x/docs/functions/getTypeWeight.html +++ /dev/null @@ -1,6 +0,0 @@ -getTypeWeight | Community Solid Server - v7.1.0
  • Tries to match the given type to the given preferences. -In case there are multiple matches the most specific one will be chosen as per RFC 7231.

    -

    Parameters

    • type: string

      Type for which the matching weight is needed.

      -
    • preferred: ValuePreferences

      Preferences to match the type to.

      -

    Returns number

    The corresponding weight from the preferences or 0 if there is no match.

    -
diff --git a/7.x/docs/functions/getWeightedPreferences.html b/7.x/docs/functions/getWeightedPreferences.html deleted file mode 100644 index 587b01548..000000000 --- a/7.x/docs/functions/getWeightedPreferences.html +++ /dev/null @@ -1,7 +0,0 @@ -getWeightedPreferences | Community Solid Server - v7.1.0

Function getWeightedPreferences

diff --git a/7.x/docs/functions/guardStream.html b/7.x/docs/functions/guardStream.html deleted file mode 100644 index 0be8f3d7a..000000000 --- a/7.x/docs/functions/guardStream.html +++ /dev/null @@ -1,9 +0,0 @@ -guardStream | Community Solid Server - v7.1.0
  • Makes sure that listeners always receive the error event of a stream, -even if it was thrown before the listener was attached.

    -

    When guarding a stream it is assumed that error listeners already attached should be ignored, -only error listeners attached after the stream is guarded will prevent an error from being logged.

    -

    If the input is already guarded the guard will be reset, -which means ignoring error listeners already attached.

    -

    Type Parameters

    • T extends EventEmitter

    Parameters

    • stream: T

      Stream that can potentially throw an error.

      -

    Returns Guarded<T>

    The stream.

    -
diff --git a/7.x/docs/functions/guardedStreamFrom.html b/7.x/docs/functions/guardedStreamFrom.html deleted file mode 100644 index a90ddf171..000000000 --- a/7.x/docs/functions/guardedStreamFrom.html +++ /dev/null @@ -1,4 +0,0 @@ -guardedStreamFrom | Community Solid Server - v7.1.0

Function guardedStreamFrom

  • Converts a string or array to a stream and applies an error guard so that it is Guarded.

    -

    Parameters

    • contents: string | Iterable<unknown>

      Data to stream.

      -
    • Optionaloptions: ReadableOptions

      Options to pass to the Readable constructor. See Readable.from.

      -

    Returns Guarded<Readable>

diff --git a/7.x/docs/functions/hasScheme.html b/7.x/docs/functions/hasScheme.html deleted file mode 100644 index 1a17604f2..000000000 --- a/7.x/docs/functions/hasScheme.html +++ /dev/null @@ -1,5 +0,0 @@ -hasScheme | Community Solid Server - v7.1.0
  • Checks if the scheme part of the specified url matches at least one of the provided options.

    -

    Parameters

    • url: string

      A string representing the URL.

      -
    • Rest...schemes: string[]

      Scheme value options (the function will check whether at least one matches the URL scheme).

      -

    Returns boolean

    True if the URL scheme matches at least one of the provided options, false otherwise.

    -
diff --git a/7.x/docs/functions/identifierHashFn.html b/7.x/docs/functions/identifierHashFn.html deleted file mode 100644 index a905b1499..000000000 --- a/7.x/docs/functions/identifierHashFn.html +++ /dev/null @@ -1,2 +0,0 @@ -identifierHashFn | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/importOidcProvider.html b/7.x/docs/functions/importOidcProvider.html deleted file mode 100644 index eabe18356..000000000 --- a/7.x/docs/functions/importOidcProvider.html +++ /dev/null @@ -1,8 +0,0 @@ -importOidcProvider | Community Solid Server - v7.1.0

Function importOidcProvider

  • Import the OIDC-provider package.

    -

    As oidc-provider is an ESM package and CSS is CJS, we have to use a dynamic import here. -Unfortunately, there is a Node/Jest bug that causes segmentation faults when doing such an import in Jest: -https://github.com/nodejs/node/issues/35889 -To work around that, we do the import differently, in case we are in a Jest test run. -This can be detected via the env variables: https://jestjs.io/docs/environment-variables. -There have been reports of JEST_WORKER_ID being undefined, so to be sure we check both.

    -

    Returns CanBePromise<__module>

diff --git a/7.x/docs/functions/isContainerIdentifier.html b/7.x/docs/functions/isContainerIdentifier.html deleted file mode 100644 index 1208051be..000000000 --- a/7.x/docs/functions/isContainerIdentifier.html +++ /dev/null @@ -1,3 +0,0 @@ -isContainerIdentifier | Community Solid Server - v7.1.0

Function isContainerIdentifier

  • Checks whether the identifier corresponds to a container identifier.

    -

    Parameters

    Returns boolean

diff --git a/7.x/docs/functions/isContainerPath.html b/7.x/docs/functions/isContainerPath.html deleted file mode 100644 index 87d66c7c8..000000000 --- a/7.x/docs/functions/isContainerPath.html +++ /dev/null @@ -1,3 +0,0 @@ -isContainerPath | Community Solid Server - v7.1.0
  • Checks whether the path corresponds to a container path (ending in a /).

    -

    Parameters

    • path: string

      Path to check.

      -

    Returns boolean

diff --git a/7.x/docs/functions/isError.html b/7.x/docs/functions/isError.html deleted file mode 100644 index 0999816d3..000000000 --- a/7.x/docs/functions/isError.html +++ /dev/null @@ -1,2 +0,0 @@ -isError | Community Solid Server - v7.1.0
  • Checks if the input is an Error.

    -

    Parameters

    • error: unknown

    Returns error is Error

diff --git a/7.x/docs/functions/isGuarded.html b/7.x/docs/functions/isGuarded.html deleted file mode 100644 index 1dae8f964..000000000 --- a/7.x/docs/functions/isGuarded.html +++ /dev/null @@ -1,2 +0,0 @@ -isGuarded | Community Solid Server - v7.1.0
  • Determines whether the stream is guarded against emitting errors.

    -

    Type Parameters

    • T extends EventEmitter

    Parameters

    • stream: T

    Returns stream is Guarded<T>

diff --git a/7.x/docs/functions/isHttpRequest.html b/7.x/docs/functions/isHttpRequest.html deleted file mode 100644 index 9e422e75a..000000000 --- a/7.x/docs/functions/isHttpRequest.html +++ /dev/null @@ -1,2 +0,0 @@ -isHttpRequest | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/isHttpsServer.html b/7.x/docs/functions/isHttpsServer.html deleted file mode 100644 index 6215a17e7..000000000 --- a/7.x/docs/functions/isHttpsServer.html +++ /dev/null @@ -1,2 +0,0 @@ -isHttpsServer | Community Solid Server - v7.1.0
  • Returns true if the server is an HTTPS server.

    -

    Parameters

    • server: Server<typeof IncomingMessage, typeof ServerResponse>

    Returns server is Server<typeof IncomingMessage, typeof ServerResponse>

diff --git a/7.x/docs/functions/isInternalContentType.html b/7.x/docs/functions/isInternalContentType.html deleted file mode 100644 index abc7cb558..000000000 --- a/7.x/docs/functions/isInternalContentType.html +++ /dev/null @@ -1,5 +0,0 @@ -isInternalContentType | Community Solid Server - v7.1.0

Function isInternalContentType

  • Checks if the given content type is an internal content type such as internal/quads. -Response will be false if the input type is undefined.

    -

    Do not use this for media ranges.

    -

    Parameters

    • OptionalcontentType: string

      Type to check.

      -

    Returns boolean

diff --git a/7.x/docs/functions/isPromise.html b/7.x/docs/functions/isPromise.html deleted file mode 100644 index ec8a85aea..000000000 --- a/7.x/docs/functions/isPromise.html +++ /dev/null @@ -1,3 +0,0 @@ -isPromise | Community Solid Server - v7.1.0
  • Verifies if the given value is a Promise or not.

    -

    Type Parameters

    • T

    Parameters

    Returns object is Promise<T>

diff --git a/7.x/docs/functions/isRepresentationMetadata.html b/7.x/docs/functions/isRepresentationMetadata.html deleted file mode 100644 index a81b2eee2..000000000 --- a/7.x/docs/functions/isRepresentationMetadata.html +++ /dev/null @@ -1,2 +0,0 @@ -isRepresentationMetadata | Community Solid Server - v7.1.0

Function isRepresentationMetadata

diff --git a/7.x/docs/functions/isResourceIdentifier.html b/7.x/docs/functions/isResourceIdentifier.html deleted file mode 100644 index 9880f1853..000000000 --- a/7.x/docs/functions/isResourceIdentifier.html +++ /dev/null @@ -1,2 +0,0 @@ -isResourceIdentifier | Community Solid Server - v7.1.0

Function isResourceIdentifier

diff --git a/7.x/docs/functions/isSystemError.html b/7.x/docs/functions/isSystemError.html deleted file mode 100644 index b9f9d3b40..000000000 --- a/7.x/docs/functions/isSystemError.html +++ /dev/null @@ -1 +0,0 @@ -isSystemError | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/isTerm.html b/7.x/docs/functions/isTerm.html deleted file mode 100644 index 43f446d6b..000000000 --- a/7.x/docs/functions/isTerm.html +++ /dev/null @@ -1,2 +0,0 @@ -isTerm | Community Solid Server - v7.1.0
  • Parameters

    • Optionalinput: unknown

      Checks if this is a Term.

      -

    Returns input is Term

diff --git a/7.x/docs/functions/isUrl.html b/7.x/docs/functions/isUrl.html deleted file mode 100644 index 08b64131b..000000000 --- a/7.x/docs/functions/isUrl.html +++ /dev/null @@ -1,4 +0,0 @@ -isUrl | Community Solid Server - v7.1.0
  • Checks whether the given string is a valid URL.

    -

    Parameters

    • url: string

      String to check.

      -

    Returns boolean

    True if the string is a valid URL.

    -
diff --git a/7.x/docs/functions/isValidFileName.html b/7.x/docs/functions/isValidFileName.html deleted file mode 100644 index e2f72a795..000000000 --- a/7.x/docs/functions/isValidFileName.html +++ /dev/null @@ -1,4 +0,0 @@ -isValidFileName | Community Solid Server - v7.1.0
  • Checks the validity of a file name. A valid name consists of word characters, '-' or '.'.

    -

    Parameters

    • name: string

      The name of the file to validate.

      -

    Returns boolean

    True if the filename is valid, false otherwise.

    -
diff --git a/7.x/docs/functions/isValidVariable.html b/7.x/docs/functions/isValidVariable.html deleted file mode 100644 index 398d1bfd0..000000000 --- a/7.x/docs/functions/isValidVariable.html +++ /dev/null @@ -1,3 +0,0 @@ -isValidVariable | Community Solid Server - v7.1.0
  • Checks if the given variable is one that is supported. -This can be used to weed out irrelevant parameters in an object.

    -

    Parameters

    • variable: string

    Returns boolean

diff --git a/7.x/docs/functions/isWebSocket2023Channel.html b/7.x/docs/functions/isWebSocket2023Channel.html deleted file mode 100644 index 339afd1de..000000000 --- a/7.x/docs/functions/isWebSocket2023Channel.html +++ /dev/null @@ -1 +0,0 @@ -isWebSocket2023Channel | Community Solid Server - v7.1.0

Function isWebSocket2023Channel

diff --git a/7.x/docs/functions/isWebhook2023Channel.html b/7.x/docs/functions/isWebhook2023Channel.html deleted file mode 100644 index 051ebab0f..000000000 --- a/7.x/docs/functions/isWebhook2023Channel.html +++ /dev/null @@ -1 +0,0 @@ -isWebhook2023Channel | Community Solid Server - v7.1.0

Function isWebhook2023Channel

diff --git a/7.x/docs/functions/joinFilePath.html b/7.x/docs/functions/joinFilePath.html deleted file mode 100644 index ad850156f..000000000 --- a/7.x/docs/functions/joinFilePath.html +++ /dev/null @@ -1,5 +0,0 @@ -joinFilePath | Community Solid Server - v7.1.0
  • Adds the paths to the base path.

    -

    Parameters

    • basePath: string

      The base path (POSIX or Windows).

      -
    • Rest...paths: string[]

      Subpaths to attach (POSIX).

      -

    Returns string

    The potentially changed path (POSIX).

    -
diff --git a/7.x/docs/functions/joinUrl.html b/7.x/docs/functions/joinUrl.html deleted file mode 100644 index a168f9538..000000000 --- a/7.x/docs/functions/joinUrl.html +++ /dev/null @@ -1,6 +0,0 @@ -joinUrl | Community Solid Server - v7.1.0

Concatenates all the given strings into a normalized URL. -Will place slashes between input strings if necessary.

-
  • Join all arguments together and normalize the resulting url. -This works similar to path.join but you shouldn't use path.join for urls since it works -differently depending on the operating system and also doesn't work for some cases.

    -

    Parameters

    • Rest...parts: string[]

    Returns string

  • Parameters

    • parts: string[]

    Returns string

diff --git a/7.x/docs/functions/listSingleThreadedComponents.html b/7.x/docs/functions/listSingleThreadedComponents.html deleted file mode 100644 index 86e6cc38f..000000000 --- a/7.x/docs/functions/listSingleThreadedComponents.html +++ /dev/null @@ -1,4 +0,0 @@ -listSingleThreadedComponents | Community Solid Server - v7.1.0

Function listSingleThreadedComponents

  • Will list class names of components instantiated implementing the SingleThreaded -interface while the application is being run in multithreaded mode.

    -

    Type Parameters

    • T

    Parameters

    • componentsManager: ComponentsManager<T>

      The componentsManager being used to set up the application

      -

    Returns Promise<string[]>

diff --git a/7.x/docs/functions/map.html b/7.x/docs/functions/map.html deleted file mode 100644 index c71593d52..000000000 --- a/7.x/docs/functions/map.html +++ /dev/null @@ -1,7 +0,0 @@ -map | Community Solid Server - v7.1.0
  • Creates a new iterable with the results of calling a provided function on every element in the calling array. -Similar to the Array.prototype.map function. -See the documentation of the above function for more details.

    -

    Type Parameters

    • TIn
    • TOut

    Parameters

    • iterable: Iterable<TIn>

      Iterable on which to call the map function.

      -
    • callbackFn: ((element: TIn, index: number) => TOut)

      Function that is called for every element.

      -
        • (element, index): TOut
        • Parameters

          • element: TIn
          • index: number

          Returns TOut

    • OptionalthisArg: unknown

      Value to use as this when executing callbackFn.

      -

    Returns Iterable<TOut>

diff --git a/7.x/docs/functions/matchesAuthorizationScheme.html b/7.x/docs/functions/matchesAuthorizationScheme.html deleted file mode 100644 index de3f9d4ea..000000000 --- a/7.x/docs/functions/matchesAuthorizationScheme.html +++ /dev/null @@ -1,5 +0,0 @@ -matchesAuthorizationScheme | Community Solid Server - v7.1.0

Function matchesAuthorizationScheme

  • Checks if the value of an HTTP Authorization header matches a specific scheme (e.g. Basic, Bearer, etc).

    -

    Parameters

    • scheme: string

      Name of the authorization scheme (case insensitive).

      -
    • Optionalauthorization: string

      The value of the Authorization header (may be undefined).

      -

    Returns boolean

    True if the Authorization header uses the specified scheme, false otherwise.

    -
diff --git a/7.x/docs/functions/matchesMediaPreferences.html b/7.x/docs/functions/matchesMediaPreferences.html deleted file mode 100644 index 300722e36..000000000 --- a/7.x/docs/functions/matchesMediaPreferences.html +++ /dev/null @@ -1,4 +0,0 @@ -matchesMediaPreferences | Community Solid Server - v7.1.0

Function matchesMediaPreferences

diff --git a/7.x/docs/functions/matchesMediaType.html b/7.x/docs/functions/matchesMediaType.html deleted file mode 100644 index 35ce17f44..000000000 --- a/7.x/docs/functions/matchesMediaType.html +++ /dev/null @@ -1,6 +0,0 @@ -matchesMediaType | Community Solid Server - v7.1.0
  • Checks whether the given two media types/ranges match each other. -Takes wildcards into account.

    -

    Parameters

    • mediaA: string

      Media type to match.

      -
    • mediaB: string

      Media type to match.

      -

    Returns boolean

    True if the media type patterns can match each other.

    -
diff --git a/7.x/docs/functions/modify.html b/7.x/docs/functions/modify.html deleted file mode 100644 index 9acc227c6..000000000 --- a/7.x/docs/functions/modify.html +++ /dev/null @@ -1,5 +0,0 @@ -modify | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/modulePath.html b/7.x/docs/functions/modulePath.html deleted file mode 100644 index 3259920c9..000000000 --- a/7.x/docs/functions/modulePath.html +++ /dev/null @@ -1,3 +0,0 @@ -modulePath | Community Solid Server - v7.1.0
  • Creates a path starting from the @solid/community-server module root, -to be resolved by the resolveAssetPath function.

    -

    Parameters

    • relativePath: string = ''

    Returns string

diff --git a/7.x/docs/functions/msToDuration.html b/7.x/docs/functions/msToDuration.html deleted file mode 100644 index 240c08159..000000000 --- a/7.x/docs/functions/msToDuration.html +++ /dev/null @@ -1,5 +0,0 @@ -msToDuration | Community Solid Server - v7.1.0
  • Converts milliseconds to an ISO 8601 duration string. -The only categories used are days, hours, minutes, and seconds, -because months have no fixed size in milliseconds.

    -

    Parameters

    • ms: number

      The duration in ms to convert.

      -

    Returns string

diff --git a/7.x/docs/functions/normalizeFilePath.html b/7.x/docs/functions/normalizeFilePath.html deleted file mode 100644 index e6cb507e4..000000000 --- a/7.x/docs/functions/normalizeFilePath.html +++ /dev/null @@ -1,4 +0,0 @@ -normalizeFilePath | Community Solid Server - v7.1.0

Function normalizeFilePath

  • Resolves relative segments in the path.

    -

    Parameters

    • path: string

      Path to check (POSIX or Windows).

      -

    Returns string

    The potentially changed path (POSIX).

    -
diff --git a/7.x/docs/functions/parseAccept.html b/7.x/docs/functions/parseAccept.html deleted file mode 100644 index d9973ef3c..000000000 --- a/7.x/docs/functions/parseAccept.html +++ /dev/null @@ -1,6 +0,0 @@ -parseAccept | Community Solid Server - v7.1.0
  • Parses an Accept header string.

    -

    Parameters

    • input: string

      The Accept header string.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns Accept[]

    An array of Accept objects, sorted by weight. Accept parts -with invalid syntax are ignored and removed from the returned array.

    -
diff --git a/7.x/docs/functions/parseAcceptCharset.html b/7.x/docs/functions/parseAcceptCharset.html deleted file mode 100644 index cb79cfd19..000000000 --- a/7.x/docs/functions/parseAcceptCharset.html +++ /dev/null @@ -1,6 +0,0 @@ -parseAcceptCharset | Community Solid Server - v7.1.0

Function parseAcceptCharset

  • Parses an Accept-Charset header string.

    -

    Parameters

    • input: string

      The Accept-Charset header string.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns AcceptCharset[]

    An array of AcceptCharset objects, sorted by weight. Invalid ranges -are ignored and not returned.

    -
diff --git a/7.x/docs/functions/parseAcceptDateTime.html b/7.x/docs/functions/parseAcceptDateTime.html deleted file mode 100644 index de6f232e4..000000000 --- a/7.x/docs/functions/parseAcceptDateTime.html +++ /dev/null @@ -1,6 +0,0 @@ -parseAcceptDateTime | Community Solid Server - v7.1.0

Function parseAcceptDateTime

  • Parses an Accept-DateTime header string.

    -

    Parameters

    • input: string

      The Accept-DateTime header string.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns AcceptDatetime[]

    An array with a single AcceptDatetime object, -or an empty array if a range in an invalid format is detected.

    -
diff --git a/7.x/docs/functions/parseAcceptEncoding.html b/7.x/docs/functions/parseAcceptEncoding.html deleted file mode 100644 index ee6889bb2..000000000 --- a/7.x/docs/functions/parseAcceptEncoding.html +++ /dev/null @@ -1,6 +0,0 @@ -parseAcceptEncoding | Community Solid Server - v7.1.0

Function parseAcceptEncoding

  • Parses an Accept-Encoding header string.

    -

    Parameters

    • input: string

      The Accept-Encoding header string.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns AcceptEncoding[]

    An array of AcceptEncoding objects, sorted by weight. Invalid ranges -are ignored and not returned.

    -
diff --git a/7.x/docs/functions/parseAcceptLanguage.html b/7.x/docs/functions/parseAcceptLanguage.html deleted file mode 100644 index e80cb4d04..000000000 --- a/7.x/docs/functions/parseAcceptLanguage.html +++ /dev/null @@ -1,6 +0,0 @@ -parseAcceptLanguage | Community Solid Server - v7.1.0

Function parseAcceptLanguage

  • Parses an Accept-Language header string.

    -

    Parameters

    • input: string

      The Accept-Language header string.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns AcceptLanguage[]

    An array of AcceptLanguage objects, sorted by weight. Invalid ranges -are ignored and not returned.

    -
diff --git a/7.x/docs/functions/parseContentType.html b/7.x/docs/functions/parseContentType.html deleted file mode 100644 index ec7bd79c9..000000000 --- a/7.x/docs/functions/parseContentType.html +++ /dev/null @@ -1,6 +0,0 @@ -parseContentType | Community Solid Server - v7.1.0
  • Parses the Content-Type header and also parses any parameters in the header.

    -

    Parameters

    • input: string

      The Content-Type header string.

      -

    Returns ContentType

    A ContentType object containing the value and optional parameters.

    -

    BadRequestHttpError -Thrown on invalid header syntax.

    -
diff --git a/7.x/docs/functions/parseForwarded.html b/7.x/docs/functions/parseForwarded.html deleted file mode 100644 index 4b18d67a4..000000000 --- a/7.x/docs/functions/parseForwarded.html +++ /dev/null @@ -1,4 +0,0 @@ -parseForwarded | Community Solid Server - v7.1.0
  • Parses a Forwarded header value and will fall back to X-Forwarded-* headers.

    -

    Parameters

    • headers: IncomingHttpHeaders

      The incoming HTTP headers.

      -

    Returns Forwarded

    The parsed Forwarded header.

    -
diff --git a/7.x/docs/functions/parseLinkHeader.html b/7.x/docs/functions/parseLinkHeader.html deleted file mode 100644 index c7ab265cf..000000000 --- a/7.x/docs/functions/parseLinkHeader.html +++ /dev/null @@ -1,4 +0,0 @@ -parseLinkHeader | Community Solid Server - v7.1.0
  • Parses the link header(s) and returns an array of LinkEntry objects.

    -

    Parameters

    • link: string | string[] = []

      A single link header or an array of link headers

      -

    Returns LinkEntry[]

    A LinkEntry array, LinkEntry contains a link and a params Record<string,string>

    -
diff --git a/7.x/docs/functions/parseParameters.html b/7.x/docs/functions/parseParameters.html deleted file mode 100644 index ab77796a7..000000000 --- a/7.x/docs/functions/parseParameters.html +++ /dev/null @@ -1,7 +0,0 @@ -parseParameters | Community Solid Server - v7.1.0
  • Parses a list of split parameters and checks their validity. Parameters with invalid -syntax are ignored and not returned.

    -

    Parameters

    • parameters: string[]

      A list of split parameters (token [ "=" ( token / quoted-string ) ])

      -
    • replacements: Record<string, string>

      The double quoted strings that need to be replaced.

      -
    • strict: boolean = false

      Determines if invalid values throw errors (true) or log warnings (false). Defaults to false.

      -

    Returns {
        name: string;
        value: string;
    }[]

    An array of name/value objects corresponding to the parameters.

    -
diff --git a/7.x/docs/functions/parsePath.html b/7.x/docs/functions/parsePath.html deleted file mode 100644 index 9034632a3..000000000 --- a/7.x/docs/functions/parsePath.html +++ /dev/null @@ -1,6 +0,0 @@ -parsePath | Community Solid Server - v7.1.0
  • Parses the given path with the given InteractionRoute. -This assumes this call will succeed and thus expects the path to have the correct format. -If not, a 500 error will be thrown.

    -

    Type Parameters

    Parameters

    • route: T

      Route to parse with.

      -
    • path: string

      Path to parse.

      -

    Returns NonNullable<ReturnType<T["matchPath"]>>

diff --git a/7.x/docs/functions/parseQuads.html b/7.x/docs/functions/parseQuads.html deleted file mode 100644 index 96b843749..000000000 --- a/7.x/docs/functions/parseQuads.html +++ /dev/null @@ -1,5 +0,0 @@ -parseQuads | Community Solid Server - v7.1.0
  • Helper function to convert a Readable into an array of quads.

    -

    Parameters

    • readable: Guarded<Readable>

      The readable object.

      -
    • options: ParserOptions = {}

      Options for the parser.

      -

    Returns Promise<Quad[]>

    A promise containing the array of quads.

    -
diff --git a/7.x/docs/functions/parseSchema.html b/7.x/docs/functions/parseSchema.html deleted file mode 100644 index 42b30eec6..000000000 --- a/7.x/docs/functions/parseSchema.html +++ /dev/null @@ -1,2 +0,0 @@ -parseSchema | Community Solid Server - v7.1.0
  • Generates a simplified representation of a yup schema.

    -

    Type Parameters

    • T extends BaseObjectSchema

    Parameters

    • schema: T

    Returns Pick<SchemaType<T>, "fields">

diff --git a/7.x/docs/functions/parseWebSocketRequest.html b/7.x/docs/functions/parseWebSocketRequest.html deleted file mode 100644 index 399ec3eca..000000000 --- a/7.x/docs/functions/parseWebSocketRequest.html +++ /dev/null @@ -1,4 +0,0 @@ -parseWebSocketRequest | Community Solid Server - v7.1.0

Function parseWebSocketRequest

diff --git a/7.x/docs/functions/pipeSafely.html b/7.x/docs/functions/pipeSafely.html deleted file mode 100644 index 8c25d5398..000000000 --- a/7.x/docs/functions/pipeSafely.html +++ /dev/null @@ -1,8 +0,0 @@ -pipeSafely | Community Solid Server - v7.1.0
  • Pipes one stream into another and emits errors of the first stream with the second. -If the first stream errors, the second one will be destroyed with the given error. -This will also make the stream Guarded.

    -

    Type Parameters

    • T extends Writable

    Parameters

    • readable: ReadableStream

      Initial readable stream.

      -
    • destination: T

      The destination for writing data.

      -
    • OptionalmapError: ((error: Error) => Error)

      Optional function that takes the error and converts it to a new error.

      -
        • (error): Error
        • Parameters

          • error: Error

          Returns Error

    Returns Guarded<T>

    The destination stream.

    -
diff --git a/7.x/docs/functions/preferencesToString.html b/7.x/docs/functions/preferencesToString.html deleted file mode 100644 index 77fb72468..000000000 --- a/7.x/docs/functions/preferencesToString.html +++ /dev/null @@ -1,3 +0,0 @@ -preferencesToString | Community Solid Server - v7.1.0

Function preferencesToString

diff --git a/7.x/docs/functions/promiseSome.html b/7.x/docs/functions/promiseSome.html deleted file mode 100644 index f062dab64..000000000 --- a/7.x/docs/functions/promiseSome.html +++ /dev/null @@ -1,10 +0,0 @@ -promiseSome | Community Solid Server - v7.1.0
  • A function that simulates the Array.some behaviour but on an array of Promises. -Returns true if at least one promise returns true. -Returns false if all promises return false or error.

    -

    Parameters

    • predicates: Promise<boolean>[]

    Returns Promise<boolean>

    Predicates provided as input must be implemented considering -the following points:

    -
      -
    1. if they throw an error, it won't be propagated;
    2. -
    3. throwing an error should be logically equivalent to returning false.
    4. -
    -
diff --git a/7.x/docs/functions/readJsonStream.html b/7.x/docs/functions/readJsonStream.html deleted file mode 100644 index 9587e2f36..000000000 --- a/7.x/docs/functions/readJsonStream.html +++ /dev/null @@ -1,4 +0,0 @@ -readJsonStream | Community Solid Server - v7.1.0
  • Interprets the stream as JSON and converts it to a Dict.

    -

    Parameters

    • stream: Readable

      Stream of JSON data.

      -

    Returns Promise<Json>

    The parsed object.

    -
diff --git a/7.x/docs/functions/readPackageJson.html b/7.x/docs/functions/readPackageJson.html deleted file mode 100644 index 6e0b55d64..000000000 --- a/7.x/docs/functions/readPackageJson.html +++ /dev/null @@ -1,2 +0,0 @@ -readPackageJson | Community Solid Server - v7.1.0
  • Reads the project package.json and returns it.

    -

    Returns Promise<Record<string, Json>>

diff --git a/7.x/docs/functions/readTemplate.html b/7.x/docs/functions/readTemplate.html deleted file mode 100644 index db257fe6d..000000000 --- a/7.x/docs/functions/readTemplate.html +++ /dev/null @@ -1,2 +0,0 @@ -readTemplate | Community Solid Server - v7.1.0
diff --git a/7.x/docs/functions/readableToQuads.html b/7.x/docs/functions/readableToQuads.html deleted file mode 100644 index 28aef2520..000000000 --- a/7.x/docs/functions/readableToQuads.html +++ /dev/null @@ -1,4 +0,0 @@ -readableToQuads | Community Solid Server - v7.1.0
  • Imports quads from a stream into a Store.

    -

    Parameters

    • stream: Readable

      Stream of quads.

      -

    Returns Promise<Store>

    A Store containing all the quads.

    -
diff --git a/7.x/docs/functions/readableToString.html b/7.x/docs/functions/readableToString.html deleted file mode 100644 index 6e39ec37f..000000000 --- a/7.x/docs/functions/readableToString.html +++ /dev/null @@ -1,4 +0,0 @@ -readableToString | Community Solid Server - v7.1.0
  • Joins all strings of a stream.

    -

    Parameters

    • stream: Readable

      Stream of strings.

      -

    Returns Promise<string>

    The joined string.

    -
diff --git a/7.x/docs/functions/reduce.html b/7.x/docs/functions/reduce.html deleted file mode 100644 index b28915bef..000000000 --- a/7.x/docs/functions/reduce.html +++ /dev/null @@ -1,11 +0,0 @@ -reduce | Community Solid Server - v7.1.0
  • Similar to the Array.prototype.reduce function, but for an iterable. -See the documentation of the above function for more details. -The first element will be used as the initial value.

    -

    Type Parameters

    • TIn

    Parameters

    • iterable: Iterable<TIn>

      Iterable of which to reduce the elements.

      -
    • callbackFn: ((previousValue: TIn, currentValue: TIn, currentIndex: number) => TIn)

      A reducer function.

      -
        • (previousValue, currentValue, currentIndex): TIn
        • Parameters

          • previousValue: TIn
          • currentValue: TIn
          • currentIndex: number

          Returns TIn

    Returns TIn

  • Similar to the Array.prototype.reduce function, but for an iterable. -See the documentation of the above function for more details.

    -

    Type Parameters

    • TIn
    • TOut

    Parameters

    • iterable: Iterable<TIn>

      Iterable of which to reduce the elements.

      -
    • callbackFn: ((previousValue: TOut, currentValue: TIn, currentIndex: number) => TOut)

      A reducer function.

      -
        • (previousValue, currentValue, currentIndex): TOut
        • Parameters

          • previousValue: TOut
          • currentValue: TIn
          • currentIndex: number

          Returns TOut

    • initialValue: TOut

      The value to start from.

      -

    Returns TOut

diff --git a/7.x/docs/functions/resetInternalLoggerFactory.html b/7.x/docs/functions/resetInternalLoggerFactory.html deleted file mode 100644 index 72ac76c58..000000000 --- a/7.x/docs/functions/resetInternalLoggerFactory.html +++ /dev/null @@ -1,3 +0,0 @@ -resetInternalLoggerFactory | Community Solid Server - v7.1.0

Function resetInternalLoggerFactory

  • Resets the internal logger factory, which holds the global logger factory. -For testing purposes only.

    -

    Parameters

    Returns void

diff --git a/7.x/docs/functions/resolveAssetPath.html b/7.x/docs/functions/resolveAssetPath.html deleted file mode 100644 index 63902daf8..000000000 --- a/7.x/docs/functions/resolveAssetPath.html +++ /dev/null @@ -1,4 +0,0 @@ -resolveAssetPath | Community Solid Server - v7.1.0
  • Converts file path inputs into absolute paths. -Works similar to absoluteFilePath but paths that start with the modulePathPlaceholder -will be relative to the module directory instead of the cwd.

    -

    Parameters

    • path: string = modulePathPlaceholder

    Returns string

diff --git a/7.x/docs/functions/resolveModulePath.html b/7.x/docs/functions/resolveModulePath.html deleted file mode 100644 index 775769288..000000000 --- a/7.x/docs/functions/resolveModulePath.html +++ /dev/null @@ -1,2 +0,0 @@ -resolveModulePath | Community Solid Server - v7.1.0

Function resolveModulePath

  • Creates an absolute path starting from the @solid/community-server module root.

    -

    Parameters

    • relativePath: string = ''

    Returns string

diff --git a/7.x/docs/functions/resolvePromiseOrValue.html b/7.x/docs/functions/resolvePromiseOrValue.html deleted file mode 100644 index 2f41d28d5..000000000 --- a/7.x/docs/functions/resolvePromiseOrValue.html +++ /dev/null @@ -1,4 +0,0 @@ -resolvePromiseOrValue | Community Solid Server - v7.1.0

Function resolvePromiseOrValue

diff --git a/7.x/docs/functions/responseToDataset.html b/7.x/docs/functions/responseToDataset.html deleted file mode 100644 index 3f4ee3d38..000000000 --- a/7.x/docs/functions/responseToDataset.html +++ /dev/null @@ -1,5 +0,0 @@ -responseToDataset | Community Solid Server - v7.1.0

Function responseToDataset

  • Converts a given Response (from a request that was already made) to an RDF dataset. -In case the given Response object was already parsed its body can be passed along as a string.

    -

    The converter will be used to convert the response body to RDF.

    -

    Response will be a Representation with content-type internal/quads.

    -

    Parameters

    Returns Promise<Representation>

diff --git a/7.x/docs/functions/sanitizeUrlPart.html b/7.x/docs/functions/sanitizeUrlPart.html deleted file mode 100644 index c09954b26..000000000 --- a/7.x/docs/functions/sanitizeUrlPart.html +++ /dev/null @@ -1,4 +0,0 @@ -sanitizeUrlPart | Community Solid Server - v7.1.0
  • Sanitizes part of a URL by replacing non-word content with a '-'.

    -

    Parameters

    • urlPart: string

      The URL part to sanitize.

      -

    Returns string

    The sanitized output.

    -
diff --git a/7.x/docs/functions/serializeQuads.html b/7.x/docs/functions/serializeQuads.html deleted file mode 100644 index b4d217c8f..000000000 --- a/7.x/docs/functions/serializeQuads.html +++ /dev/null @@ -1,5 +0,0 @@ -serializeQuads | Community Solid Server - v7.1.0
  • Helper function for serializing an array of quads, with as result a Readable object.

    -

    Parameters

    • quads: Quad[]

      The array of quads.

      -
    • OptionalcontentType: string

      The content-type to serialize to.

      -

    Returns Guarded<Readable>

    The Readable object.

    -
diff --git a/7.x/docs/functions/setGlobalLoggerFactory.html b/7.x/docs/functions/setGlobalLoggerFactory.html deleted file mode 100644 index 58c7c8c33..000000000 --- a/7.x/docs/functions/setGlobalLoggerFactory.html +++ /dev/null @@ -1,4 +0,0 @@ -setGlobalLoggerFactory | Community Solid Server - v7.1.0

Function setGlobalLoggerFactory

  • Sets the global logger factory. -This causes loggers created by getLoggerFor to delegate to a logger from the given factory.

    -

    Parameters

    Returns void

diff --git a/7.x/docs/functions/setSafeInterval.html b/7.x/docs/functions/setSafeInterval.html deleted file mode 100644 index 7380868dd..000000000 --- a/7.x/docs/functions/setSafeInterval.html +++ /dev/null @@ -1,5 +0,0 @@ -setSafeInterval | Community Solid Server - v7.1.0
  • Wraps the callback for setInterval so errors get caught and logged. -Parameters are identical to the setInterval parameters starting from the 3rd argument. -The logger and message will be used when the callback throws an error. -Supports asynchronous callback functions.

    -

    Type Parameters

    • TArgs

    Parameters

    • logger: Logger
    • message: string
    • callback: ((...cbArgs: TArgs[]) => void | Promise<void>)
        • (...cbArgs): void | Promise<void>
        • Parameters

          Returns void | Promise<void>

    • Optionalms: number
    • Rest...args: TArgs[]

    Returns NodeJS.Timeout

diff --git a/7.x/docs/functions/sortedAsyncMerge.html b/7.x/docs/functions/sortedAsyncMerge.html deleted file mode 100644 index 0fb8ce511..000000000 --- a/7.x/docs/functions/sortedAsyncMerge.html +++ /dev/null @@ -1,5 +0,0 @@ -sortedAsyncMerge | Community Solid Server - v7.1.0
  • Merges the results of several sorted iterators. -In case the results of the individual iterators are not sorted the outcome results will also not be sorted.

    -

    Type Parameters

    • T

    Parameters

    • iterators: AsyncIterator<T, any, undefined>[]

      The iterators whose results need to be merged.

      -
    • Optionalcomparator: ((left: T, right: T) => number)

      The comparator to use to compare the results.

      -
        • (left, right): number
        • Parameters

          • left: T
          • right: T

          Returns number

    Returns AsyncIterable<T>

diff --git a/7.x/docs/functions/splitAndClean.html b/7.x/docs/functions/splitAndClean.html deleted file mode 100644 index 64bfe3542..000000000 --- a/7.x/docs/functions/splitAndClean.html +++ /dev/null @@ -1,4 +0,0 @@ -splitAndClean | Community Solid Server - v7.1.0
  • Splits the input string on commas, trims all parts and filters out empty ones.

    -

    Parameters

    • input: string

      Input header string.

      -

    Returns string[]

    An array of trimmed strings.

    -
diff --git a/7.x/docs/functions/splitCommaSeparated.html b/7.x/docs/functions/splitCommaSeparated.html deleted file mode 100644 index 83ab94792..000000000 --- a/7.x/docs/functions/splitCommaSeparated.html +++ /dev/null @@ -1,4 +0,0 @@ -splitCommaSeparated | Community Solid Server - v7.1.0

Function splitCommaSeparated

  • Splits a string by comma.

    -

    Parameters

    • input: string

      String instance to split.

      -

    Returns string[]

    A String array containining the split parts.

    -
diff --git a/7.x/docs/functions/termToInt.html b/7.x/docs/functions/termToInt.html deleted file mode 100644 index ad228abd0..000000000 --- a/7.x/docs/functions/termToInt.html +++ /dev/null @@ -1,4 +0,0 @@ -termToInt | Community Solid Server - v7.1.0
  • Converts a term to a number. Returns undefined if the term was undefined.

    -

    Parameters

    • Optionalterm: Term

      Term to parse.

      -
    • radix: number = 10

      Radix to use when parsing. Default is 10.

      -

    Returns number | undefined

diff --git a/7.x/docs/functions/toCanonicalUriPath.html b/7.x/docs/functions/toCanonicalUriPath.html deleted file mode 100644 index 43fa34d31..000000000 --- a/7.x/docs/functions/toCanonicalUriPath.html +++ /dev/null @@ -1,7 +0,0 @@ -toCanonicalUriPath | Community Solid Server - v7.1.0

Function toCanonicalUriPath

  • Converts a URI path to the canonical version by splitting on slashes, -decoding any percent-based encodings, and then encoding any special characters. -This function is used to clean unwanted characters in the components of -the provided path.

    -

    Parameters

    • path: string

      The path to convert to its canonical URI path form.

      -

    Returns string

    The canonical URI path form of the provided path.

    -
diff --git a/7.x/docs/functions/toComponentsJsType.html b/7.x/docs/functions/toComponentsJsType.html deleted file mode 100644 index 4501fbd20..000000000 --- a/7.x/docs/functions/toComponentsJsType.html +++ /dev/null @@ -1,5 +0,0 @@ -toComponentsJsType | Community Solid Server - v7.1.0

Function toComponentsJsType

  • Convert an exported interface name to the properly expected Components.js type URI.

    -

    Type Parameters

    • T

    Parameters

    • componentsManager: ComponentsManager<T>

      The currently used ComponentsManager

      -
    • interfaceName: string

      An interface name

      -

    Returns Promise<string>

    A Components.js type URI

    -
diff --git a/7.x/docs/functions/toLiteral.html b/7.x/docs/functions/toLiteral.html deleted file mode 100644 index 50940c081..000000000 --- a/7.x/docs/functions/toLiteral.html +++ /dev/null @@ -1,4 +0,0 @@ -toLiteral | Community Solid Server - v7.1.0
  • Creates a literal by first converting the dataType string to a named node.

    -

    Parameters

    • object: string | number

      Object value.

      -
    • dataType: NamedNode<string>

      Object data type (as string).

      -

    Returns Literal

diff --git a/7.x/docs/functions/toNamedTerm.html b/7.x/docs/functions/toNamedTerm.html deleted file mode 100644 index 1478275fa..000000000 --- a/7.x/docs/functions/toNamedTerm.html +++ /dev/null @@ -1,3 +0,0 @@ -toNamedTerm | Community Solid Server - v7.1.0
  • Converts a string to a named node when needed.

    -

    Parameters

    • subject: string

      Subject to potentially transform.

      -

    Returns NamedNode

  • Type Parameters

    • T extends Term

    Parameters

    • subject: T

    Returns T

  • Type Parameters

    • T extends Term

    Parameters

    • subject: string | T

    Returns T | NamedNode

diff --git a/7.x/docs/functions/toObjectTerm.html b/7.x/docs/functions/toObjectTerm.html deleted file mode 100644 index b4489935f..000000000 --- a/7.x/docs/functions/toObjectTerm.html +++ /dev/null @@ -1,4 +0,0 @@ -toObjectTerm | Community Solid Server - v7.1.0
  • Converts an object term when needed.

    -

    Parameters

    • object: string

      Object to potentially transform.

      -
    • OptionalpreferLiteral: boolean

      Whether strings are converted to literals or named nodes.

      -

    Returns NamedNode

  • Type Parameters

    • T extends Term

    Parameters

    • object: T
    • OptionalpreferLiteral: boolean

    Returns T

  • Type Parameters

    • T extends Term

    Parameters

    • object: string | T
    • OptionalpreferLiteral: boolean

    Returns T | NamedNode

diff --git a/7.x/docs/functions/toPredicateTerm.html b/7.x/docs/functions/toPredicateTerm.html deleted file mode 100644 index 8bfd69357..000000000 --- a/7.x/docs/functions/toPredicateTerm.html +++ /dev/null @@ -1,3 +0,0 @@ -toPredicateTerm | Community Solid Server - v7.1.0
  • Converts a string to a named node when needed.

    -

    Parameters

    • subject: string

      Subject to potentially transform.

      -

    Returns NamedNode

  • Type Parameters

    • T extends Term

    Parameters

    • subject: T

    Returns T

  • Type Parameters

    • T extends Term

    Parameters

    • subject: string | T

    Returns T | NamedNode

diff --git a/7.x/docs/functions/transformQuotedStrings.html b/7.x/docs/functions/transformQuotedStrings.html deleted file mode 100644 index 7b3c6c961..000000000 --- a/7.x/docs/functions/transformQuotedStrings.html +++ /dev/null @@ -1,6 +0,0 @@ -transformQuotedStrings | Community Solid Server - v7.1.0

Function transformQuotedStrings

  • Replaces all double quoted strings in the input string with "0", "1", etc.

    -

    Parameters

    • input: string

      The Accept header string.

      -

    Returns {
        replacements: Record<string, string>;
        result: string;
    }

    The transformed string and a map with keys "0", etc. and values the original string that was there.

    -
    • replacements: Record<string, string>
    • result: string

    BadRequestHttpError -Thrown if invalid characters are detected in a quoted string.

    -
diff --git a/7.x/docs/functions/transformSafely.html b/7.x/docs/functions/transformSafely.html deleted file mode 100644 index 2cc3d1442..000000000 --- a/7.x/docs/functions/transformSafely.html +++ /dev/null @@ -1,5 +0,0 @@ -transformSafely | Community Solid Server - v7.1.0
  • Transforms a stream, ensuring that all errors are forwarded.

    -

    Type Parameters

    • T = unknown

    Parameters

    • source: ReadableStream

      The stream to be transformed.

      -
    • options: AsyncTransformOptions<T> = {}

      The transformation options.

      -

    Returns Guarded<Transform>

    The transformed stream

    -
diff --git a/7.x/docs/functions/trimLeadingSlashes.html b/7.x/docs/functions/trimLeadingSlashes.html deleted file mode 100644 index f2eb1c219..000000000 --- a/7.x/docs/functions/trimLeadingSlashes.html +++ /dev/null @@ -1,4 +0,0 @@ -trimLeadingSlashes | Community Solid Server - v7.1.0

Function trimLeadingSlashes

  • Makes sure the input path has no slashes at the beginning.

    -

    Parameters

    • path: string

      Path to check.

      -

    Returns string

    The potentially changed path.

    -
diff --git a/7.x/docs/functions/trimTrailingSlashes.html b/7.x/docs/functions/trimTrailingSlashes.html deleted file mode 100644 index 5e938764e..000000000 --- a/7.x/docs/functions/trimTrailingSlashes.html +++ /dev/null @@ -1,4 +0,0 @@ -trimTrailingSlashes | Community Solid Server - v7.1.0

Function trimTrailingSlashes

  • Makes sure the input path has no slashes at the end.

    -

    Parameters

    • path: string

      Path to check.

      -

    Returns string

    The potentially changed path.

    -
diff --git a/7.x/docs/functions/uniqueQuads.html b/7.x/docs/functions/uniqueQuads.html deleted file mode 100644 index bfeb4cba1..000000000 --- a/7.x/docs/functions/uniqueQuads.html +++ /dev/null @@ -1,4 +0,0 @@ -uniqueQuads | Community Solid Server - v7.1.0
  • Filter out duplicate quads from an array.

    -

    Parameters

    • quads: Quad[]

      Quads to filter.

      -

    Returns Quad[]

    A new array containing the unique quads.

    -
diff --git a/7.x/docs/functions/updateModifiedDate.html b/7.x/docs/functions/updateModifiedDate.html deleted file mode 100644 index 470d072d8..000000000 --- a/7.x/docs/functions/updateModifiedDate.html +++ /dev/null @@ -1,4 +0,0 @@ -updateModifiedDate | Community Solid Server - v7.1.0

Function updateModifiedDate

  • Updates the dc:modified time to the given time.

    -

    Parameters

    • metadata: RepresentationMetadata

      Metadata to update.

      -
    • date: Date = ...

      Last modified date. Defaults to current time.

      -

    Returns void

diff --git a/7.x/docs/functions/validateWithError.html b/7.x/docs/functions/validateWithError.html deleted file mode 100644 index 133013076..000000000 --- a/7.x/docs/functions/validateWithError.html +++ /dev/null @@ -1,2 +0,0 @@ -validateWithError | Community Solid Server - v7.1.0

Function validateWithError

  • Same functionality as the yup validate function, but throws a BadRequestHttpError if there is an error.

    -

    Type Parameters

    • T extends BaseObjectSchema

    Parameters

    • schema: T
    • data: unknown
    • Optionaloptions: ValidateOptions<AnyObject>

    Returns Promise<T["__outputType"]>

diff --git a/7.x/docs/functions/verifyAccountId.html b/7.x/docs/functions/verifyAccountId.html deleted file mode 100644 index 564a26558..000000000 --- a/7.x/docs/functions/verifyAccountId.html +++ /dev/null @@ -1,5 +0,0 @@ -verifyAccountId | Community Solid Server - v7.1.0
  • Asserts that the two given IDs are identical. -To be used when a request tries to access a resource to ensure they're not accessing someone else's data.

    -

    Parameters

    • Optionalinput: string

      Input ID.

      -
    • Optionalexpected: string

      Expected ID.

      -

    Returns asserts expected is string

diff --git a/7.x/docs/hierarchy.html b/7.x/docs/hierarchy.html deleted file mode 100644 index 24307cd44..000000000 --- a/7.x/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -Community Solid Server - v7.1.0

Community Solid Server - v7.1.0

Class Hierarchy

diff --git a/7.x/docs/index.html b/7.x/docs/index.html deleted file mode 100644 index 5788a155c..000000000 --- a/7.x/docs/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Community Solid Server - v7.1.0

Community Solid Server - v7.1.0

Community Solid Server

[Solid logo]

-

MIT license -npm version -Node.js version -Build Status -Coverage Status -DOI -GitHub discussions -Chat on Gitter

-

The Community Solid Server is open software -that provides you with a Solid Pod and identity. -This Pod acts as your own personal storage space -so you can share data with people and Solid applications.

-

As an open and modular implementation of the -Solid specifications, -the Community Solid Server is a great companion:

-
    -
  • -

    🧑🏽 for people who want to try out having their own Pod

    -
  • -
  • -

    👨🏿‍💻 for developers who want to quickly create and test Solid apps

    -
  • -
  • -

    👩🏻‍🔬 for researchers who want to design new features for Solid

    -
  • -
-

And, of course, for many others who like to experience Solid.

-

Make sure you have Node.js 18.0 or higher. -If this is your first time using Node.js, -you can find instructions on how to do this here.

-
npx @solid/community-server
-
- -

Now visit your brand new server at http://localhost:3000/!

-

To persist your pod's contents between restarts, use:

-
npx @solid/community-server -c @css:config/file.json -f data/
-
- -

In case you prefer to use Docker instead, -you can find instructions for this and other methods in the -documentation.

-

Substantial changes to server behavior can be achieved via JSON configuration files. -The Community Solid Server uses Components.js -to specify how modules and components need to be wired together at runtime.

-

Recipes for configuring the server can be found at CommunitySolidServer/recipes.

-

Examples and guidance on custom configurations -are available in the config folder, -and the configurations tutorial. -There is also a configuration generator.

-

The server allows writing and plugging in custom modules -without altering its base source code.

-

The 📗 API documentation and -the 📓 user documentation -can help you find your way. -There is also a repository of 📚 comprehensive tutorials

-

The Solid Community Server code -is copyrighted by Inrupt Inc. -and imec -and available under the MIT License.

-

Don't hesitate to start a discussion -or report a bug.

-

There's also a Matrix-based, CSS-focused chat

-

Learn more about Solid at solidproject.org.

-
diff --git a/7.x/docs/interfaces/AccessCheckerArgs.html b/7.x/docs/interfaces/AccessCheckerArgs.html deleted file mode 100644 index b4e79a3ad..000000000 --- a/7.x/docs/interfaces/AccessCheckerArgs.html +++ /dev/null @@ -1,7 +0,0 @@ -AccessCheckerArgs | Community Solid Server - v7.1.0

Interface AccessCheckerArgs

interface AccessCheckerArgs {
    acl: Store<Quad, Quad, Quad, Quad>;
    credentials: Credentials;
    rule: Term;
}

Properties

Properties

acl: Store<Quad, Quad, Quad, Quad>

A store containing the relevant triples of the authorization.

-
credentials: Credentials

Credentials of the entity that wants to use the resource.

-
rule: Term

Authorization rule to be processed.

-
diff --git a/7.x/docs/interfaces/AccountInitializerArgs.html b/7.x/docs/interfaces/AccountInitializerArgs.html deleted file mode 100644 index 9aed80931..000000000 --- a/7.x/docs/interfaces/AccountInitializerArgs.html +++ /dev/null @@ -1,13 +0,0 @@ -AccountInitializerArgs | Community Solid Server - v7.1.0

Interface AccountInitializerArgs

interface AccountInitializerArgs {
    accountStore: AccountStore;
    email: string;
    name?: string;
    password: string;
    passwordStore: PasswordStore;
    podCreator: PodCreator;
}

Properties

accountStore: AccountStore

Creates the accounts.

-
email: string

Email address for the account login.

-
name?: string

Name to use for the pod. If undefined the pod will be made in the root of the server.

-
password: string

Password for the account login.

-
passwordStore: PasswordStore

Adds the login methods.

-
podCreator: PodCreator

Creates the pods.

-
diff --git a/7.x/docs/interfaces/AccountStore.html b/7.x/docs/interfaces/AccountStore.html deleted file mode 100644 index 7ed1f27be..000000000 --- a/7.x/docs/interfaces/AccountStore.html +++ /dev/null @@ -1,16 +0,0 @@ -AccountStore | Community Solid Server - v7.1.0

Used to store account data.

-
interface AccountStore {
    create: (() => Promise<string>);
    getSetting: (<T>(id: string, setting: T) => Promise<AccountSettings[T]>);
    updateSetting: (<T>(id: string, setting: T, value: AccountSettings[T]) => Promise<void>);
}

Implemented by

Properties

create: (() => Promise<string>)

Creates a new and empty account. -Since this account will not yet have a login method, -implementations should restrict what is possible with this account, -and should potentially have something in place to clean these accounts up if they are unused.

-
getSetting: (<T>(id: string, setting: T) => Promise<AccountSettings[T]>)

Finds the setting of the account with the given identifier.

-

Type declaration

    • <T>(id, setting): Promise<AccountSettings[T]>
    • Type Parameters

      • T extends "rememberLogin"

      Parameters

      • id: string

        The account identifier.

        -
      • setting: T

        The setting to find the value of.

        -

      Returns Promise<AccountSettings[T]>

updateSetting: (<T>(id: string, setting: T, value: AccountSettings[T]) => Promise<void>)

Updates the settings for the account with the given identifier to the new values.

-

Type declaration

    • <T>(id, setting, value): Promise<void>
    • Type Parameters

      • T extends "rememberLogin"

      Parameters

      • id: string

        The account identifier.

        -
      • setting: T

        The setting to update.

        -
      • value: AccountSettings[T]

        The new value for the setting.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/AdapterFactory.html b/7.x/docs/interfaces/AdapterFactory.html deleted file mode 100644 index b22b4d918..000000000 --- a/7.x/docs/interfaces/AdapterFactory.html +++ /dev/null @@ -1,6 +0,0 @@ -AdapterFactory | Community Solid Server - v7.1.0

Interface AdapterFactory

A factory that generates an Adapter to be used by the IDP to persist information.

-

The oidc-provider library will call the relevant functions when it needs to find/create/delete metadata. -For a full explanation of how these functions work and what is expected, -have a look at https://github.com/panva/node-oidc-provider/blob/main/example/my_adapter.js

-
interface AdapterFactory {
    createStorageAdapter: ((name: string) => Adapter);
}

Implemented by

Properties

createStorageAdapter: ((name: string) => Adapter)
diff --git a/7.x/docs/interfaces/AlgJwk.html b/7.x/docs/interfaces/AlgJwk.html deleted file mode 100644 index db722c337..000000000 --- a/7.x/docs/interfaces/AlgJwk.html +++ /dev/null @@ -1,35 +0,0 @@ -AlgJwk | Community Solid Server - v7.1.0

A JWK where the alg parameter is always defined.

-
interface AlgJwk {
    alg: AsymmetricSigningAlgorithm;
    crv?: string;
    d?: string;
    dp?: string;
    dq?: string;
    e?: string;
    ext?: boolean;
    k?: string;
    key_ops?: string[];
    kid?: string;
    kty?: string;
    n?: string;
    oth?: {
        d?: string;
        r?: string;
        t?: string;
    }[];
    p?: string;
    q?: string;
    qi?: string;
    use?: string;
    x?: string;
    x5c?: string[];
    x5t?: string;
    x5t#S256?: string;
    x5u?: string;
    y?: string;
}

Hierarchy

  • JWK
    • AlgJwk

Properties

Properties

alg: AsymmetricSigningAlgorithm

JWK "alg" (Algorithm) Parameter.

-
crv?: string
d?: string
dp?: string
dq?: string
e?: string
ext?: boolean

JWK "ext" (Extractable) Parameter.

-
k?: string
key_ops?: string[]

JWK "key_ops" (Key Operations) Parameter.

-
kid?: string

JWK "kid" (Key ID) Parameter.

-
kty?: string

JWK "kty" (Key Type) Parameter.

-
n?: string
oth?: {
    d?: string;
    r?: string;
    t?: string;
}[]
p?: string
q?: string
qi?: string
use?: string

JWK "use" (Public Key Use) Parameter.

-
x?: string
x5c?: string[]

JWK "x5c" (X.509 Certificate Chain) Parameter.

-
x5t?: string

JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.

-
x5t#S256?: string

"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.

-
x5u?: string

JWK "x5u" (X.509 URL) Parameter.

-
y?: string
diff --git a/7.x/docs/interfaces/AppRunnerInput.html b/7.x/docs/interfaces/AppRunnerInput.html deleted file mode 100644 index b7c3b4fb5..000000000 --- a/7.x/docs/interfaces/AppRunnerInput.html +++ /dev/null @@ -1,27 +0,0 @@ -AppRunnerInput | Community Solid Server - v7.1.0

Interface AppRunnerInput

Parameters that can be used to instantiate the server through code.

-
interface AppRunnerInput {
    argv?: string[];
    config?: string | string[];
    loaderProperties?: Partial<IComponentsManagerBuilderOptions<App>>;
    shorthand?: Shorthand;
    variableBindings?: VariableBindings;
}

Properties

argv?: string[]

An array containing CLI arguments passed to start the process. -Entries here have the lowest priority for assigning values to variables.

-
config?: string | string[]

Path to the server config file(s). Defaults to @css:config/default.json.

-
loaderProperties?: Partial<IComponentsManagerBuilderOptions<App>>

Properties that will be used when building the Components.js manager. -Default values:

-
    -
  • typeChecking: false, as the server components would otherwise error.
  • -
  • mainModulePath: @css:, which resolves to the directory of the CSS package. -This is useful for packages that depend on the CSS -but do not create any new modules themselves.
  • -
-
shorthand?: Shorthand

CLI argument names and their corresponding values. -E.g.: { rootFilePath: '.data' }. -Abbreviated parameter names can not be used, so { f: '.data' } would not work.

-

In case both shorthand and variableBindings have entries that would result in a value for the same variable, -variableBindings has priority.

-
variableBindings?: VariableBindings

Values to apply to the Components.js variables. -These are the variables CLI values will be converted to. -The keys should be the variable URIs. -E.g.: { 'urn:solid-server:default:variable:rootFilePath': '.data' }.

-
diff --git a/7.x/docs/interfaces/AsyncTransformOptions.html b/7.x/docs/interfaces/AsyncTransformOptions.html deleted file mode 100644 index 351cab3ac..000000000 --- a/7.x/docs/interfaces/AsyncTransformOptions.html +++ /dev/null @@ -1,26 +0,0 @@ -AsyncTransformOptions | Community Solid Server - v7.1.0

Interface AsyncTransformOptions<T>

interface AsyncTransformOptions<T> {
    allowHalfOpen?: boolean;
    autoDestroy?: boolean;
    decodeStrings?: boolean;
    defaultEncoding?: BufferEncoding;
    emitClose?: boolean;
    encoding?: BufferEncoding;
    flush?: ((this: Transform) => unknown);
    highWaterMark?: number;
    objectMode?: boolean;
    readableHighWaterMark?: number;
    readableObjectMode?: boolean;
    signal?: AbortSignal;
    transform?: ((this: Transform, data: T, encoding: string) => unknown);
    writableCorked?: number;
    writableHighWaterMark?: number;
    writableObjectMode?: boolean;
    construct?(this: Duplex, callback: ((error?: null | Error) => void)): void;
    destroy?(this: Duplex, error: null | Error, callback: ((error: null | Error) => void)): void;
    final?(this: Duplex, callback: ((error?: null | Error) => void)): void;
    read?(this: Duplex, size: number): void;
    write?(this: Duplex, chunk: any, encoding: BufferEncoding, callback: ((error?: null | Error) => void)): void;
    writev?(this: Duplex, chunks: {
        chunk: any;
        encoding: BufferEncoding;
    }[], callback: ((error?: null | Error) => void)): void;
}

Type Parameters

  • T = unknown

Hierarchy

  • DuplexOptions
    • AsyncTransformOptions

Properties

allowHalfOpen?: boolean
autoDestroy?: boolean
decodeStrings?: boolean
defaultEncoding?: BufferEncoding
emitClose?: boolean
encoding?: BufferEncoding
flush?: ((this: Transform) => unknown)

Performs any final actions after the source has ended

-
highWaterMark?: number
objectMode?: boolean
readableHighWaterMark?: number
readableObjectMode?: boolean
signal?: AbortSignal

When provided the corresponding AbortController can be used to cancel an asynchronous action.

-
transform?: ((this: Transform, data: T, encoding: string) => unknown)

Transforms data from the source by calling the push method

-
writableCorked?: number
writableHighWaterMark?: number
writableObjectMode?: boolean

Methods

  • Parameters

    • this: Duplex
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Duplex
    • error: null | Error
    • callback: ((error: null | Error) => void)
        • (error): void
        • Parameters

          • error: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Duplex
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Duplex
    • size: number

    Returns void

  • Parameters

    • this: Duplex
    • chunk: any
    • encoding: BufferEncoding
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Duplex
    • chunks: {
          chunk: any;
          encoding: BufferEncoding;
      }[]
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

diff --git a/7.x/docs/interfaces/AtomicDataAccessor.html b/7.x/docs/interfaces/AtomicDataAccessor.html deleted file mode 100644 index 7da516716..000000000 --- a/7.x/docs/interfaces/AtomicDataAccessor.html +++ /dev/null @@ -1,52 +0,0 @@ -AtomicDataAccessor | Community Solid Server - v7.1.0

Interface AtomicDataAccessor

The AtomicDataAccessor interface has identical function signatures as -the DataAccessor, with the additional constraint that every function call -must be atomic in its effect: either the call fully succeeds, reaching the -desired new state; or it fails, upon which the resulting state remains -identical to the one before the call.

-
interface AtomicDataAccessor {
    canHandle: ((representation: Representation) => Promise<void>);
    deleteResource: ((identifier: ResourceIdentifier) => Promise<void>);
    getChildren: ((identifier: ResourceIdentifier) => AsyncIterableIterator<RepresentationMetadata>);
    getData: ((identifier: ResourceIdentifier) => Promise<Guarded<Readable>>);
    getMetadata: ((identifier: ResourceIdentifier) => Promise<RepresentationMetadata>);
    writeContainer: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>);
    writeDocument: ((identifier: ResourceIdentifier, data: Guarded<Readable>, metadata: RepresentationMetadata) => Promise<void>);
    writeMetadata: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>);
}

Hierarchy (view full)

Implemented by

Properties

canHandle: ((representation: Representation) => Promise<void>)

Should throw a NotImplementedHttpError if the DataAccessor does not support storing the given Representation.

-

Type declaration

    • (representation): Promise<void>
    • Parameters

      Returns Promise<void>

BadRequestHttpError -If it does not support the incoming data.

-
deleteResource: ((identifier: ResourceIdentifier) => Promise<void>)

Deletes the resource and its corresponding metadata.

-

Solid, §5.4: "When a contained resource is deleted, the server MUST also remove the corresponding containment -triple, which has the effect of removing the deleted resource from the containing container." -https://solid.github.io/specification/protocol#deleting-resources

-

Type declaration

    • (identifier): Promise<void>
    • Parameters

      Returns Promise<void>

getChildren: ((identifier: ResourceIdentifier) => AsyncIterableIterator<RepresentationMetadata>)

Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

-

It can be safely assumed that the incoming identifier will always correspond to a container.

-

Type declaration

getData: ((identifier: ResourceIdentifier) => Promise<Guarded<Readable>>)

Returns a data stream stored for the given identifier. -It can be assumed that the incoming identifier will always correspond to a document.

-

Type declaration

getMetadata: ((identifier: ResourceIdentifier) => Promise<RepresentationMetadata>)

Returns the metadata corresponding to the identifier. -If possible, it is suggested to add a posix:size triple to the metadata indicating the binary size. -This is necessary for range requests.

-

Type declaration

writeContainer: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>)

Writes metadata for a container. -If the container does not exist yet it should be created, -if it does its metadata should be overwritten, except for the containment triples.

-

Type declaration

writeDocument: ((identifier: ResourceIdentifier, data: Guarded<Readable>, metadata: RepresentationMetadata) => Promise<void>)

Writes data and metadata for a document. -If any data and/or metadata exist for the given identifier, it should be overwritten.

-

Type declaration

writeMetadata: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>)

Writes metadata for a resource. -It can safely be assumed that the subject resource already exists.

-

Type declaration

diff --git a/7.x/docs/interfaces/AtomicResourceStore.html b/7.x/docs/interfaces/AtomicResourceStore.html deleted file mode 100644 index d7e2e080c..000000000 --- a/7.x/docs/interfaces/AtomicResourceStore.html +++ /dev/null @@ -1,37 +0,0 @@ -AtomicResourceStore | Community Solid Server - v7.1.0

Interface AtomicResourceStore

A ResourceStore of which all operations are atomic.

-
interface AtomicResourceStore {
    addResource: ((container: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>);
    deleteResource: ((identifier: ResourceIdentifier, conditions?: Conditions) => Promise<ChangeMap>);
    getRepresentation: ((identifier: ResourceIdentifier, preferences: RepresentationPreferences, conditions?: Conditions) => Promise<Representation>);
    hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>);
    modifyResource: ((identifier: ResourceIdentifier, patch: Patch, conditions?: Conditions) => Promise<ChangeMap>);
    setRepresentation: ((identifier: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>);
}

Hierarchy (view full)

Implemented by

Properties

addResource: ((container: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>)

Creates a new resource in the container.

-

Type declaration

deleteResource: ((identifier: ResourceIdentifier, conditions?: Conditions) => Promise<ChangeMap>)

Deletes a resource.

-

Type declaration

getRepresentation: ((identifier: ResourceIdentifier, preferences: RepresentationPreferences, conditions?: Conditions) => Promise<Representation>)

Retrieves a representation of a resource.

-

Type declaration

hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>)

Checks whether a resource exists in this ResourceSet.

-

Type declaration

    • (identifier): Promise<boolean>
    • Parameters

      Returns Promise<boolean>

      A promise resolving if the resource already exists.

      -
modifyResource: ((identifier: ResourceIdentifier, patch: Patch, conditions?: Conditions) => Promise<ChangeMap>)

Sets or updates the representation of a resource, -creating a new resource and intermediary containers as needed.

-

Type declaration

setRepresentation: ((identifier: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>)

Sets or replaces the representation of a resource, -creating a new resource and intermediary containers as needed.

-

Type declaration

diff --git a/7.x/docs/interfaces/AuthorizerInput.html b/7.x/docs/interfaces/AuthorizerInput.html deleted file mode 100644 index d305524ba..000000000 --- a/7.x/docs/interfaces/AuthorizerInput.html +++ /dev/null @@ -1,7 +0,0 @@ -AuthorizerInput | Community Solid Server - v7.1.0

Interface AuthorizerInput

interface AuthorizerInput {
    availablePermissions: PermissionMap;
    credentials: Credentials;
    requestedModes: AccessMap;
}

Properties

availablePermissions: PermissionMap

Actual permissions available per resource and per credential group.

-
credentials: Credentials

Credentials of the entity that wants to use the resource.

-
requestedModes: AccessMap

Requested access modes per resource.

-
diff --git a/7.x/docs/interfaces/AuthorizingHttpHandlerArgs.html b/7.x/docs/interfaces/AuthorizingHttpHandlerArgs.html deleted file mode 100644 index 5b4321094..000000000 --- a/7.x/docs/interfaces/AuthorizingHttpHandlerArgs.html +++ /dev/null @@ -1,11 +0,0 @@ -AuthorizingHttpHandlerArgs | Community Solid Server - v7.1.0

Interface AuthorizingHttpHandlerArgs

Properties

authorizer: Authorizer

Verifies if the requested operation is allowed.

-
credentialsExtractor: CredentialsExtractor

Extracts the credentials from the incoming request.

-
modesExtractor: ModesExtractor

Extracts the required modes from the generated Operation.

-
operationHandler: OperationHttpHandler

Handler to call if the operation is authorized.

-
permissionReader: PermissionReader

Reads the permissions available for the Operation.

-
diff --git a/7.x/docs/interfaces/AuxiliaryIdentifierStrategy.html b/7.x/docs/interfaces/AuxiliaryIdentifierStrategy.html deleted file mode 100644 index 690d940b0..000000000 --- a/7.x/docs/interfaces/AuxiliaryIdentifierStrategy.html +++ /dev/null @@ -1,25 +0,0 @@ -AuxiliaryIdentifierStrategy | Community Solid Server - v7.1.0

Interface AuxiliaryIdentifierStrategy

A strategy for handling auxiliary related ResourceIdentifiers.

-
interface AuxiliaryIdentifierStrategy {
    getAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    getAuxiliaryIdentifiers: ((identifier: ResourceIdentifier) => ResourceIdentifier[]);
    getSubjectIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    isAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => boolean);
}

Hierarchy (view full)

Implemented by

Properties

getAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Returns the identifier of the auxiliary resource corresponding to the given resource. -This does not guarantee that this auxiliary resource exists.

-

Should error if there are multiple results: see getAuxiliaryIdentifiers.

-

Type declaration

getAuxiliaryIdentifiers: ((identifier: ResourceIdentifier) => ResourceIdentifier[])

Returns all the identifiers of corresponding auxiliary resources. -This can be used when there are potentially multiple results. -In the case of a single result this should be an array containing the result of getAuxiliaryIdentifier.

-

Type declaration

getSubjectIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Returns the identifier of the resource which this auxiliary resource is referring to. -This does not guarantee that this resource exists.

-

Type declaration

isAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => boolean)

Checks if the input identifier corresponds to an auxiliary resource. -This does not check if that auxiliary resource exists, -only if the identifier indicates that there could be an auxiliary resource there.

-

Type declaration

    • (identifier): boolean
    • Parameters

      Returns boolean

      true if the input identifier points to an auxiliary resource.

      -
diff --git a/7.x/docs/interfaces/AuxiliaryStrategy.html b/7.x/docs/interfaces/AuxiliaryStrategy.html deleted file mode 100644 index e14ad7ad3..000000000 --- a/7.x/docs/interfaces/AuxiliaryStrategy.html +++ /dev/null @@ -1,49 +0,0 @@ -AuxiliaryStrategy | Community Solid Server - v7.1.0

Interface AuxiliaryStrategy

A strategy for handling one or more types of auxiliary resources. -References to "an auxiliary resource" implicitly imply a specific type of auxiliary resources -supported by this strategy.

-
interface AuxiliaryStrategy {
    addMetadata: ((metadata: RepresentationMetadata) => Promise<void>);
    getAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    getAuxiliaryIdentifiers: ((identifier: ResourceIdentifier) => ResourceIdentifier[]);
    getSubjectIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    isAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => boolean);
    isRequiredInRoot: ((identifier: ResourceIdentifier) => boolean);
    usesOwnAuthorization: ((identifier: ResourceIdentifier) => boolean);
    validate: ((representation: Representation) => Promise<void>);
}

Hierarchy (view full)

Implemented by

Properties

addMetadata: ((metadata: RepresentationMetadata) => Promise<void>)

Adds metadata related to this auxiliary resource, -in case this is required for this type of auxiliary resource. -The metadata that is added depends on the given identifier being an auxiliary or subject resource: -the metadata will be used to link to the other one, and potentially add extra typing info.

-

Used for: -Solid, §4.3.1: "For any defined auxiliary resource available for a given Solid resource, all representations of -that resource MUST include an HTTP Link header pointing to the location of each auxiliary resource." -https://solid.github.io/specification/protocol#auxiliary-resources-server

-

The above is an example of how that metadata would only be added in case the input is the subject identifier.

-

Type declaration

getAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Returns the identifier of the auxiliary resource corresponding to the given resource. -This does not guarantee that this auxiliary resource exists.

-

Should error if there are multiple results: see getAuxiliaryIdentifiers.

-

Type declaration

getAuxiliaryIdentifiers: ((identifier: ResourceIdentifier) => ResourceIdentifier[])

Returns all the identifiers of corresponding auxiliary resources. -This can be used when there are potentially multiple results. -In the case of a single result this should be an array containing the result of getAuxiliaryIdentifier.

-

Type declaration

getSubjectIdentifier: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Returns the identifier of the resource which this auxiliary resource is referring to. -This does not guarantee that this resource exists.

-

Type declaration

isAuxiliaryIdentifier: ((identifier: ResourceIdentifier) => boolean)

Checks if the input identifier corresponds to an auxiliary resource. -This does not check if that auxiliary resource exists, -only if the identifier indicates that there could be an auxiliary resource there.

-

Type declaration

    • (identifier): boolean
    • Parameters

      Returns boolean

      true if the input identifier points to an auxiliary resource.

      -
isRequiredInRoot: ((identifier: ResourceIdentifier) => boolean)

Whether the root storage container requires this auxiliary resource to be present. -If yes, this means they can't be deleted individually from such a container.

-

Type declaration

    • (identifier): boolean
    • Parameters

      Returns boolean

usesOwnAuthorization: ((identifier: ResourceIdentifier) => boolean)

Whether this auxiliary resources uses its own authorization instead of the subject resource authorization.

-

Type declaration

    • (identifier): boolean
    • Parameters

      Returns boolean

validate: ((representation: Representation) => Promise<void>)

Validates if the representation contains valid data for an auxiliary resource. -Should throw an error in case the data is invalid.

-

Type declaration

    • (representation): Promise<void>
    • Parameters

      • representation: Representation

        Representation of the auxiliary resource.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/BasePodCreatorArgs.html b/7.x/docs/interfaces/BasePodCreatorArgs.html deleted file mode 100644 index 7a6f72921..000000000 --- a/7.x/docs/interfaces/BasePodCreatorArgs.html +++ /dev/null @@ -1,13 +0,0 @@ -BasePodCreatorArgs | Community Solid Server - v7.1.0

Interface BasePodCreatorArgs

interface BasePodCreatorArgs {
    baseUrl: string;
    identifierGenerator: IdentifierGenerator;
    podStore: PodStore;
    relativeWebIdPath: string;
    webIdStore: WebIdStore;
}

Properties

baseUrl: string

Base URL of the server. -Used to potentially set the solid:oidcIssuer triple -and/or the pod URL if it is a root pod.

-
identifierGenerator: IdentifierGenerator

Generates the base URL of the pod based on the input name.

-
podStore: PodStore

Pod data store.

-
relativeWebIdPath: string

The path of where the WebID will be generated by the template, relative to the pod URL.

-
webIdStore: WebIdStore

WebID data store.

-
diff --git a/7.x/docs/interfaces/BaseRouterHandlerArgs.html b/7.x/docs/interfaces/BaseRouterHandlerArgs.html deleted file mode 100644 index 6c6f2219f..000000000 --- a/7.x/docs/interfaces/BaseRouterHandlerArgs.html +++ /dev/null @@ -1,14 +0,0 @@ -BaseRouterHandlerArgs | Community Solid Server - v7.1.0

Interface BaseRouterHandlerArgs<T>

interface BaseRouterHandlerArgs<T> {
    allowedMethods?: string[];
    allowedPathNames?: string[];
    baseUrl?: string;
    handler: T;
}

Type Parameters

Hierarchy (view full)

Properties

allowedMethods?: string[]

The allowed method(s). * can be used to indicate all methods are allowed. -Default is [ '*' ].

-
allowedPathNames?: string[]

Regular expression(s) used to match the target URL. -The base URl without trailing slash will be stripped of before applying the regular expressions, -so the input will always start with a /. -Default is [ '.*' ].

-
baseUrl?: string

The base URL of the server. -Not required if no value is provided for allowedPathNames.

-
handler: T

The handler to call if all checks pass.

-
diff --git a/7.x/docs/interfaces/BaseServerFactoryOptions.html b/7.x/docs/interfaces/BaseServerFactoryOptions.html deleted file mode 100644 index f64caf686..000000000 --- a/7.x/docs/interfaces/BaseServerFactoryOptions.html +++ /dev/null @@ -1,11 +0,0 @@ -BaseServerFactoryOptions | Community Solid Server - v7.1.0

Interface BaseServerFactoryOptions

Options to be used when creating the server. -Due to Components.js not supporting external types, this has been simplified (for now?). -The common https keys here (key/cert/pfx) will be interpreted as file paths that need to be read -before passing the options to the createServer function.

-
interface BaseServerFactoryOptions {
    cert?: string;
    https?: boolean;
    key?: string;
    passphrase?: string;
    pfx?: string;
}

Properties

Properties

cert?: string
https?: boolean

If the server should start as an HTTP or HTTPS server.

-
key?: string
passphrase?: string
pfx?: string
diff --git a/7.x/docs/interfaces/BasicConditionsOptions.html b/7.x/docs/interfaces/BasicConditionsOptions.html deleted file mode 100644 index 7ae0ccbd1..000000000 --- a/7.x/docs/interfaces/BasicConditionsOptions.html +++ /dev/null @@ -1,5 +0,0 @@ -BasicConditionsOptions | Community Solid Server - v7.1.0

Interface BasicConditionsOptions

interface BasicConditionsOptions {
    matchesETag?: string[];
    modifiedSince?: Date;
    notMatchesETag?: string[];
    unmodifiedSince?: Date;
}

Properties

matchesETag?: string[]
modifiedSince?: Date
notMatchesETag?: string[]
unmodifiedSince?: Date
diff --git a/7.x/docs/interfaces/BasicRequestParserArgs.html b/7.x/docs/interfaces/BasicRequestParserArgs.html deleted file mode 100644 index d26c914e4..000000000 --- a/7.x/docs/interfaces/BasicRequestParserArgs.html +++ /dev/null @@ -1,7 +0,0 @@ -BasicRequestParserArgs | Community Solid Server - v7.1.0

Interface BasicRequestParserArgs

Input parsers required for a BasicRequestParser.

-
interface BasicRequestParserArgs {
    bodyParser: BodyParser;
    conditionsParser: ConditionsParser;
    metadataParser: MetadataParser;
    preferenceParser: PreferenceParser;
    targetExtractor: TargetExtractor;
}

Properties

bodyParser: BodyParser
conditionsParser: ConditionsParser
metadataParser: MetadataParser
preferenceParser: PreferenceParser
targetExtractor: TargetExtractor
diff --git a/7.x/docs/interfaces/BodyParserArgs.html b/7.x/docs/interfaces/BodyParserArgs.html deleted file mode 100644 index 266f189f6..000000000 --- a/7.x/docs/interfaces/BodyParserArgs.html +++ /dev/null @@ -1,6 +0,0 @@ -BodyParserArgs | Community Solid Server - v7.1.0

Interface BodyParserArgs

interface BodyParserArgs {
    metadata: RepresentationMetadata;
    request: HttpRequest;
}

Properties

Properties

Metadata that has already been parsed from the request. -Can be updated by the BodyParser with extra metadata.

-
request: HttpRequest

Request that contains the (potential) body.

-
diff --git a/7.x/docs/interfaces/CliOptions.html b/7.x/docs/interfaces/CliOptions.html deleted file mode 100644 index d46b78cce..000000000 --- a/7.x/docs/interfaces/CliOptions.html +++ /dev/null @@ -1,5 +0,0 @@ -CliOptions | Community Solid Server - v7.1.0
interface CliOptions {
    envVarPrefix?: string;
    loadFromEnv?: boolean;
    strictMode?: boolean;
    usage?: string;
}

Properties

envVarPrefix?: string
loadFromEnv?: boolean
strictMode?: boolean
usage?: string
diff --git a/7.x/docs/interfaces/ClientCredentials.html b/7.x/docs/interfaces/ClientCredentials.html deleted file mode 100644 index e6dbc084f..000000000 --- a/7.x/docs/interfaces/ClientCredentials.html +++ /dev/null @@ -1,6 +0,0 @@ -ClientCredentials | Community Solid Server - v7.1.0
diff --git a/7.x/docs/interfaces/ClientCredentialsStore.html b/7.x/docs/interfaces/ClientCredentialsStore.html deleted file mode 100644 index a31c9dd08..000000000 --- a/7.x/docs/interfaces/ClientCredentialsStore.html +++ /dev/null @@ -1,18 +0,0 @@ -ClientCredentialsStore | Community Solid Server - v7.1.0

Interface ClientCredentialsStore

Stores and creates ClientCredentials.

-
interface ClientCredentialsStore {
    create: ((label: string, webId: string, accountId: string) => Promise<ClientCredentials>);
    delete: ((id: string) => Promise<void>);
    findByAccount: ((accountId: string) => Promise<ClientCredentials[]>);
    findByLabel: ((label: string) => Promise<undefined | ClientCredentials>);
    get: ((id: string) => Promise<undefined | ClientCredentials>);
}

Implemented by

Properties

create: ((label: string, webId: string, accountId: string) => Promise<ClientCredentials>)

Creates new token.

-

Type declaration

    • (label, webId, accountId): Promise<ClientCredentials>
    • Parameters

      • label: string

        Identifier to use for the new token.

        -
      • webId: string

        WebID to identify as when using this token.

        -
      • accountId: string

      Returns Promise<ClientCredentials>

delete: ((id: string) => Promise<void>)

Deletes the token with the given ID.

-

Type declaration

    • (id): Promise<void>
    • Parameters

      • id: string

        ID of the token.

        -

      Returns Promise<void>

findByAccount: ((accountId: string) => Promise<ClientCredentials[]>)

Find all tokens created by the given account.

-

Type declaration

findByLabel: ((label: string) => Promise<undefined | ClientCredentials>)

Find the ClientCredentials with the given label.

-

Type declaration

get: ((id: string) => Promise<undefined | ClientCredentials>)

Find the ClientCredentials with the given ID.

-

Type declaration

diff --git a/7.x/docs/interfaces/ComponentsJsFactory.html b/7.x/docs/interfaces/ComponentsJsFactory.html deleted file mode 100644 index c93f49334..000000000 --- a/7.x/docs/interfaces/ComponentsJsFactory.html +++ /dev/null @@ -1,8 +0,0 @@ -ComponentsJsFactory | Community Solid Server - v7.1.0

Interface ComponentsJsFactory

Used for instantiating new object using Components.js configurations.

-
interface ComponentsJsFactory {
    generate: (<T>(configPath: string, componentIri: string, variables: Record<string, unknown>) => Promise<T>);
}

Implemented by

Properties

Properties

generate: (<T>(configPath: string, componentIri: string, variables: Record<string, unknown>) => Promise<T>)

Instantiates a new object using Components.js.

-

Type declaration

    • <T>(configPath, componentIri, variables): Promise<T>
    • Type Parameters

      • T

      Parameters

      • configPath: string

        Location of the config to instantiate.

        -
      • componentIri: string

        IRI of the object in the config that will be the result.

        -
      • variables: Record<string, unknown>

        Variables to send to Components.js

        -

      Returns Promise<T>

      The resulting object, corresponding to the given component IRI.

      -
diff --git a/7.x/docs/interfaces/ComposedNotificationHandlerArgs.html b/7.x/docs/interfaces/ComposedNotificationHandlerArgs.html deleted file mode 100644 index d0746b7fb..000000000 --- a/7.x/docs/interfaces/ComposedNotificationHandlerArgs.html +++ /dev/null @@ -1,5 +0,0 @@ -ComposedNotificationHandlerArgs | Community Solid Server - v7.1.0
diff --git a/7.x/docs/interfaces/Conditions.html b/7.x/docs/interfaces/Conditions.html deleted file mode 100644 index 6f69c8ba4..000000000 --- a/7.x/docs/interfaces/Conditions.html +++ /dev/null @@ -1,16 +0,0 @@ -Conditions | Community Solid Server - v7.1.0

The conditions of an HTTP conditional request.

-
interface Conditions {
    matchesETag?: string[];
    matchesMetadata: ((metadata?: RepresentationMetadata, strict?: boolean) => boolean);
    modifiedSince?: Date;
    notMatchesETag?: string[];
    unmodifiedSince?: Date;
}

Implemented by

Properties

matchesETag?: string[]

Valid if matching any of the given ETags.

-
matchesMetadata: ((metadata?: RepresentationMetadata, strict?: boolean) => boolean)

Checks validity based on the given metadata.

-

Type declaration

    • (metadata?, strict?): boolean
    • Parameters

      • Optionalmetadata: RepresentationMetadata

        Metadata of the representation. Undefined if the resource does not exist.

        -
      • Optionalstrict: boolean

        How to compare the ETag related headers. -If true, the comparison will happen on representation level. -If false, the comparison happens on resource level, ignoring the content-type.

        -

      Returns boolean

modifiedSince?: Date

Valid if modified since the given date.

-
notMatchesETag?: string[]

Valid if not matching any of the given ETags.

-
unmodifiedSince?: Date

Valid if not modified since the given date.

-
diff --git a/7.x/docs/interfaces/ConstantConverterOptions.html b/7.x/docs/interfaces/ConstantConverterOptions.html deleted file mode 100644 index 2e34f7376..000000000 --- a/7.x/docs/interfaces/ConstantConverterOptions.html +++ /dev/null @@ -1,12 +0,0 @@ -ConstantConverterOptions | Community Solid Server - v7.1.0

Interface ConstantConverterOptions

Extra options for the ConstantConverter.

-
interface ConstantConverterOptions {
    container?: boolean;
    disabledMediaRanges?: string[];
    document?: boolean;
    enabledMediaRanges?: string[];
    minQuality?: number;
}

Properties

container?: boolean

Whether this should trigger on containers.

-
disabledMediaRanges?: string[]

Media ranges for which the conversion should not happen.

-
document?: boolean

Whether this should trigger on documents.

-
enabledMediaRanges?: string[]

Media ranges for which the conversion should happen.

-
minQuality?: number

The minimum requested quality/preference before this should trigger.

-
diff --git a/7.x/docs/interfaces/ContainerInitializerArgs.html b/7.x/docs/interfaces/ContainerInitializerArgs.html deleted file mode 100644 index cc21d3759..000000000 --- a/7.x/docs/interfaces/ContainerInitializerArgs.html +++ /dev/null @@ -1,13 +0,0 @@ -ContainerInitializerArgs | Community Solid Server - v7.1.0

Interface ContainerInitializerArgs

interface ContainerInitializerArgs {
    baseUrl: string;
    generator: ResourcesGenerator;
    path: string;
    storage: KeyValueStorage<string, boolean>;
    storageKey: string;
    store: ResourceStore;
}

Properties

baseUrl: string

Base URL of the server.

-

Generator that should be used to generate container contents.

-
path: string

Relative path of the container.

-
storage: KeyValueStorage<string, boolean>

Used to store initialization status.

-
storageKey: string

Key that is used to store the boolean in the storage indicating the container is initialized.

-

ResourceStore where the container should be stored.

-
diff --git a/7.x/docs/interfaces/ConvertingStoreEntry.html b/7.x/docs/interfaces/ConvertingStoreEntry.html deleted file mode 100644 index 28d06dfd2..000000000 --- a/7.x/docs/interfaces/ConvertingStoreEntry.html +++ /dev/null @@ -1,3 +0,0 @@ -ConvertingStoreEntry | Community Solid Server - v7.1.0

Interface ConvertingStoreEntry

interface ConvertingStoreEntry {
    store: ResourceStore;
    supportChecker: PreferenceSupport;
}

Properties

Properties

supportChecker: PreferenceSupport
diff --git a/7.x/docs/interfaces/CookieStore.html b/7.x/docs/interfaces/CookieStore.html deleted file mode 100644 index d4d7b6047..000000000 --- a/7.x/docs/interfaces/CookieStore.html +++ /dev/null @@ -1,16 +0,0 @@ -CookieStore | Community Solid Server - v7.1.0

Used to generate and store cookies.

-
interface CookieStore {
    delete: ((cookie: string) => Promise<boolean>);
    generate: ((accountId: string) => Promise<string>);
    get: ((cookie: string) => Promise<undefined | string>);
    refresh: ((cookie: string) => Promise<undefined | Date>);
}

Implemented by

Properties

Properties

delete: ((cookie: string) => Promise<boolean>)

Deletes the given cookie.

-

Type declaration

    • (cookie): Promise<boolean>
    • Parameters

      • cookie: string

        Cookie to delete.

        -

      Returns Promise<boolean>

generate: ((accountId: string) => Promise<string>)

Generates and stores a new cookie for the given accountId. -This does not replace previously generated cookies.

-

Type declaration

    • (accountId): Promise<string>
    • Parameters

      • accountId: string

        Account to create a cookie for.

        -

      Returns Promise<string>

      The generated cookie.

      -
get: ((cookie: string) => Promise<undefined | string>)

Return the accountID associated with the given cookie.

-

Type declaration

    • (cookie): Promise<undefined | string>
    • Parameters

      • cookie: string

        Cookie to find the account for.

        -

      Returns Promise<undefined | string>

refresh: ((cookie: string) => Promise<undefined | Date>)

Refreshes the cookie expiration and returns when it will expire if the cookie exists.

-

Type declaration

    • (cookie): Promise<undefined | Date>
    • Parameters

      • cookie: string

        Cookie to refresh.

        -

      Returns Promise<undefined | Date>

diff --git a/7.x/docs/interfaces/DataAccessor.html b/7.x/docs/interfaces/DataAccessor.html deleted file mode 100644 index a72206a1f..000000000 --- a/7.x/docs/interfaces/DataAccessor.html +++ /dev/null @@ -1,56 +0,0 @@ -DataAccessor | Community Solid Server - v7.1.0

A DataAccessor is the building block closest to the actual data storage. -It should not worry about most Solid logic, most of that will be handled before it is called. -There are a few things it still needs to do, and it is very important every implementation does this:

-
    -
  • If the input identifier ends with a slash, it should be assumed the identifier is targeting a container.
  • -
  • Similarly, if there is no trailing slash it should assume a document.
  • -
  • It should always throw a NotFoundHttpError if it does not have data matching the input identifier.
  • -
  • DataAccessors should not generate containment triples. This will be done externally using getChildren.
  • -
-
interface DataAccessor {
    canHandle: ((representation: Representation) => Promise<void>);
    deleteResource: ((identifier: ResourceIdentifier) => Promise<void>);
    getChildren: ((identifier: ResourceIdentifier) => AsyncIterableIterator<RepresentationMetadata>);
    getData: ((identifier: ResourceIdentifier) => Promise<Guarded<Readable>>);
    getMetadata: ((identifier: ResourceIdentifier) => Promise<RepresentationMetadata>);
    writeContainer: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>);
    writeDocument: ((identifier: ResourceIdentifier, data: Guarded<Readable>, metadata: RepresentationMetadata) => Promise<void>);
    writeMetadata: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>);
}

Hierarchy (view full)

Implemented by

Properties

canHandle: ((representation: Representation) => Promise<void>)

Should throw a NotImplementedHttpError if the DataAccessor does not support storing the given Representation.

-

Type declaration

    • (representation): Promise<void>
    • Parameters

      Returns Promise<void>

BadRequestHttpError -If it does not support the incoming data.

-
deleteResource: ((identifier: ResourceIdentifier) => Promise<void>)

Deletes the resource and its corresponding metadata.

-

Solid, §5.4: "When a contained resource is deleted, the server MUST also remove the corresponding containment -triple, which has the effect of removing the deleted resource from the containing container." -https://solid.github.io/specification/protocol#deleting-resources

-

Type declaration

    • (identifier): Promise<void>
    • Parameters

      Returns Promise<void>

getChildren: ((identifier: ResourceIdentifier) => AsyncIterableIterator<RepresentationMetadata>)

Returns metadata for all resources in the requested container. -This should not be all metadata of those resources (but it can be), -but instead the main metadata you want to show in situations -where all these resources are presented simultaneously. -Generally this would be metadata that is present for all of these resources, -such as resource type or last modified date.

-

It can be safely assumed that the incoming identifier will always correspond to a container.

-

Type declaration

getData: ((identifier: ResourceIdentifier) => Promise<Guarded<Readable>>)

Returns a data stream stored for the given identifier. -It can be assumed that the incoming identifier will always correspond to a document.

-

Type declaration

getMetadata: ((identifier: ResourceIdentifier) => Promise<RepresentationMetadata>)

Returns the metadata corresponding to the identifier. -If possible, it is suggested to add a posix:size triple to the metadata indicating the binary size. -This is necessary for range requests.

-

Type declaration

writeContainer: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>)

Writes metadata for a container. -If the container does not exist yet it should be created, -if it does its metadata should be overwritten, except for the containment triples.

-

Type declaration

writeDocument: ((identifier: ResourceIdentifier, data: Guarded<Readable>, metadata: RepresentationMetadata) => Promise<void>)

Writes data and metadata for a document. -If any data and/or metadata exist for the given identifier, it should be overwritten.

-

Type declaration

writeMetadata: ((identifier: ResourceIdentifier, metadata: RepresentationMetadata) => Promise<void>)

Writes metadata for a resource. -It can safely be assumed that the subject resource already exists.

-

Type declaration

diff --git a/7.x/docs/interfaces/ETagHandler.html b/7.x/docs/interfaces/ETagHandler.html deleted file mode 100644 index e5ccd04f6..000000000 --- a/7.x/docs/interfaces/ETagHandler.html +++ /dev/null @@ -1,18 +0,0 @@ -ETagHandler | Community Solid Server - v7.1.0

Responsible for everything related to ETag generation and comparison. -ETags are constructed in such a way they can both be used for the standard ETag usage of comparing representations, -but also to see if two ETags of different representations correspond to the same resource state.

-
interface ETagHandler {
    getETag: ((metadata: RepresentationMetadata) => undefined | string);
    matchesETag: ((metadata: RepresentationMetadata, eTag: string, strict: boolean) => boolean);
    sameResourceState: ((eTag1: string, eTag2: string) => boolean);
}

Implemented by

Properties

getETag: ((metadata: RepresentationMetadata) => undefined | string)

Generates an ETag for the given metadata. Returns undefined if no ETag could be generated.

-

Type declaration

    • (metadata): undefined | string
    • Parameters

      Returns undefined | string

matchesETag: ((metadata: RepresentationMetadata, eTag: string, strict: boolean) => boolean)

Validates whether the given metadata corresponds to the given ETag.

-

Type declaration

    • (metadata, eTag, strict): boolean
    • Parameters

      • metadata: RepresentationMetadata

        Metadata of the resource.

        -
      • eTag: string

        ETag to compare to.

        -
      • strict: boolean

        True if the comparison needs to be on representation level. -False if it is on resource level and the content-type doesn't matter.

        -

      Returns boolean

sameResourceState: ((eTag1: string, eTag2: string) => boolean)

Validates whether 2 ETags correspond to the same state of a resource, -independent of the representation the ETags correspond to.

-

Type declaration

    • (eTag1, eTag2): boolean
    • Parameters

      • eTag1: string

        First ETag to compare.

        -
      • eTag2: string

        Second ETag to compare.

        -

      Returns boolean

diff --git a/7.x/docs/interfaces/EmailArgs.html b/7.x/docs/interfaces/EmailArgs.html deleted file mode 100644 index a7a663ece..000000000 --- a/7.x/docs/interfaces/EmailArgs.html +++ /dev/null @@ -1,5 +0,0 @@ -EmailArgs | Community Solid Server - v7.1.0
interface EmailArgs {
    html: string;
    recipient: string;
    subject: string;
    text: string;
}

Properties

Properties

html: string
recipient: string
subject: string
text: string
diff --git a/7.x/docs/interfaces/EmailSenderArgs.html b/7.x/docs/interfaces/EmailSenderArgs.html deleted file mode 100644 index 3a198b9b6..000000000 --- a/7.x/docs/interfaces/EmailSenderArgs.html +++ /dev/null @@ -1,3 +0,0 @@ -EmailSenderArgs | Community Solid Server - v7.1.0

Interface EmailSenderArgs

interface EmailSenderArgs {
    emailConfig: {
        auth: {
            pass: string;
            user: string;
        };
        host: string;
        port: number;
    };
    senderName?: string;
}

Properties

emailConfig: {
    auth: {
        pass: string;
        user: string;
    };
    host: string;
    port: number;
}
senderName?: string
diff --git a/7.x/docs/interfaces/ErrorHandlerArgs.html b/7.x/docs/interfaces/ErrorHandlerArgs.html deleted file mode 100644 index 39c35f2f6..000000000 --- a/7.x/docs/interfaces/ErrorHandlerArgs.html +++ /dev/null @@ -1,3 +0,0 @@ -ErrorHandlerArgs | Community Solid Server - v7.1.0

Interface ErrorHandlerArgs

interface ErrorHandlerArgs {
    error: HttpError<number>;
    request: HttpRequest;
}

Properties

Properties

error: HttpError<number>
request: HttpRequest
diff --git a/7.x/docs/interfaces/ExpiringReadWriteLocker.html b/7.x/docs/interfaces/ExpiringReadWriteLocker.html deleted file mode 100644 index e6c6b4e7f..000000000 --- a/7.x/docs/interfaces/ExpiringReadWriteLocker.html +++ /dev/null @@ -1,16 +0,0 @@ -ExpiringReadWriteLocker | Community Solid Server - v7.1.0

Interface ExpiringReadWriteLocker

A ReadWriteLocker where the locks expire after a given time.

-
interface ExpiringReadWriteLocker {
    withReadLock: (<T>(identifier: ResourceIdentifier, whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)) => Promise<T>);
    withWriteLock: (<T>(identifier: ResourceIdentifier, whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)) => Promise<T>);
}

Hierarchy (view full)

Implemented by

Properties

withReadLock: (<T>(identifier: ResourceIdentifier, whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)) => Promise<T>)

As ReadWriteLocker.withReadLock but the locked function gets called with a maintainLock callback function -to reset the lock expiration every time it is called. -The resulting promise will reject once the lock expires.

-

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • Type Parameters

      • T

      Parameters

      • identifier: ResourceIdentifier

        Identifier of the resource that needs to be locked.

        -
      • whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)

        A function to execute while the resource is locked. -Receives a callback as input parameter to maintain the lock.

        -

      Returns Promise<T>

withWriteLock: (<T>(identifier: ResourceIdentifier, whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)) => Promise<T>)

As ReadWriteLocker.withWriteLock but the locked function gets called with a maintainLock -callback function to reset the lock expiration every time it is called. -The resulting promise will reject once the lock expires.

-

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • Type Parameters

      • T

      Parameters

      • identifier: ResourceIdentifier

        Identifier of the resource that needs to be locked.

        -
      • whileLocked: ((maintainLock: (() => void)) => PromiseOrValue<T>)

        A function to execute while the resource is locked. -Receives a callback as input parameter to maintain the lock.

        -

      Returns Promise<T>

diff --git a/7.x/docs/interfaces/ExpiringStorage.html b/7.x/docs/interfaces/ExpiringStorage.html deleted file mode 100644 index 5193ceb23..000000000 --- a/7.x/docs/interfaces/ExpiringStorage.html +++ /dev/null @@ -1,27 +0,0 @@ -ExpiringStorage | Community Solid Server - v7.1.0

Interface ExpiringStorage<TKey, TValue>

A KeyValueStorage in which the values can expire. -Entries with no expiration date never expire.

-
interface ExpiringStorage<TKey, TValue> {
    delete: ((key: TKey) => Promise<boolean>);
    entries: (() => AsyncIterableIterator<[TKey, TValue]>);
    get: ((key: TKey) => Promise<undefined | TValue>);
    has: ((key: TKey) => Promise<boolean>);
    set(key: TKey, value: TValue, expiration?: number): Promise<ExpiringStorage<TKey, TValue>>;
    set(key: TKey, value: TValue, expires?: Date): Promise<ExpiringStorage<TKey, TValue>>;
}

Type Parameters

  • TKey
  • TValue

Hierarchy (view full)

Implemented by

Properties

Methods

set -

Properties

delete: ((key: TKey) => Promise<boolean>)

Deletes the value stored for the given key.

-

Type declaration

    • (key): Promise<boolean>
    • Parameters

      • key: TKey

        Key to delete.

        -

      Returns Promise<boolean>

      If there was a value to delete.

      -
entries: (() => AsyncIterableIterator<[TKey, TValue]>)

An iterable of entries in the storage.

-
get: ((key: TKey) => Promise<undefined | TValue>)

Returns the value stored for the given identifier. -undefined if no value is stored.

-
has: ((key: TKey) => Promise<boolean>)

Checks whether there is a value stored for the given key.

-

Methods

diff --git a/7.x/docs/interfaces/FileIdentifierMapper.html b/7.x/docs/interfaces/FileIdentifierMapper.html deleted file mode 100644 index 0ca5c3c9a..000000000 --- a/7.x/docs/interfaces/FileIdentifierMapper.html +++ /dev/null @@ -1,16 +0,0 @@ -FileIdentifierMapper | Community Solid Server - v7.1.0

Interface FileIdentifierMapper

Supports mapping a file to an URL and back.

-
interface FileIdentifierMapper {
    mapFilePathToUrl: ((filePath: string, isContainer: boolean) => Promise<ResourceLink>);
    mapUrlToFilePath: ((identifier: ResourceIdentifier, isMetadata: boolean, contentType?: string) => Promise<ResourceLink>);
}

Implemented by

Properties

mapFilePathToUrl: ((filePath: string, isContainer: boolean) => Promise<ResourceLink>)

Maps the given file path to an URL and determines the content-type

-

Type declaration

    • (filePath, isContainer): Promise<ResourceLink>
    • Parameters

      • filePath: string

        The input file path.

        -
      • isContainer: boolean

        If the path corresponds to a file.

        -

      Returns Promise<ResourceLink>

      A ResourceLink with all the necessary metadata.

      -
mapUrlToFilePath: ((identifier: ResourceIdentifier, isMetadata: boolean, contentType?: string) => Promise<ResourceLink>)

Maps the given resource identifier / URL to a file path. -Determines the content-type, if no content-type was provided, by finding the corresponding file. -If there is no corresponding file, a file path will be generated. -For containers, the content-type input gets ignored.

-

Type declaration

    • (identifier, isMetadata, contentType?): Promise<ResourceLink>
    • Parameters

      • identifier: ResourceIdentifier

        The input identifier.

        -
      • isMetadata: boolean

        If we are mapping the metadata of the resource instead of its data.

        -
      • OptionalcontentType: string

        The (optional) content-type of the resource.

        -

      Returns Promise<ResourceLink>

      A ResourceLink with all the necessary metadata.

      -
diff --git a/7.x/docs/interfaces/FileIdentifierMapperFactory.html b/7.x/docs/interfaces/FileIdentifierMapperFactory.html deleted file mode 100644 index 0d9820afb..000000000 --- a/7.x/docs/interfaces/FileIdentifierMapperFactory.html +++ /dev/null @@ -1,4 +0,0 @@ -FileIdentifierMapperFactory | Community Solid Server - v7.1.0

Interface FileIdentifierMapperFactory<T>

Factory that can create FileIdentifierMappers so the base and rootFilePath can be set dynamically. -Specifically used when identifiers need to be generated for a new pod (since pod identifiers are generated).

-
interface FileIdentifierMapperFactory<T> {
    create: ((base: string, rootFilePath: string) => Promise<T>);
}

Type Parameters

Implemented by

Properties

Properties

create: ((base: string, rootFilePath: string) => Promise<T>)
diff --git a/7.x/docs/interfaces/Finalizable.html b/7.x/docs/interfaces/Finalizable.html deleted file mode 100644 index d289300a5..000000000 --- a/7.x/docs/interfaces/Finalizable.html +++ /dev/null @@ -1,5 +0,0 @@ -Finalizable | Community Solid Server - v7.1.0

Allows for cleaning up an object and stopping relevant loops when the application needs to be stopped. -Use this interface to add finalization logic to classes that already extend some other type. -NOTE: classes without an existing extends-relation should extend from Finalizer instead!

-
interface Finalizable {
    finalize: (() => Promise<void>);
}

Implemented by

Properties

Properties

finalize: (() => Promise<void>)
diff --git a/7.x/docs/interfaces/ForgotPasswordHandlerArgs.html b/7.x/docs/interfaces/ForgotPasswordHandlerArgs.html deleted file mode 100644 index 23b6d5290..000000000 --- a/7.x/docs/interfaces/ForgotPasswordHandlerArgs.html +++ /dev/null @@ -1,11 +0,0 @@ -ForgotPasswordHandlerArgs | Community Solid Server - v7.1.0

Interface ForgotPasswordHandlerArgs

interface ForgotPasswordHandlerArgs {
    emailSender: EmailSender;
    forgotPasswordStore: ForgotPasswordStore;
    passwordStore: PasswordStore;
    resetRoute: InteractionRoute<never>;
    templateEngine: TemplateEngine<{
        resetLink: string;
    }>;
}

Properties

emailSender: EmailSender

Sender to send the actual email.

-
forgotPasswordStore: ForgotPasswordStore

Store containing the forgot password records.

-
passwordStore: PasswordStore

Store containing the password login information.

-
resetRoute: InteractionRoute<never>

Route used to generate the reset link for the user.

-
templateEngine: TemplateEngine<{
    resetLink: string;
}>

Template engine that will be used to generate the email body.

-
diff --git a/7.x/docs/interfaces/ForgotPasswordStore.html b/7.x/docs/interfaces/ForgotPasswordStore.html deleted file mode 100644 index 72e4cdd9a..000000000 --- a/7.x/docs/interfaces/ForgotPasswordStore.html +++ /dev/null @@ -1,16 +0,0 @@ -ForgotPasswordStore | Community Solid Server - v7.1.0

Interface ForgotPasswordStore

Responsible for storing the records that are used when a user forgets their password.

-
interface ForgotPasswordStore {
    delete: ((recordId: string) => Promise<boolean>);
    generate: ((id: string) => Promise<string>);
    get: ((recordId: string) => Promise<undefined | string>);
}

Implemented by

Properties

Properties

delete: ((recordId: string) => Promise<boolean>)

Deletes the Forgot Password Confirmation Record.

-

Type declaration

    • (recordId): Promise<boolean>
    • Parameters

      • recordId: string

        The record id of the forgot password confirmation record.

        -

      Returns Promise<boolean>

generate: ((id: string) => Promise<string>)

Creates a Forgot Password Confirmation Record. This will be to remember that -a user has made a request to reset a password. Throws an error if the email doesn't -exist.

-

Type declaration

    • (id): Promise<string>
    • Parameters

      • id: string

        ID of the email/password login object.

        -

      Returns Promise<string>

      The record id. This should be included in the reset password link.

      -
get: ((recordId: string) => Promise<undefined | string>)

Gets the email associated with the forgot password confirmation record -or undefined if it's not present.

-

Type declaration

    • (recordId): Promise<undefined | string>
    • Parameters

      • recordId: string

        The record id retrieved from the link.

        -

      Returns Promise<undefined | string>

      The user's email.

      -
diff --git a/7.x/docs/interfaces/Forwarded.html b/7.x/docs/interfaces/Forwarded.html deleted file mode 100644 index 0db7f47ad..000000000 --- a/7.x/docs/interfaces/Forwarded.html +++ /dev/null @@ -1,10 +0,0 @@ -Forwarded | Community Solid Server - v7.1.0

The Forwarded header from RFC7239

-
interface Forwarded {
    by?: string;
    for?: string;
    host?: string;
    proto?: string;
}

Properties

Properties

by?: string

The user-agent facing interface of the proxy

-
for?: string

The node making the request to the proxy

-
host?: string

The host request header field as received by the proxy

-
proto?: string

The protocol used to make the request

-
diff --git a/7.x/docs/interfaces/GenericEventEmitter.html b/7.x/docs/interfaces/GenericEventEmitter.html deleted file mode 100644 index e41245570..000000000 --- a/7.x/docs/interfaces/GenericEventEmitter.html +++ /dev/null @@ -1,142 +0,0 @@ -GenericEventEmitter | Community Solid Server - v7.1.0

Interface GenericEventEmitter<TEvent, TFunc>

A typed interface of EventEmitter.

-

Use the & operator to combine multiple event/function pairs into a single event emitter. -The result needs to be a type and not an interface because of https://github.com/microsoft/TypeScript/issues/16936.

-

Use the createGenericEventEmitterClass function to generate an event emitter class with the correct typings -in case EventEmitter needs to be extended.

-
interface GenericEventEmitter<TEvent, TFunc> {
    addListener: ((event: TEvent, listener: TFunc) => this);
    emit: ((event: TEvent, ...args: Parameters<TFunc>) => boolean);
    eventNames: (() => TEvent[]);
    listenerCount: ((event: TEvent) => number);
    listeners: ((event: TEvent) => TFunc[]);
    off: ((event: TEvent, listener: TFunc) => this);
    on: ((event: TEvent, listener: TFunc) => this);
    once: ((event: TEvent, listener: TFunc) => this);
    prependListener: ((event: TEvent, listener: TFunc) => this);
    prependOnceListener: ((event: TEvent, listener: TFunc) => this);
    rawListeners: ((event: TEvent) => TFunc[]);
    removeAllListeners: ((event: TEvent) => this);
    removeListener: ((event: TEvent, listener: TFunc) => this);
    [captureRejectionSymbol]?(error: Error, event: string, ...args: any[]): void;
    getMaxListeners(): number;
    setMaxListeners(n: number): this;
}

Type Parameters

  • TEvent extends string | symbol
  • TFunc extends ((...args: any[]) => void)

Hierarchy

  • EventEmitter
    • GenericEventEmitter

Properties

addListener: ((event: TEvent, listener: TFunc) => this)

Alias for emitter.on(eventName, listener).

-

v0.1.26

-
emit: ((event: TEvent, ...args: Parameters<TFunc>) => boolean)

Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments -to each.

-

Returns true if the event had listeners, false otherwise.

-
const EventEmitter = require('events');
const myEmitter = new EventEmitter();

// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});

console.log(myEmitter.listeners('event'));

myEmitter.emit('event', 1, 2, 3, 4, 5);

// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener -
- -

v0.1.26

-
eventNames: (() => TEvent[])

Returns an array listing the events for which the emitter has registered -listeners. The values in the array are strings or Symbols.

-
const EventEmitter = require('events');
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});

const sym = Symbol('symbol');
myEE.on(sym, () => {});

console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ] -
- -

v6.0.0

-
listenerCount: ((event: TEvent) => number)

Returns the number of listeners listening to the event named eventName.

-

If listener is provided, it will return how many times the listener -is found in the list of the listeners of the event.

-

v3.2.0

-
listeners: ((event: TEvent) => TFunc[])

Returns a copy of the array of listeners for the event named eventName.

-
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ] -
- -

v0.1.26

-
off: ((event: TEvent, listener: TFunc) => this)

Alias for emitter.removeListener().

-

v10.0.0

-
on: ((event: TEvent, listener: TFunc) => this)

Adds the listener function to the end of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

-
server.on('connection', (stream) => {
console.log('someone connected!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the -event listener to the beginning of the listeners array.

-
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a -
- -

Type declaration

    • (event, listener): this
    • Parameters

      Returns this

v0.1.101

-
once: ((event: TEvent, listener: TFunc) => this)

Adds a one-timelistener function for the event named eventName. The -next time eventName is triggered, this listener is removed and then invoked.

-
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the -event listener to the beginning of the listeners array.

-
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a -
- -

Type declaration

    • (event, listener): this
    • Parameters

      Returns this

v0.3.0

-
prependListener: ((event: TEvent, listener: TFunc) => this)

Adds the listener function to the beginning of the listeners array for the -event named eventName. No checks are made to see if the listener has -already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple -times.

-
server.prependListener('connection', (stream) => {
console.log('someone connected!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

Type declaration

    • (event, listener): this
    • Parameters

      Returns this

v6.0.0

-
prependOnceListener: ((event: TEvent, listener: TFunc) => this)

Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this -listener is removed, and then invoked.

-
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
}); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

Type declaration

    • (event, listener): this
    • Parameters

      Returns this

v6.0.0

-
rawListeners: ((event: TEvent) => TFunc[])

Returns a copy of the array of listeners for the event named eventName, -including any wrappers (such as those created by .once()).

-
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));

// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];

// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();

// Logs "log once" to the console and removes the listener
logFnWrapper();

emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');

// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log'); -
- -

v9.4.0

-
removeAllListeners: ((event: TEvent) => this)

Removes all listeners, or those of the specified eventName.

-

It is bad practice to remove listeners added elsewhere in the code, -particularly when the EventEmitter instance was created by some other -component or module (e.g. sockets or file streams).

-

Returns a reference to the EventEmitter, so that calls can be chained.

-

v0.1.26

-
removeListener: ((event: TEvent, listener: TFunc) => this)

Removes the specified listener from the listener array for the event namedeventName.

-
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback); -
- -

removeListener() will remove, at most, one instance of a listener from the -listener array. If any single listener has been added multiple times to the -listener array for the specified eventName, then removeListener() must be -called multiple times to remove each instance.

-

Once an event is emitted, all listeners attached to it at the -time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution -will not remove them fromemit() in progress. Subsequent events behave as expected.

-
const myEmitter = new MyEmitter();

const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};

const callbackB = () => {
console.log('B');
};

myEmitter.on('event', callbackA);

myEmitter.on('event', callbackB);

// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B

// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A -
- -

Because listeners are managed using an internal array, calling this will -change the position indices of any listener registered after the listener -being removed. This will not impact the order in which listeners are called, -but it means that any copies of the listener array as returned by -the emitter.listeners() method will need to be recreated.

-

When a single function has been added as a handler multiple times for a single -event (as in the example below), removeListener() will remove the most -recently added instance. In the example the once('ping')listener is removed:

-
const ee = new EventEmitter();

function pong() {
console.log('pong');
}

ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);

ee.emit('ping');
ee.emit('ping'); -
- -

Returns a reference to the EventEmitter, so that calls can be chained.

-

v0.1.26

-

Methods

  • Parameters

    • error: Error
    • event: string
    • Rest...args: any[]

    Returns void

  • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

    -

    Returns number

    v1.0.0

    -
  • By default EventEmitters will print a warning if more than 10 listeners are -added for a particular event. This is a useful default that helps finding -memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

    -

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
diff --git a/7.x/docs/interfaces/HttpErrorClass.html b/7.x/docs/interfaces/HttpErrorClass.html deleted file mode 100644 index 84dd68692..000000000 --- a/7.x/docs/interfaces/HttpErrorClass.html +++ /dev/null @@ -1,10 +0,0 @@ -HttpErrorClass | Community Solid Server - v7.1.0

Interface HttpErrorClass<TCode>

Interface describing what an HttpError class should look like. -This helps us make sure all HttpError classes have the same utility static functions.

-
interface HttpErrorClass<TCode> {
    new HttpErrorClassnew (message?: string, options?: HttpErrorOptions): HttpError<TCode>;
    isInstance: ((error: unknown) => error is HttpError<TCode>);
    statusCode: TCode;
    uri: NamedNode<string>;
}

Type Parameters

  • TCode extends number = number

Constructors

Properties

Constructors

Properties

isInstance: ((error: unknown) => error is HttpError<TCode>)

Checks whether the given error is an instance of this class.

-
statusCode: TCode

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-
diff --git a/7.x/docs/interfaces/HttpErrorOptions.html b/7.x/docs/interfaces/HttpErrorOptions.html deleted file mode 100644 index 424f87a8e..000000000 --- a/7.x/docs/interfaces/HttpErrorOptions.html +++ /dev/null @@ -1,4 +0,0 @@ -HttpErrorOptions | Community Solid Server - v7.1.0

Interface HttpErrorOptions

interface HttpErrorOptions {
    cause?: unknown;
    errorCode?: string;
    metadata?: RepresentationMetadata;
}

Implemented by

Properties

cause?: unknown
errorCode?: string
diff --git a/7.x/docs/interfaces/HttpHandlerInput.html b/7.x/docs/interfaces/HttpHandlerInput.html deleted file mode 100644 index 32279a5e3..000000000 --- a/7.x/docs/interfaces/HttpHandlerInput.html +++ /dev/null @@ -1,3 +0,0 @@ -HttpHandlerInput | Community Solid Server - v7.1.0

Interface HttpHandlerInput

interface HttpHandlerInput {
    request: HttpRequest;
    response: HttpResponse;
}

Hierarchy (view full)

Properties

Properties

request: HttpRequest
response: HttpResponse
diff --git a/7.x/docs/interfaces/HttpServerFactory.html b/7.x/docs/interfaces/HttpServerFactory.html deleted file mode 100644 index 2ebd563fb..000000000 --- a/7.x/docs/interfaces/HttpServerFactory.html +++ /dev/null @@ -1,3 +0,0 @@ -HttpServerFactory | Community Solid Server - v7.1.0

Interface HttpServerFactory

A factory for HTTP servers.

-
interface HttpServerFactory {
    createServer: (() => Promise<Server<typeof IncomingMessage, typeof ServerResponse>>);
}

Implemented by

Properties

Properties

createServer: (() => Promise<Server<typeof IncomingMessage, typeof ServerResponse>>)
diff --git a/7.x/docs/interfaces/IdentifierGenerator.html b/7.x/docs/interfaces/IdentifierGenerator.html deleted file mode 100644 index 77782d611..000000000 --- a/7.x/docs/interfaces/IdentifierGenerator.html +++ /dev/null @@ -1,8 +0,0 @@ -IdentifierGenerator | Community Solid Server - v7.1.0

Interface IdentifierGenerator

Utility class for generating container identifiers.

-
interface IdentifierGenerator {
    extractPod: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    generate: ((name: string) => ResourceIdentifier);
}

Implemented by

Properties

Properties

extractPod: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Extracts the root pod this identifier would be in. -This assumes the identifier of that pod was generated by the same instance of this interface.

-
generate: ((name: string) => ResourceIdentifier)

Generates container identifiers based on an input name. -This is simply string generation, no resource-related checks are run.

-
diff --git a/7.x/docs/interfaces/IdentifierStrategy.html b/7.x/docs/interfaces/IdentifierStrategy.html deleted file mode 100644 index cff74f060..000000000 --- a/7.x/docs/interfaces/IdentifierStrategy.html +++ /dev/null @@ -1,19 +0,0 @@ -IdentifierStrategy | Community Solid Server - v7.1.0

Interface IdentifierStrategy

Captures the behavior of container identifiers in a certain storage configuration.

-
interface IdentifierStrategy {
    contains: ((container: ResourceIdentifier, identifier: ResourceIdentifier, transitive: boolean) => boolean);
    getParentContainer: ((identifier: ResourceIdentifier) => ResourceIdentifier);
    isRootContainer: ((identifier: ResourceIdentifier) => boolean);
    supportsIdentifier: ((identifier: ResourceIdentifier) => boolean);
}

Implemented by

Properties

contains: ((container: ResourceIdentifier, identifier: ResourceIdentifier, transitive: boolean) => boolean)

Checks if the given container would contain the given identifier. -This does not check that either of these identifiers actually exist. -This is similar to calling getParentContainer on an identifier -and comparing the result.

-

If transitive is false this only checks if container is the direct parent container of identifier.

-
getParentContainer: ((identifier: ResourceIdentifier) => ResourceIdentifier)

Generates the identifier of the container this resource would be a member of. -This does not check if that identifier actually exists. -Will throw an error if the input identifier is a root container or is not supported.

-
isRootContainer: ((identifier: ResourceIdentifier) => boolean)

Checks if the input corresponds to the identifier of a root container. -This does not check if this identifier actually exists.

-
supportsIdentifier: ((identifier: ResourceIdentifier) => boolean)

Verifies if this identifier is supported. -This does not check if this identifier actually exists, -but checks if the identifier is in scope for this class.

-
diff --git a/7.x/docs/interfaces/IdentityProviderFactoryArgs.html b/7.x/docs/interfaces/IdentityProviderFactoryArgs.html deleted file mode 100644 index c45c9d285..000000000 --- a/7.x/docs/interfaces/IdentityProviderFactoryArgs.html +++ /dev/null @@ -1,23 +0,0 @@ -IdentityProviderFactoryArgs | Community Solid Server - v7.1.0

Interface IdentityProviderFactoryArgs

interface IdentityProviderFactoryArgs {
    adapterFactory: AdapterFactory;
    baseUrl: string;
    clientCredentialsStore: ClientCredentialsStore;
    errorHandler: ErrorHandler;
    interactionRoute: InteractionRoute<never>;
    jwkGenerator: JwkGenerator;
    oidcPath: string;
    promptFactory: PromptFactory;
    responseWriter: ResponseWriter;
    showStackTrace: boolean;
    storage: KeyValueStorage<string, string[]>;
}

Properties

adapterFactory: AdapterFactory

Factory that creates the adapter used for OIDC data storage.

-
baseUrl: string

Base URL of the server.

-
clientCredentialsStore: ClientCredentialsStore

Store containing the generated client credentials with their associated WebID.

-
errorHandler: ErrorHandler

Used to convert errors thrown by the OIDC library.

-
interactionRoute: InteractionRoute<never>

The route where requests should be redirected to in case of an OIDC interaction.

-
jwkGenerator: JwkGenerator

Generates the JWK used for signing and decryption.

-
oidcPath: string

Path for all requests targeting the OIDC library.

-
promptFactory: PromptFactory

Used to generate new prompt that are needed in addition to the defaults prompts.

-
responseWriter: ResponseWriter

Used to write out errors thrown by the OIDC library.

-
showStackTrace: boolean

Extra information will be added to the error output if this is true.

-
storage: KeyValueStorage<string, string[]>

Storage used to store cookie keys, so they can be re-used in case of multithreading.

-
diff --git a/7.x/docs/interfaces/IdentityProviderHttpHandlerArgs.html b/7.x/docs/interfaces/IdentityProviderHttpHandlerArgs.html deleted file mode 100644 index cc9c5b0ec..000000000 --- a/7.x/docs/interfaces/IdentityProviderHttpHandlerArgs.html +++ /dev/null @@ -1,7 +0,0 @@ -IdentityProviderHttpHandlerArgs | Community Solid Server - v7.1.0

Interface IdentityProviderHttpHandlerArgs

interface IdentityProviderHttpHandlerArgs {
    cookieStore: CookieStore;
    handler: InteractionHandler;
    providerFactory: ProviderFactory;
}

Properties

cookieStore: CookieStore

Used to determine the account of the requesting agent.

-

Handles the requests.

-
providerFactory: ProviderFactory

Used to generate the OIDC provider.

-
diff --git a/7.x/docs/interfaces/IndexedStorage.html b/7.x/docs/interfaces/IndexedStorage.html deleted file mode 100644 index e0d15b7b1..000000000 --- a/7.x/docs/interfaces/IndexedStorage.html +++ /dev/null @@ -1,60 +0,0 @@ -IndexedStorage | Community Solid Server - v7.1.0

Interface IndexedStorage<T>

A storage solution that allows for more complex queries than a key/value storage -and allows setting indexes on specific keys.

-
interface IndexedStorage<T> {
    create: (<TType>(type: TType, value: CreateTypeObject<T[TType]>) => Promise<TypeObject<T[TType]>>);
    createIndex: (<TType>(type: TType, key: StringKey<T[TType]>) => Promise<void>);
    defineType: (<TType>(type: TType, description: T[TType]) => Promise<void>);
    delete: (<TType>(type: TType, id: string) => Promise<void>);
    entries: (<TType>(type: TType) => AsyncIterableIterator<TypeObject<T[TType]>>);
    find: (<TType>(type: TType, query: {
        [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
            ? {
                [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
            }
            : never)
    }) => Promise<TypeObject<T[TType]>[]>);
    findIds: (<TType>(type: TType, query: {
        [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
            ? {
                [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
            }
            : never)
    }) => Promise<string[]>);
    get: (<TType>(type: TType, id: string) => Promise<undefined | TypeObject<T[TType]>>);
    has: (<TType>(type: TType, id: string) => Promise<boolean>);
    set: (<TType>(type: TType, value: TypeObject<T[TType]>) => Promise<void>);
    setField: (<TType, TKey>(type: TType, id: string, key: TKey, value: ValueType<T[TType][TKey]>) => Promise<void>);
}

Type Parameters

Implemented by

Properties

create: (<TType>(type: TType, value: CreateTypeObject<T[TType]>) => Promise<TypeObject<T[TType]>>)

Creates an object of the given type. -The storage will generate an identifier for the newly created object.

-

Type declaration

createIndex: (<TType>(type: TType, key: StringKey<T[TType]>) => Promise<void>)

Creates an index on a key of the given type, to allow for better queries involving those keys. -Similar to IndexedStorage.defineType these calls need to happen first.

-

Type declaration

    • <TType>(type, key): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type to create an index on.

        -
      • key: StringKey<T[TType]>

        The key of that type to create an index on.

        -

      Returns Promise<void>

defineType: (<TType>(type: TType, description: T[TType]) => Promise<void>)

Informs the storage of the definition of a specific type. -A definition is a key/value object with the values being a valid ValueTypeDescription. -Generally, this call needs to happen for every type of this storage, -and before any calls are made to interact with the data.

-

Type declaration

    • <TType>(type, description): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type to define.

        -
      • description: T[TType]

        A description of the values stored in objects of that type.

        -

      Returns Promise<void>

delete: (<TType>(type: TType, id: string) => Promise<void>)

Deletes the given object. -This will also delete all objects that reference that object if the corresponding key is not optional.

-

Type declaration

    • <TType>(type, id): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of the object to delete.

        -
      • id: string

        The identifier of the object.

        -

      Returns Promise<void>

entries: (<TType>(type: TType) => AsyncIterableIterator<TypeObject<T[TType]>>)

Returns an iterator over all objects of the given type.

-

Type declaration

find: (<TType>(type: TType, query: {
    [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
        ? {
            [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
        }
        : never)
}) => Promise<TypeObject<T[TType]>[]>)

Finds all objects matching a specific IndexedQuery.

-

Type declaration

    • <TType>(type, query): Promise<TypeObject<T[TType]>[]>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of objects to find.

        -
      • query: {
            [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
                ? {
                    [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
                }
                : never)
        }

        The query to execute.

        -

      Returns Promise<TypeObject<T[TType]>[]>

      A list of objects matching the query.

      -
findIds: (<TType>(type: TType, query: {
    [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
        ? {
            [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
        }
        : never)
}) => Promise<string[]>)

Similar to IndexedStorage.find, but only returns the identifiers of the found objects.

-

Type declaration

    • <TType>(type, query): Promise<string[]>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of objects to find.

        -
      • query: {
            [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
                ? {
                    [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
                }
                : never)
        }

        The query to execute.

        -

      Returns Promise<string[]>

      A list of identifiers of the matching objects.

      -
get: (<TType>(type: TType, id: string) => Promise<undefined | TypeObject<T[TType]>>)

Returns the object of the given type with the given identifier.

-

Type declaration

    • <TType>(type, id): Promise<undefined | TypeObject<T[TType]>>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of object to get.

        -
      • id: string

        The identifier of that object.

        -

      Returns Promise<undefined | TypeObject<T[TType]>>

      A representation of the object, or undefined if there is no object of that type with that identifier.

      -
has: (<TType>(type: TType, id: string) => Promise<boolean>)

Returns true if the object of the given type with the given identifier exists.

-

Type declaration

    • <TType>(type, id): Promise<boolean>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of object to get.

        -
      • id: string

        The identifier of that object.

        -

      Returns Promise<boolean>

      Whether this object exists.

      -
set: (<TType>(type: TType, value: TypeObject<T[TType]>) => Promise<void>)

Sets the value of a specific object. -The identifier in the object is used to identify the object.

-

Type declaration

    • <TType>(type, value): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      Returns Promise<void>

setField: (<TType, TKey>(type: TType, id: string, key: TKey, value: ValueType<T[TType][TKey]>) => Promise<void>)

Sets the value of one specific field in an object.

-

Type declaration

    • <TType, TKey>(type, id, key, value): Promise<void>
    • Type Parameters

      • TType extends string
      • TKey extends string

      Parameters

      • type: TType

        The type of the object to update.

        -
      • id: string

        The identifier of the object to update.

        -
      • key: TKey

        The key to update.

        -
      • value: ValueType<T[TType][TKey]>

        The new value for the given key.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/Initializable.html b/7.x/docs/interfaces/Initializable.html deleted file mode 100644 index a1e1a0c11..000000000 --- a/7.x/docs/interfaces/Initializable.html +++ /dev/null @@ -1,5 +0,0 @@ -Initializable | Community Solid Server - v7.1.0

Allows for initializing state or executing logic when the application is started. -Use this interface to add initialization logic to classes that already extend some other type. -NOTE: classes without an existing extends-relation should extend from Initializer instead!

-
interface Initializable {
    initialize: (() => Promise<void>);
}

Implemented by

Properties

Properties

initialize: (() => Promise<void>)
diff --git a/7.x/docs/interfaces/InteractionHandlerInput.html b/7.x/docs/interfaces/InteractionHandlerInput.html deleted file mode 100644 index 2271d6941..000000000 --- a/7.x/docs/interfaces/InteractionHandlerInput.html +++ /dev/null @@ -1,8 +0,0 @@ -InteractionHandlerInput | Community Solid Server - v7.1.0

Interface InteractionHandlerInput

interface InteractionHandlerInput {
    accountId?: string;
    oidcInteraction?: Interaction;
    operation: Operation;
}

Properties

accountId?: string

The account id of the agent doing the request if one could be found.

-
oidcInteraction?: Interaction

Will be defined if the OIDC library expects us to resolve an interaction it can't handle itself, -such as logging a user in.

-
operation: Operation

The operation to execute.

-
diff --git a/7.x/docs/interfaces/InteractionRoute.html b/7.x/docs/interfaces/InteractionRoute.html deleted file mode 100644 index 957f849f7..000000000 --- a/7.x/docs/interfaces/InteractionRoute.html +++ /dev/null @@ -1,13 +0,0 @@ -InteractionRoute | Community Solid Server - v7.1.0

Interface InteractionRoute<T>

Routes are used to handle the pathing for API calls.

-

They can have dynamic values in the paths they support. -Typings are used to indicate the keys used to indicate what the corresponding values are.

-
interface InteractionRoute<T> {
    getPath: ((parameters?: Record<T, string>) => string);
    matchPath: ((path: string) => undefined | Record<T, string>);
}

Type Parameters

  • T extends string = never

Implemented by

Properties

Properties

getPath: ((parameters?: Record<T, string>) => string)

Returns the path that is the result of having the specified values for the dynamic parameters.

-

Will throw an error in case the input parameters object is missing one of the expected keys.

-

Type declaration

    • (parameters?): string
    • Parameters

      • Optionalparameters: Record<T, string>

        Values for the dynamic parameters.

        -

      Returns string

matchPath: ((path: string) => undefined | Record<T, string>)

Checks if the provided path matches the route (pattern).

-

The result will be undefined if there is no match.

-

If there is a match the result object will have the corresponding values for all the parameters.

-

Type declaration

    • (path): undefined | Record<T, string>
    • Parameters

      • path: string

        The path to verify.

        -

      Returns undefined | Record<T, string>

diff --git a/7.x/docs/interfaces/JsonInteractionHandlerInput.html b/7.x/docs/interfaces/JsonInteractionHandlerInput.html deleted file mode 100644 index eaf570900..000000000 --- a/7.x/docs/interfaces/JsonInteractionHandlerInput.html +++ /dev/null @@ -1,14 +0,0 @@ -JsonInteractionHandlerInput | Community Solid Server - v7.1.0

Interface JsonInteractionHandlerInput

interface JsonInteractionHandlerInput {
    accountId?: string;
    json: unknown;
    metadata: RepresentationMetadata;
    method: string;
    oidcInteraction?: Interaction;
    target: ResourceIdentifier;
}

Properties

accountId?: string

The account id of the agent doing the request if one could be found.

-
json: unknown

The JSON body of the request.

-

The metadata of the request.

-
method: string

The operation to execute.

-
oidcInteraction?: Interaction

Will be defined if the OIDC library expects us to resolve an interaction it can't handle itself, -such as logging a user in.

-

The resource that is being targeted.

-
diff --git a/7.x/docs/interfaces/JsonRepresentation.html b/7.x/docs/interfaces/JsonRepresentation.html deleted file mode 100644 index 2d11786d4..000000000 --- a/7.x/docs/interfaces/JsonRepresentation.html +++ /dev/null @@ -1,6 +0,0 @@ -JsonRepresentation | Community Solid Server - v7.1.0

Interface JsonRepresentation<T>

Contains a JSON object and any associated metadata. -Similar to a Representation but with all the data in memory instead of as a stream -and specific to JSON.

-
interface JsonRepresentation<T> {
    json: T;
    metadata?: RepresentationMetadata;
}

Type Parameters

Properties

Properties

json: T
diff --git a/7.x/docs/interfaces/JsonView.html b/7.x/docs/interfaces/JsonView.html deleted file mode 100644 index 8afc7e753..000000000 --- a/7.x/docs/interfaces/JsonView.html +++ /dev/null @@ -1,4 +0,0 @@ -JsonView | Community Solid Server - v7.1.0

An interface that can be used by classes that can provide a view besides doing an action. -Designed to be used by a JsonInteractionHandler that has a view explaining what JSON input it supports.

-
interface JsonView {
    getView: ((input: JsonInteractionHandlerInput) => Promise<JsonRepresentation<Dict<Json>>>);
}

Implemented by

Properties

Properties

getView: ((input: JsonInteractionHandlerInput) => Promise<JsonRepresentation<Dict<Json>>>)
diff --git a/7.x/docs/interfaces/JwkGenerator.html b/7.x/docs/interfaces/JwkGenerator.html deleted file mode 100644 index 337f21184..000000000 --- a/7.x/docs/interfaces/JwkGenerator.html +++ /dev/null @@ -1,9 +0,0 @@ -JwkGenerator | Community Solid Server - v7.1.0

Generates an asymmetric JWK.

-

The functions always need to return the same value.

-
interface JwkGenerator {
    alg: AsymmetricSigningAlgorithm;
    getPrivateKey: (() => Promise<AlgJwk>);
    getPublicKey: (() => Promise<AlgJwk>);
}

Implemented by

Properties

alg: AsymmetricSigningAlgorithm

The algorithm used for the keys.

-
getPrivateKey: (() => Promise<AlgJwk>)

Type declaration

    • (): Promise<AlgJwk>
    • Returns Promise<AlgJwk>

      The private key of the asymmetric JWK.

      -
getPublicKey: (() => Promise<AlgJwk>)

Type declaration

    • (): Promise<AlgJwk>
    • Returns Promise<AlgJwk>

      The public key of the asymmetric JWK.

      -
diff --git a/7.x/docs/interfaces/KeyValueStorage.html b/7.x/docs/interfaces/KeyValueStorage.html deleted file mode 100644 index 3a3f3e3e1..000000000 --- a/7.x/docs/interfaces/KeyValueStorage.html +++ /dev/null @@ -1,19 +0,0 @@ -KeyValueStorage | Community Solid Server - v7.1.0

Interface KeyValueStorage<TKey, TValue>

A simple storage solution that can be used for internal values that need to be stored. -To prevent potential issues, keys should be urlencoded before calling the storage.

-
interface KeyValueStorage<TKey, TValue> {
    delete: ((key: TKey) => Promise<boolean>);
    entries: (() => AsyncIterableIterator<[TKey, TValue]>);
    get: ((key: TKey) => Promise<undefined | TValue>);
    has: ((key: TKey) => Promise<boolean>);
    set: ((key: TKey, value: TValue) => Promise<KeyValueStorage<TKey, TValue>>);
}

Type Parameters

  • TKey
  • TValue

Hierarchy (view full)

Implemented by

Properties

Properties

delete: ((key: TKey) => Promise<boolean>)

Deletes the value stored for the given key.

-

Type declaration

    • (key): Promise<boolean>
    • Parameters

      • key: TKey

        Key to delete.

        -

      Returns Promise<boolean>

      If there was a value to delete.

      -
entries: (() => AsyncIterableIterator<[TKey, TValue]>)

An iterable of entries in the storage.

-
get: ((key: TKey) => Promise<undefined | TValue>)

Returns the value stored for the given identifier. -undefined if no value is stored.

-
has: ((key: TKey) => Promise<boolean>)

Checks whether there is a value stored for the given key.

-
set: ((key: TKey, value: TValue) => Promise<KeyValueStorage<TKey, TValue>>)

Sets the value for the given key.

-

Type declaration

diff --git a/7.x/docs/interfaces/LinkWebIdHandlerArgs.html b/7.x/docs/interfaces/LinkWebIdHandlerArgs.html deleted file mode 100644 index ef182f0a3..000000000 --- a/7.x/docs/interfaces/LinkWebIdHandlerArgs.html +++ /dev/null @@ -1,14 +0,0 @@ -LinkWebIdHandlerArgs | Community Solid Server - v7.1.0

Interface LinkWebIdHandlerArgs

interface LinkWebIdHandlerArgs {
    baseUrl: string;
    ownershipValidator: OwnershipValidator;
    podStore: PodStore;
    storageStrategy: StorageLocationStrategy;
    webIdRoute: WebIdLinkRoute;
    webIdStore: WebIdStore;
}

Properties

baseUrl: string

Base URL of the server. -Used to indicate in the response what the object of the solid:oidcIssuer triple should be.

-
ownershipValidator: OwnershipValidator

Validates whether the user trying to link the WebID is the actual owner of that WebID.

-
podStore: PodStore

Pod store to find out if the account created the pod containing the WebID.

-
storageStrategy: StorageLocationStrategy

Before calling the OwnershipValidator, we first check if the target WebID is in a pod owned by the user.

-
webIdRoute: WebIdLinkRoute

Route used to generate the WebID link resource URL.

-
webIdStore: WebIdStore

WebID store to store WebID links.

-
diff --git a/7.x/docs/interfaces/LogMetadata.html b/7.x/docs/interfaces/LogMetadata.html deleted file mode 100644 index d32b83dcb..000000000 --- a/7.x/docs/interfaces/LogMetadata.html +++ /dev/null @@ -1,5 +0,0 @@ -LogMetadata | Community Solid Server - v7.1.0
interface LogMetadata {
    isPrimary: boolean;
    pid: number;
}

Properties

Properties

isPrimary: boolean

Is the current process the Primary process

-
pid: number

The process id of the current process

-
diff --git a/7.x/docs/interfaces/Logger.html b/7.x/docs/interfaces/Logger.html deleted file mode 100644 index 87e76f65d..000000000 --- a/7.x/docs/interfaces/Logger.html +++ /dev/null @@ -1,27 +0,0 @@ -Logger | Community Solid Server - v7.1.0

Logs messages, with convenience methods to log on a specific level.

-

getLoggerFor on how to instantiate loggers.

-
interface Logger {
    debug: ((message: string) => Logger);
    error: ((message: string) => Logger);
    info: ((message: string) => Logger);
    log: ((level:
        | "error"
        | "warn"
        | "info"
        | "verbose"
        | "debug"
        | "silly", message: string, meta?: LogMetadata) => Logger);
    silly: ((message: string) => Logger);
    verbose: ((message: string) => Logger);
    warn: ((message: string) => Logger);
}

Hierarchy (view full)

Implemented by

Properties

Properties

debug: ((message: string) => Logger)

Log a message at the 'debug' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

error: ((message: string) => Logger)

Log a message at the 'error' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

info: ((message: string) => Logger)

Log a message at the 'info' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

log: ((level:
    | "error"
    | "warn"
    | "info"
    | "verbose"
    | "debug"
    | "silly", message: string, meta?: LogMetadata) => Logger)

Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

-

Type declaration

    • (level, message, meta?): Logger
    • Parameters

      • level:
            | "error"
            | "warn"
            | "info"
            | "verbose"
            | "debug"
            | "silly"

        The level to log at.

        -
      • message: string

        The message to log.

        -
      • Optionalmeta: LogMetadata

        Optional metadata to include in the log message.

        -

      Returns Logger

silly: ((message: string) => Logger)

Log a message at the 'silly' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

verbose: ((message: string) => Logger)

Log a message at the 'verbose' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

warn: ((message: string) => Logger)

Log a message at the 'warn' level.

-

Type declaration

    • (message): Logger
    • Parameters

      • message: string

        The message to log.

        -

      Returns Logger

diff --git a/7.x/docs/interfaces/LoggerFactory.html b/7.x/docs/interfaces/LoggerFactory.html deleted file mode 100644 index 32d75af0b..000000000 --- a/7.x/docs/interfaces/LoggerFactory.html +++ /dev/null @@ -1,5 +0,0 @@ -LoggerFactory | Community Solid Server - v7.1.0

Instantiates new logger instances.

-
interface LoggerFactory {
    createLogger: ((label: string) => Logger);
}

Implemented by

Properties

Properties

createLogger: ((label: string) => Logger)

Create a logger instance for the given label.

-

Type declaration

    • (label): Logger
    • Parameters

      • label: string

        A label that is used to identify the given logger.

        -

      Returns Logger

diff --git a/7.x/docs/interfaces/LoginStorage.html b/7.x/docs/interfaces/LoginStorage.html deleted file mode 100644 index f896d5744..000000000 --- a/7.x/docs/interfaces/LoginStorage.html +++ /dev/null @@ -1,61 +0,0 @@ -LoginStorage | Community Solid Server - v7.1.0

Interface LoginStorage<T>

A IndexedStorage where the defineType function -takes an extra parameter to indicate if the type corresponds to a login method. -This is useful for storages that want to add extra requirements based on the data being edited.

-

In practice, we use this because we want to require accounts to have at least 1 login method.

-
interface LoginStorage<T> {
    create: (<TType>(type: TType, value: CreateTypeObject<T[TType]>) => Promise<TypeObject<T[TType]>>);
    createIndex: (<TType>(type: TType, key: StringKey<T[TType]>) => Promise<void>);
    defineType: (<TType>(type: TType, description: T[TType], isLogin: boolean) => Promise<void>);
    delete: (<TType>(type: TType, id: string) => Promise<void>);
    entries: (<TType>(type: TType) => AsyncIterableIterator<TypeObject<T[TType]>>);
    find: (<TType>(type: TType, query: {
        [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
            ? {
                [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
            }
            : never)
    }) => Promise<TypeObject<T[TType]>[]>);
    findIds: (<TType>(type: TType, query: {
        [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
            ? {
                [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
            }
            : never)
    }) => Promise<string[]>);
    get: (<TType>(type: TType, id: string) => Promise<undefined | TypeObject<T[TType]>>);
    has: (<TType>(type: TType, id: string) => Promise<boolean>);
    set: (<TType>(type: TType, value: TypeObject<T[TType]>) => Promise<void>);
    setField: (<TType, TKey>(type: TType, id: string, key: TKey, value: ValueType<T[TType][TKey]>) => Promise<void>);
}

Type Parameters

Hierarchy

Implemented by

Properties

create: (<TType>(type: TType, value: CreateTypeObject<T[TType]>) => Promise<TypeObject<T[TType]>>)

Creates an object of the given type. -The storage will generate an identifier for the newly created object.

-

Type declaration

createIndex: (<TType>(type: TType, key: StringKey<T[TType]>) => Promise<void>)

Creates an index on a key of the given type, to allow for better queries involving those keys. -Similar to IndexedStorage.defineType these calls need to happen first.

-

Type declaration

    • <TType>(type, key): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type to create an index on.

        -
      • key: StringKey<T[TType]>

        The key of that type to create an index on.

        -

      Returns Promise<void>

defineType: (<TType>(type: TType, description: T[TType], isLogin: boolean) => Promise<void>)

Defines a type in the storage, just like in an IndexedStorage, -but additionally it needs to be indicated if the type corresponds to a login method or not.

-

Type declaration

    • <TType>(type, description, isLogin): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        Type to define.

        -
      • description: T[TType]

        Description of the type.

        -
      • isLogin: boolean

        Whether this type corresponds to a login method or not.

        -

      Returns Promise<void>

delete: (<TType>(type: TType, id: string) => Promise<void>)

Deletes the given object. -This will also delete all objects that reference that object if the corresponding key is not optional.

-

Type declaration

    • <TType>(type, id): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of the object to delete.

        -
      • id: string

        The identifier of the object.

        -

      Returns Promise<void>

entries: (<TType>(type: TType) => AsyncIterableIterator<TypeObject<T[TType]>>)

Returns an iterator over all objects of the given type.

-

Type declaration

find: (<TType>(type: TType, query: {
    [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
        ? {
            [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
        }
        : never)
}) => Promise<TypeObject<T[TType]>[]>)

Finds all objects matching a specific IndexedQuery.

-

Type declaration

    • <TType>(type, query): Promise<TypeObject<T[TType]>[]>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of objects to find.

        -
      • query: {
            [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
                ? {
                    [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
                }
                : never)
        }

        The query to execute.

        -

      Returns Promise<TypeObject<T[TType]>[]>

      A list of objects matching the query.

      -
findIds: (<TType>(type: TType, query: {
    [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
        ? {
            [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
        }
        : never)
}) => Promise<string[]>)

Similar to IndexedStorage.find, but only returns the identifiers of the found objects.

-

Type declaration

    • <TType>(type, query): Promise<string[]>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of objects to find.

        -
      • query: {
            [K in string | number | symbol]?: ValueType<T[TType][K]> | (T[TType][K] extends `id:${U}`
                ? {
                    [K in string | number | symbol]?: (ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<T[U][K]> | (T[U][K] extends `id:${infer U}` ? { [K in "id" | keyof T[U]]?: ValueType<...> | ... 1 more ... | undefined; } : never) | undefined; } : never) | undefined)
                }
                : never)
        }

        The query to execute.

        -

      Returns Promise<string[]>

      A list of identifiers of the matching objects.

      -
get: (<TType>(type: TType, id: string) => Promise<undefined | TypeObject<T[TType]>>)

Returns the object of the given type with the given identifier.

-

Type declaration

    • <TType>(type, id): Promise<undefined | TypeObject<T[TType]>>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of object to get.

        -
      • id: string

        The identifier of that object.

        -

      Returns Promise<undefined | TypeObject<T[TType]>>

      A representation of the object, or undefined if there is no object of that type with that identifier.

      -
has: (<TType>(type: TType, id: string) => Promise<boolean>)

Returns true if the object of the given type with the given identifier exists.

-

Type declaration

    • <TType>(type, id): Promise<boolean>
    • Type Parameters

      • TType extends string

      Parameters

      • type: TType

        The type of object to get.

        -
      • id: string

        The identifier of that object.

        -

      Returns Promise<boolean>

      Whether this object exists.

      -
set: (<TType>(type: TType, value: TypeObject<T[TType]>) => Promise<void>)

Sets the value of a specific object. -The identifier in the object is used to identify the object.

-

Type declaration

    • <TType>(type, value): Promise<void>
    • Type Parameters

      • TType extends string

      Parameters

      Returns Promise<void>

setField: (<TType, TKey>(type: TType, id: string, key: TKey, value: ValueType<T[TType][TKey]>) => Promise<void>)

Sets the value of one specific field in an object.

-

Type declaration

    • <TType, TKey>(type, id, key, value): Promise<void>
    • Type Parameters

      • TType extends string
      • TKey extends string

      Parameters

      • type: TType

        The type of the object to update.

        -
      • id: string

        The identifier of the object to update.

        -
      • key: TKey

        The key to update.

        -
      • value: ValueType<T[TType][TKey]>

        The new value for the given key.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/MetadataWriterInput.html b/7.x/docs/interfaces/MetadataWriterInput.html deleted file mode 100644 index c07c020a2..000000000 --- a/7.x/docs/interfaces/MetadataWriterInput.html +++ /dev/null @@ -1,3 +0,0 @@ -MetadataWriterInput | Community Solid Server - v7.1.0

Interface MetadataWriterInput

interface MetadataWriterInput {
    metadata: RepresentationMetadata;
    response: HttpResponse;
}

Properties

Properties

response: HttpResponse
diff --git a/7.x/docs/interfaces/NotificationChannel.html b/7.x/docs/interfaces/NotificationChannel.html deleted file mode 100644 index bc5896c2d..000000000 --- a/7.x/docs/interfaces/NotificationChannel.html +++ /dev/null @@ -1,30 +0,0 @@ -NotificationChannel | Community Solid Server - v7.1.0

Interface NotificationChannel

Internal representation of a notification channel. -Most of the fields are those defined in -https://solidproject.org/TR/2022/notifications-protocol-20221231#notification-channel-data-model

-

We only support notification channels with a single topic.

-
interface NotificationChannel {
    accept?: string;
    endAt?: number;
    id: string;
    lastEmit?: number;
    rate?: number;
    receiveFrom?: string;
    sendTo?: string;
    sender?: string;
    startAt?: number;
    state?: string;
    topic: string;
    type: string;
}

Hierarchy (view full)

Properties

accept?: string

The media type in which the receiver expects the notifications.

-
endAt?: number

When the channel should stop existing, in milliseconds since epoch.

-
id: string

The unique identifier of the channel.

-
lastEmit?: number

Internal value that we use to track when this channel last sent a notification.

-
rate?: number

The minimal time required between notifications, in milliseconds.

-
receiveFrom?: string

The resource receivers can use to establish a connection and receive notifications.

-
sendTo?: string

The resource on the receiver where notifications can be sent.

-
sender?: string

Can be used to identify the sender.

-
startAt?: number

When the channel should start sending notifications, in milliseconds since epoch.

-
state?: string

The state parameter sent by the receiver. -This is used to send a notification when the channel is established and the topic resource has a different state.

-
topic: string

The resource this channel sends notifications about.

-
type: string

The channel type.

-
diff --git a/7.x/docs/interfaces/NotificationChannelStorage.html b/7.x/docs/interfaces/NotificationChannelStorage.html deleted file mode 100644 index 0fd0ddddd..000000000 --- a/7.x/docs/interfaces/NotificationChannelStorage.html +++ /dev/null @@ -1,23 +0,0 @@ -NotificationChannelStorage | Community Solid Server - v7.1.0

Interface NotificationChannelStorage

Stores all the information necessary to keep track of notification channels. -Besides the standard channel info it also stores features specific to a certain channel type.

-

This storage assumes that a channel can only have a single identifier as its topic.

-
interface NotificationChannelStorage {
    add: ((channel: NotificationChannel) => Promise<void>);
    delete: ((id: string) => Promise<boolean>);
    get: ((id: string) => Promise<undefined | NotificationChannel>);
    getAll: ((topic: ResourceIdentifier) => Promise<string[]>);
    update: ((channel: NotificationChannel) => Promise<void>);
}

Implemented by

Properties

Properties

add: ((channel: NotificationChannel) => Promise<void>)

Adds the given channel to the storage.

-

Type declaration

    • (channel): Promise<void>
    • Parameters

      Returns Promise<void>

delete: ((id: string) => Promise<boolean>)

Deletes the given notification channel from the storage. -Returns true if the channel existed.

-

Type declaration

    • (id): Promise<boolean>
    • Parameters

      • id: string

        The identifier of the notification channel

        -

      Returns Promise<boolean>

get: ((id: string) => Promise<undefined | NotificationChannel>)

Returns the requested channel. -undefined if no match was found or if the notification channel expired.

-

Type declaration

getAll: ((topic: ResourceIdentifier) => Promise<string[]>)

Returns the identifiers of all notification channel entries that have the given identifier as their topic. -The identifiers can potentially correspond to expired channels.

-

Type declaration

    • (topic): Promise<string[]>
    • Parameters

      Returns Promise<string[]>

update: ((channel: NotificationChannel) => Promise<void>)

Updates the given notification channel. -The id and the topic can not be updated.

-

Type declaration

    • (channel): Promise<void>
    • Parameters

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/NotificationChannelType.html b/7.x/docs/interfaces/NotificationChannelType.html deleted file mode 100644 index 2f960d00b..000000000 --- a/7.x/docs/interfaces/NotificationChannelType.html +++ /dev/null @@ -1,22 +0,0 @@ -NotificationChannelType | Community Solid Server - v7.1.0

Interface NotificationChannelType

A specific channel type as defined at -https://solidproject.org/TR/2022/notifications-protocol-20221231#notification-channel-types.

-

All functions that take a NotificationChannel as input -only need to support channels generated by an initChannel on the same class.

-
interface NotificationChannelType {
    completeChannel: ((channel: NotificationChannel) => Promise<void>);
    extractModes: ((channel: NotificationChannel) => Promise<AccessMap>);
    getDescription: (() => SubscriptionService);
    initChannel: ((data: Store<Quad, Quad, Quad, Quad>, credentials: Credentials) => Promise<NotificationChannel>);
    toJsonLd: ((channel: NotificationChannel) => Promise<Record<string, unknown>>);
}

Implemented by

Properties

completeChannel: ((channel: NotificationChannel) => Promise<void>)

This function will be called after the serialized channel is sent back as a response, -allowing for any final actions that need to happen.

-

Type declaration

    • (channel): Promise<void>
    • Parameters

      Returns Promise<void>

extractModes: ((channel: NotificationChannel) => Promise<AccessMap>)

Determines which modes are required to allow the given notification channel.

-

Type declaration

getDescription: (() => SubscriptionService)

Returns the SubscriptionService that describes how to subscribe to this channel type.

-
initChannel: ((data: Store<Quad, Quad, Quad, Quad>, credentials: Credentials) => Promise<NotificationChannel>)

Validate and convert the input quads into a NotificationChannel.

-

Type declaration

toJsonLd: ((channel: NotificationChannel) => Promise<Record<string, unknown>>)

Converts a NotificationChannel to a serialized JSON-LD representation.

-

Type declaration

    • (channel): Promise<Record<string, unknown>>
    • Parameters

      Returns Promise<Record<string, unknown>>

diff --git a/7.x/docs/interfaces/NotificationEmitterInput.html b/7.x/docs/interfaces/NotificationEmitterInput.html deleted file mode 100644 index 849c34791..000000000 --- a/7.x/docs/interfaces/NotificationEmitterInput.html +++ /dev/null @@ -1,3 +0,0 @@ -NotificationEmitterInput | Community Solid Server - v7.1.0

Interface NotificationEmitterInput

interface NotificationEmitterInput {
    channel: NotificationChannel;
    representation: Representation;
}

Properties

Properties

representation: Representation
diff --git a/7.x/docs/interfaces/NotificationHandlerInput.html b/7.x/docs/interfaces/NotificationHandlerInput.html deleted file mode 100644 index f421eb12d..000000000 --- a/7.x/docs/interfaces/NotificationHandlerInput.html +++ /dev/null @@ -1,5 +0,0 @@ -NotificationHandlerInput | Community Solid Server - v7.1.0

Interface NotificationHandlerInput

interface NotificationHandlerInput {
    activity?:
        | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
        | NamedNode<"https://www.w3.org/ns/activitystreams#object">
        | NamedNode<"https://www.w3.org/ns/activitystreams#target">
        | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
        | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
        | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
        | NamedNode<"https://www.w3.org/ns/activitystreams#Update">;
    channel: NotificationChannel;
    metadata?: RepresentationMetadata;
    topic: ResourceIdentifier;
}

Properties

activity?:
    | NamedNode<"https://www.w3.org/ns/activitystreams#Create">
    | NamedNode<"https://www.w3.org/ns/activitystreams#object">
    | NamedNode<"https://www.w3.org/ns/activitystreams#target">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Add">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Delete">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Remove">
    | NamedNode<"https://www.w3.org/ns/activitystreams#Update">
diff --git a/7.x/docs/interfaces/NotificationSerializerInput.html b/7.x/docs/interfaces/NotificationSerializerInput.html deleted file mode 100644 index 942ba894a..000000000 --- a/7.x/docs/interfaces/NotificationSerializerInput.html +++ /dev/null @@ -1,3 +0,0 @@ -NotificationSerializerInput | Community Solid Server - v7.1.0

Interface NotificationSerializerInput

interface NotificationSerializerInput {
    channel: NotificationChannel;
    notification: Notification;
}

Properties

Properties

notification: Notification
diff --git a/7.x/docs/interfaces/NotificationSubscriberArgs.html b/7.x/docs/interfaces/NotificationSubscriberArgs.html deleted file mode 100644 index 3cff35856..000000000 --- a/7.x/docs/interfaces/NotificationSubscriberArgs.html +++ /dev/null @@ -1,18 +0,0 @@ -NotificationSubscriberArgs | Community Solid Server - v7.1.0

Interface NotificationSubscriberArgs

Properties

authorizer: Authorizer

Used to determine if the request has the necessary permissions.

-

The NotificationChannelType with all the necessary information.

-

RepresentationConverter used to convert input data into RDF.

-
credentialsExtractor: CredentialsExtractor

Used to extract the credentials from the request.

-
maxDuration?: number

Overrides the expiration feature of channels, by making sure they always expire after the maxDuration value. -If the expiration of the channel is shorter than maxDuration, the original value will be kept. -Value is set in minutes. 0 is infinite. -Defaults to 20160 minutes, which is 2 weeks.

-
permissionReader: PermissionReader

Used to determine which permissions the found credentials have.

-

Storage used to store the channels.

-
diff --git a/7.x/docs/interfaces/OAuthErrorFields.html b/7.x/docs/interfaces/OAuthErrorFields.html deleted file mode 100644 index e30d6fb01..000000000 --- a/7.x/docs/interfaces/OAuthErrorFields.html +++ /dev/null @@ -1,9 +0,0 @@ -OAuthErrorFields | Community Solid Server - v7.1.0

Interface OAuthErrorFields

These are the fields that can occur in an OAuth error response as described in RFC 6749, §4.1.2.1. -https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1

-

This interface is identical to the ErrorOut interface of the oidc-provider library, -but having our own version reduces the part of the codebase that is dependent on that library.

-
interface OAuthErrorFields {
    error: string;
    error_description?: string;
    scope?: string;
    state?: string;
}

Properties

error: string
error_description?: string
scope?: string
state?: string
diff --git a/7.x/docs/interfaces/Operation.html b/7.x/docs/interfaces/Operation.html deleted file mode 100644 index 4c4a975e4..000000000 --- a/7.x/docs/interfaces/Operation.html +++ /dev/null @@ -1,12 +0,0 @@ -Operation | Community Solid Server - v7.1.0

A single REST operation.

-
interface Operation {
    body: Representation;
    conditions?: Conditions;
    method: string;
    preferences: RepresentationPreferences;
    target: ResourceIdentifier;
}

Properties

Representation of the body and metadata headers.

-
conditions?: Conditions

Conditions the resource must fulfill for a valid operation.

-
method: string

The HTTP method (GET/POST/PUT/PATCH/DELETE/etc.).

-

Representation preferences of the response. Will be empty if there are none.

-

Identifier of the target.

-
diff --git a/7.x/docs/interfaces/OperationHandlerInput.html b/7.x/docs/interfaces/OperationHandlerInput.html deleted file mode 100644 index 3052e0d34..000000000 --- a/7.x/docs/interfaces/OperationHandlerInput.html +++ /dev/null @@ -1,2 +0,0 @@ -OperationHandlerInput | Community Solid Server - v7.1.0

Interface OperationHandlerInput

interface OperationHandlerInput {
    operation: Operation;
}

Properties

Properties

operation: Operation
diff --git a/7.x/docs/interfaces/OperationHttpHandlerInput.html b/7.x/docs/interfaces/OperationHttpHandlerInput.html deleted file mode 100644 index e768a6861..000000000 --- a/7.x/docs/interfaces/OperationHttpHandlerInput.html +++ /dev/null @@ -1,4 +0,0 @@ -OperationHttpHandlerInput | Community Solid Server - v7.1.0

Interface OperationHttpHandlerInput

interface OperationHttpHandlerInput {
    operation: Operation;
    request: HttpRequest;
    response: HttpResponse;
}

Hierarchy (view full)

Properties

Properties

operation: Operation
request: HttpRequest
response: HttpResponse
diff --git a/7.x/docs/interfaces/OriginalUrlExtractorArgs.html b/7.x/docs/interfaces/OriginalUrlExtractorArgs.html deleted file mode 100644 index 0e4b6745a..000000000 --- a/7.x/docs/interfaces/OriginalUrlExtractorArgs.html +++ /dev/null @@ -1,5 +0,0 @@ -OriginalUrlExtractorArgs | Community Solid Server - v7.1.0

Interface OriginalUrlExtractorArgs

interface OriginalUrlExtractorArgs {
    identifierStrategy: IdentifierStrategy;
    includeQueryString?: boolean;
}

Properties

identifierStrategy: IdentifierStrategy

The IdentifierStrategy to use for checking the scope of the request

-
includeQueryString?: boolean

Specify whether the OriginalUrlExtractor should include the request query string.

-
diff --git a/7.x/docs/interfaces/ParsingHttpHandlerArgs.html b/7.x/docs/interfaces/ParsingHttpHandlerArgs.html deleted file mode 100644 index 3e703d4dd..000000000 --- a/7.x/docs/interfaces/ParsingHttpHandlerArgs.html +++ /dev/null @@ -1,9 +0,0 @@ -ParsingHttpHandlerArgs | Community Solid Server - v7.1.0

Interface ParsingHttpHandlerArgs

interface ParsingHttpHandlerArgs {
    errorHandler: ErrorHandler;
    operationHandler: OperationHttpHandler;
    requestParser: RequestParser;
    responseWriter: ResponseWriter;
}

Properties

errorHandler: ErrorHandler

Converts errors to a serializable format.

-
operationHandler: OperationHttpHandler

Handler to send the operation to.

-
requestParser: RequestParser

Parses the incoming requests.

-
responseWriter: ResponseWriter

Writes out the response of the operation.

-
diff --git a/7.x/docs/interfaces/PasswordLoginHandlerArgs.html b/7.x/docs/interfaces/PasswordLoginHandlerArgs.html deleted file mode 100644 index 168f417bd..000000000 --- a/7.x/docs/interfaces/PasswordLoginHandlerArgs.html +++ /dev/null @@ -1,4 +0,0 @@ -PasswordLoginHandlerArgs | Community Solid Server - v7.1.0
diff --git a/7.x/docs/interfaces/PasswordStore.html b/7.x/docs/interfaces/PasswordStore.html deleted file mode 100644 index c443d004a..000000000 --- a/7.x/docs/interfaces/PasswordStore.html +++ /dev/null @@ -1,34 +0,0 @@ -PasswordStore | Community Solid Server - v7.1.0

Responsible for storing everything related to email/password based login combinations.

-
interface PasswordStore {
    authenticate: ((email: string, password: string) => Promise<{
        accountId: string;
        id: string;
    }>);
    confirmVerification: ((id: string) => Promise<void>);
    create: ((email: string, accountId: string, password: string) => Promise<string>);
    delete: ((id: string) => Promise<void>);
    findByAccount: ((accountId: string) => Promise<{
        email: string;
        id: string;
    }[]>);
    findByEmail: ((email: string) => Promise<undefined | {
        accountId: string;
        id: string;
    }>);
    get: ((id: string) => Promise<undefined | {
        accountId: string;
        email: string;
    }>);
    update: ((id: string, password: string) => Promise<void>);
}

Implemented by

Properties

authenticate: ((email: string, password: string) => Promise<{
    accountId: string;
    id: string;
}>)

Authenticate if the email and password are correct and return the account and login ID if they are. -Throw an error if they are not.

-

Type declaration

    • (email, password): Promise<{
          accountId: string;
          id: string;
      }>
    • Parameters

      • email: string

        The user's email.

        -
      • password: string

        This user's password.

        -

      Returns Promise<{
          accountId: string;
          id: string;
      }>

confirmVerification: ((id: string) => Promise<void>)

Confirms that the login has been verified. -This can be used with, for example, email verification. -The login can only be used after it is verified. -In case verification is not required, this should be called immediately after the create call.

-

Type declaration

    • (id): Promise<void>
    • Parameters

      • id: string

        ID of the login.

        -

      Returns Promise<void>

create: ((email: string, accountId: string, password: string) => Promise<string>)

Creates a new login entry for this account.

-

Type declaration

    • (email, accountId, password): Promise<string>
    • Parameters

      • email: string

        Email to log in with.

        -
      • accountId: string

        Account ID.

        -
      • password: string

        Password to authenticate with.

        -

      Returns Promise<string>

delete: ((id: string) => Promise<void>)

Delete the login entry.

-

Type declaration

    • (id): Promise<void>
    • Parameters

      • id: string

        ID of the login object.

        -

      Returns Promise<void>

findByAccount: ((accountId: string) => Promise<{
    email: string;
    id: string;
}[]>)

Find all login objects created by this account.

-

Type declaration

    • (accountId): Promise<{
          email: string;
          id: string;
      }[]>
    • Parameters

      • accountId: string

        ID of the account to find the logins for.

        -

      Returns Promise<{
          email: string;
          id: string;
      }[]>

findByEmail: ((email: string) => Promise<undefined | {
    accountId: string;
    id: string;
}>)

Finds the account and login ID associated with this email.

-

Type declaration

    • (email): Promise<undefined | {
          accountId: string;
          id: string;
      }>
    • Parameters

      • email: string

        Email to find the information for.

        -

      Returns Promise<undefined | {
          accountId: string;
          id: string;
      }>

get: ((id: string) => Promise<undefined | {
    accountId: string;
    email: string;
}>)

Finds the account and email associated with this login ID.

-

Type declaration

    • (id): Promise<undefined | {
          accountId: string;
          email: string;
      }>
    • Parameters

      • id: string

        The ID of the login object.

        -

      Returns Promise<undefined | {
          accountId: string;
          email: string;
      }>

update: ((id: string, password: string) => Promise<void>)

Changes the password.

-

Type declaration

    • (id, password): Promise<void>
    • Parameters

      • id: string

        ID of the login object.

        -
      • password: string

        The new password.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/Patch.html b/7.x/docs/interfaces/Patch.html deleted file mode 100644 index 519284666..000000000 --- a/7.x/docs/interfaces/Patch.html +++ /dev/null @@ -1,13 +0,0 @@ -Patch | Community Solid Server - v7.1.0

Represents the changes needed for a PATCH request.

-
interface Patch {
    binary: boolean;
    data: Guarded<Readable>;
    isEmpty: boolean;
    metadata: RepresentationMetadata;
}

Hierarchy (view full)

Properties

Properties

binary: boolean

Whether the data stream consists of binary/string chunks -(as opposed to complex objects).

-
data: Guarded<Readable>

The raw data stream for this representation.

-
isEmpty: boolean

Whether the data stream is empty. -This being true does not imply that the data stream has a length of more than 0, -only that it is a possibility and should be read to be sure.

-

The corresponding metadata.

-
diff --git a/7.x/docs/interfaces/PermissionReaderInput.html b/7.x/docs/interfaces/PermissionReaderInput.html deleted file mode 100644 index 6ce265ae4..000000000 --- a/7.x/docs/interfaces/PermissionReaderInput.html +++ /dev/null @@ -1,6 +0,0 @@ -PermissionReaderInput | Community Solid Server - v7.1.0

Interface PermissionReaderInput

interface PermissionReaderInput {
    credentials: Credentials;
    requestedModes: AccessMap;
}

Properties

credentials: Credentials

Credentials of the entity requesting access to resources.

-
requestedModes: AccessMap

For each credential, the reader will check which of the given per-resource access modes are available. -However, non-exhaustive information about other access modes and resources can still be returned.

-
diff --git a/7.x/docs/interfaces/PodCreatorInput.html b/7.x/docs/interfaces/PodCreatorInput.html deleted file mode 100644 index a8c7b0445..000000000 --- a/7.x/docs/interfaces/PodCreatorInput.html +++ /dev/null @@ -1,13 +0,0 @@ -PodCreatorInput | Community Solid Server - v7.1.0

Interface PodCreatorInput

interface PodCreatorInput {
    accountId: string;
    name?: string;
    settings?: Record<string, unknown>;
    webId?: string;
}

Properties

accountId: string

The ID of the account to create the pod for.

-
name?: string

The name to use when generating the base URL of the pod. -If undefined, the pod will be created in the root of the server.

-
settings?: Record<string, unknown>

Additional settings to use when generating a pod.

-
webId?: string

The WebID to use for creation of the pod. -This WebID will be used in the templates to, for example, determine who has access. -If none is provided, the WebID generated by the creator will be used, -in which case that WebID will also be linked to the account.

-
diff --git a/7.x/docs/interfaces/PodCreatorOutput.html b/7.x/docs/interfaces/PodCreatorOutput.html deleted file mode 100644 index 304ab8ad0..000000000 --- a/7.x/docs/interfaces/PodCreatorOutput.html +++ /dev/null @@ -1,9 +0,0 @@ -PodCreatorOutput | Community Solid Server - v7.1.0

Interface PodCreatorOutput

interface PodCreatorOutput {
    podId: string;
    podUrl: string;
    webId: string;
    webIdLink?: string;
}

Properties

Properties

podId: string

The ID of the generated pod.

-
podUrl: string

The URl of the generated pod.

-
webId: string

The WebID that was used to generate the pod.

-
webIdLink?: string

The ID of the WebID link if one was generated.

-
diff --git a/7.x/docs/interfaces/PodGenerator.html b/7.x/docs/interfaces/PodGenerator.html deleted file mode 100644 index 6827161e3..000000000 --- a/7.x/docs/interfaces/PodGenerator.html +++ /dev/null @@ -1,9 +0,0 @@ -PodGenerator | Community Solid Server - v7.1.0

Generates an empty resource store to be used as a new pod. -It is also responsible for storing any relevant variables needed to instantiate this resource store. -These can then be used when the server is restarted to re-instantiate those stores.

-
interface PodGenerator {
    generate: ((settings: PodSettings) => Promise<ResourceStore>);
}

Implemented by

Properties

Properties

generate: ((settings: PodSettings) => Promise<ResourceStore>)

Creates a ResourceStore based on the given input. -Should error if there already is a store for the given identifier.

-

Type declaration

diff --git a/7.x/docs/interfaces/PodManager.html b/7.x/docs/interfaces/PodManager.html deleted file mode 100644 index 7b36452f7..000000000 --- a/7.x/docs/interfaces/PodManager.html +++ /dev/null @@ -1,7 +0,0 @@ -PodManager | Community Solid Server - v7.1.0

Covers all functions related to pod management. -In the future this should also include delete, and potentially recovery functions.

-
interface PodManager {
    createPod: ((settings: PodSettings, overwrite: boolean) => Promise<void>);
}

Implemented by

Properties

Properties

createPod: ((settings: PodSettings, overwrite: boolean) => Promise<void>)

Creates a pod for the given settings.

-

Type declaration

    • (settings, overwrite): Promise<void>
    • Parameters

      • settings: PodSettings

        Settings describing the pod.

        -
      • overwrite: boolean

        If the creation should proceed if there already is a resource there.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/PodSettings.html b/7.x/docs/interfaces/PodSettings.html deleted file mode 100644 index b65e7029e..000000000 --- a/7.x/docs/interfaces/PodSettings.html +++ /dev/null @@ -1,15 +0,0 @@ -PodSettings | Community Solid Server - v7.1.0

Metadata related to pod generation.

-
interface PodSettings {
    base: ResourceIdentifier;
    email?: string;
    name?: string;
    oidcIssuer?: string;
    template?: string;
    webId: string;
}

Hierarchy

  • Dict<unknown>
    • PodSettings

Properties

The root of the pod. Determines where the pod will be created.

-
email?: string

E-mail of the owner. Used in provisioning templates.

-
name?: string

Name of the owner. Used in provisioning templates.

-
oidcIssuer?: string

The OIDC issuer of the owner's WebId. Necessary if the WebID in the pod is registered with the IDP.

-
template?: string

Required for dynamic pod configuration. -Indicates the name of the config to use for the pod.

-
webId: string

The WebId of the owner of this pod.

-
diff --git a/7.x/docs/interfaces/PodStore.html b/7.x/docs/interfaces/PodStore.html deleted file mode 100644 index 5d52bde61..000000000 --- a/7.x/docs/interfaces/PodStore.html +++ /dev/null @@ -1,35 +0,0 @@ -PodStore | Community Solid Server - v7.1.0

Can be used to create new pods and find relevant information. -Also keeps track of the owners of a pod. -The visible parameter indicates if an owner should be publicly exposed or not.

-
interface PodStore {
    create: ((accountId: string, settings: PodSettings, overwrite: boolean) => Promise<string>);
    findByBaseUrl: ((baseUrl: string) => Promise<undefined | {
        accountId: string;
        id: string;
    }>);
    findPods: ((accountId: string) => Promise<{
        baseUrl: string;
        id: string;
    }[]>);
    get: ((id: string) => Promise<undefined | {
        accountId: string;
        baseUrl: string;
    }>);
    getOwners: ((id: string) => Promise<undefined | {
        visible: boolean;
        webId: string;
    }[]>);
    removeOwner: ((id: string, webId: string) => Promise<void>);
    updateOwner: ((id: string, webId: string, visible: boolean) => Promise<void>);
}

Implemented by

Properties

create: ((accountId: string, settings: PodSettings, overwrite: boolean) => Promise<string>)

Creates a new pod and updates the account accordingly.

-

Type declaration

    • (accountId, settings, overwrite): Promise<string>
    • Parameters

      • accountId: string

        Identifier of the account that is creating the account.

        -
      • settings: PodSettings

        Settings to create a pod with.

        -
      • overwrite: boolean

        If the pod is allowed to overwrite existing data.

        -

      Returns Promise<string>

      The ID of the new pod resource.

      -
findByBaseUrl: ((baseUrl: string) => Promise<undefined | {
    accountId: string;
    id: string;
}>)

Find the ID of the account that created the given pod.

-

Type declaration

    • (baseUrl): Promise<undefined | {
          accountId: string;
          id: string;
      }>
    • Parameters

      • baseUrl: string

        The pod base URL.

        -

      Returns Promise<undefined | {
          accountId: string;
          id: string;
      }>

findPods: ((accountId: string) => Promise<{
    baseUrl: string;
    id: string;
}[]>)

Find all the pod resources created by the given account ID.

-

Type declaration

    • (accountId): Promise<{
          baseUrl: string;
          id: string;
      }[]>
    • Parameters

      • accountId: string

        Account ID to find pod resources for.

        -

      Returns Promise<{
          baseUrl: string;
          id: string;
      }[]>

get: ((id: string) => Promise<undefined | {
    accountId: string;
    baseUrl: string;
}>)

Returns the baseURl and account that created the pod for the given pod ID.

-

Type declaration

    • (id): Promise<undefined | {
          accountId: string;
          baseUrl: string;
      }>
    • Parameters

      • id: string

        ID of the pod.

        -

      Returns Promise<undefined | {
          accountId: string;
          baseUrl: string;
      }>

getOwners: ((id: string) => Promise<undefined | {
    visible: boolean;
    webId: string;
}[]>)

Find all owners for the given pod ID.

-

Type declaration

    • (id): Promise<undefined | {
          visible: boolean;
          webId: string;
      }[]>
    • Parameters

      • id: string

        ID of the pod.

        -

      Returns Promise<undefined | {
          visible: boolean;
          webId: string;
      }[]>

removeOwner: ((id: string, webId: string) => Promise<void>)

Remove an owner from a pod. -This should not remove the last owner as a pod always needs to have at least one owner. -https://solidproject.org/TR/2022/protocol-20221231#server-storage-track-owner

-

Type declaration

    • (id, webId): Promise<void>
    • Parameters

      • id: string

        ID of the pod.

        -
      • webId: string

        WebID of the owner.

        -

      Returns Promise<void>

updateOwner: ((id: string, webId: string, visible: boolean) => Promise<void>)

Add or update an owner of a pod. -In case there already is an owner with this WebID, it will be updated, -otherwise a new owner will be added.

-

Type declaration

    • (id, webId, visible): Promise<void>
    • Parameters

      • id: string

        ID of the pod.

        -
      • webId: string

        WebID of the owner.

        -
      • visible: boolean

        Whether the owner wants to be exposed or not.

        -

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/ProviderFactory.html b/7.x/docs/interfaces/ProviderFactory.html deleted file mode 100644 index e43aa209f..000000000 --- a/7.x/docs/interfaces/ProviderFactory.html +++ /dev/null @@ -1,6 +0,0 @@ -ProviderFactory | Community Solid Server - v7.1.0

Interface ProviderFactory

Returns a Provider of OIDC interactions.

-
interface ProviderFactory {
    getProvider: (() => Promise<Provider>);
}

Implemented by

Properties

Properties

getProvider: (() => Promise<Provider>)

Gets a provider from the factory. -Multiple calls to this function should return providers that produce the same results. -This is mostly relevant for signing keys.

-
diff --git a/7.x/docs/interfaces/RdfStorePatcherInput.html b/7.x/docs/interfaces/RdfStorePatcherInput.html deleted file mode 100644 index 5ec909b46..000000000 --- a/7.x/docs/interfaces/RdfStorePatcherInput.html +++ /dev/null @@ -1,9 +0,0 @@ -RdfStorePatcherInput | Community Solid Server - v7.1.0

Interface RdfStorePatcherInput

interface RdfStorePatcherInput {
    identifier: ResourceIdentifier;
    patch: Patch;
    store: Store<Quad, Quad, Quad, Quad>;
}

Properties

Properties

identifier: ResourceIdentifier

Identifier of the resource that will be patched

-
patch: Patch

The changes represented by a Patch object

-
store: Store<Quad, Quad, Quad, Quad>

The store on which the patch will be executed. -Note the RdfStorePatcher is allowed to make changes to the store. -This means the store object might be modified by the patch.

-
diff --git a/7.x/docs/interfaces/ReadWriteLocker.html b/7.x/docs/interfaces/ReadWriteLocker.html deleted file mode 100644 index 53f46ab06..000000000 --- a/7.x/docs/interfaces/ReadWriteLocker.html +++ /dev/null @@ -1,16 +0,0 @@ -ReadWriteLocker | Community Solid Server - v7.1.0

Interface ReadWriteLocker

Allows the locking of resources which is needed for non-atomic ResourceStores.

-
interface ReadWriteLocker {
    withReadLock: (<T>(identifier: ResourceIdentifier, whileLocked: (() => PromiseOrValue<T>)) => Promise<T>);
    withWriteLock: (<T>(identifier: ResourceIdentifier, whileLocked: (() => PromiseOrValue<T>)) => Promise<T>);
}

Hierarchy (view full)

Implemented by

Properties

withReadLock: (<T>(identifier: ResourceIdentifier, whileLocked: (() => PromiseOrValue<T>)) => Promise<T>)

Run the given function while the resource is locked. -The lock will be released when the (async) input function resolves. -This function should be used for operations that only require reading the resource.

-

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • Type Parameters

      • T

      Parameters

      Returns Promise<T>

      A promise resolving when the lock is released.

      -
withWriteLock: (<T>(identifier: ResourceIdentifier, whileLocked: (() => PromiseOrValue<T>)) => Promise<T>)

Run the given function while the resource is locked. -The lock will be released when the (async) input function resolves. -This function should be used for operations that could modify the resource.

-

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • Type Parameters

      • T

      Parameters

      Returns Promise<T>

      A promise resolving when the lock is released.

      -
diff --git a/7.x/docs/interfaces/RedirectHttpErrorClass.html b/7.x/docs/interfaces/RedirectHttpErrorClass.html deleted file mode 100644 index bf5bcce5a..000000000 --- a/7.x/docs/interfaces/RedirectHttpErrorClass.html +++ /dev/null @@ -1,10 +0,0 @@ -RedirectHttpErrorClass | Community Solid Server - v7.1.0

Interface RedirectHttpErrorClass<TCode>

Interface describing what a RedirectHttpError class should look like. -Makes sure a location value is always needed.

-
interface RedirectHttpErrorClass<TCode> {
    new RedirectHttpErrorClassnew (location: string, message?: string, options?: HttpErrorOptions): RedirectHttpError<TCode>;
    isInstance: ((error: unknown) => error is HttpError<TCode>);
    statusCode: TCode;
    uri: NamedNode<string>;
}

Type Parameters

  • TCode extends number = number

Hierarchy

Constructors

Properties

Constructors

Properties

isInstance: ((error: unknown) => error is HttpError<TCode>)

Checks whether the given error is an instance of this class.

-
statusCode: TCode

The status code corresponding to this error class.

-
uri: NamedNode<string>

A unique URI identifying this error class.

-
diff --git a/7.x/docs/interfaces/RedisSettings.html b/7.x/docs/interfaces/RedisSettings.html deleted file mode 100644 index 53f8be2da..000000000 --- a/7.x/docs/interfaces/RedisSettings.html +++ /dev/null @@ -1,5 +0,0 @@ -RedisSettings | Community Solid Server - v7.1.0
interface RedisSettings {
    db?: number;
    namespacePrefix?: string;
    password?: string;
    username?: string;
}

Properties

db?: number
namespacePrefix?: string
password?: string
username?: string
diff --git a/7.x/docs/interfaces/Representation.html b/7.x/docs/interfaces/Representation.html deleted file mode 100644 index 27b2516c7..000000000 --- a/7.x/docs/interfaces/Representation.html +++ /dev/null @@ -1,13 +0,0 @@ -Representation | Community Solid Server - v7.1.0

Interface Representation

A representation of a resource.

-
interface Representation {
    binary: boolean;
    data: Guarded<Readable>;
    isEmpty: boolean;
    metadata: RepresentationMetadata;
}

Hierarchy (view full)

Implemented by

Properties

Properties

binary: boolean

Whether the data stream consists of binary/string chunks -(as opposed to complex objects).

-
data: Guarded<Readable>

The raw data stream for this representation.

-
isEmpty: boolean

Whether the data stream is empty. -This being true does not imply that the data stream has a length of more than 0, -only that it is a possibility and should be read to be sure.

-

The corresponding metadata.

-
diff --git a/7.x/docs/interfaces/RepresentationConverterArgs.html b/7.x/docs/interfaces/RepresentationConverterArgs.html deleted file mode 100644 index 9e95788ef..000000000 --- a/7.x/docs/interfaces/RepresentationConverterArgs.html +++ /dev/null @@ -1,7 +0,0 @@ -RepresentationConverterArgs | Community Solid Server - v7.1.0

Interface RepresentationConverterArgs

interface RepresentationConverterArgs {
    identifier: ResourceIdentifier;
    preferences: RepresentationPreferences;
    representation: Representation;
}

Properties

identifier: ResourceIdentifier

Identifier of the resource. Can be used as base IRI.

-

Preferences indicating what is requested.

-
representation: Representation

Representation to convert.

-
diff --git a/7.x/docs/interfaces/RepresentationPatcherInput.html b/7.x/docs/interfaces/RepresentationPatcherInput.html deleted file mode 100644 index c638593d4..000000000 --- a/7.x/docs/interfaces/RepresentationPatcherInput.html +++ /dev/null @@ -1,4 +0,0 @@ -RepresentationPatcherInput | Community Solid Server - v7.1.0

Interface RepresentationPatcherInput<T>

interface RepresentationPatcherInput<T> {
    identifier: ResourceIdentifier;
    patch: Patch;
    representation?: T;
}

Type Parameters

  • T

Properties

identifier: ResourceIdentifier
patch: Patch
representation?: T
diff --git a/7.x/docs/interfaces/RepresentationPreferences.html b/7.x/docs/interfaces/RepresentationPreferences.html deleted file mode 100644 index bf0190e12..000000000 --- a/7.x/docs/interfaces/RepresentationPreferences.html +++ /dev/null @@ -1,10 +0,0 @@ -RepresentationPreferences | Community Solid Server - v7.1.0

Interface RepresentationPreferences

Contains preferences along multiple content negotiation dimensions.

-

All dimensions are optional for ease of constructing; either undefined -or an empty ValuePreferences can indicate that no preferences were specified.

-
interface RepresentationPreferences {
    charset?: ValuePreferences;
    datetime?: ValuePreferences;
    encoding?: ValuePreferences;
    language?: ValuePreferences;
    range?: {
        parts: {
            end?: number;
            start: number;
        }[];
        unit: string;
    };
    type?: ValuePreferences;
}

Properties

datetime?: ValuePreferences
encoding?: ValuePreferences
language?: ValuePreferences
range?: {
    parts: {
        end?: number;
        start: number;
    }[];
    unit: string;
}
diff --git a/7.x/docs/interfaces/Resource.html b/7.x/docs/interfaces/Resource.html deleted file mode 100644 index d15a44765..000000000 --- a/7.x/docs/interfaces/Resource.html +++ /dev/null @@ -1,3 +0,0 @@ -Resource | Community Solid Server - v7.1.0
interface Resource {
    identifier: ResourceIdentifier;
    representation: Representation;
}

Properties

identifier: ResourceIdentifier
representation: Representation
diff --git a/7.x/docs/interfaces/ResourceIdentifier.html b/7.x/docs/interfaces/ResourceIdentifier.html deleted file mode 100644 index c95d449aa..000000000 --- a/7.x/docs/interfaces/ResourceIdentifier.html +++ /dev/null @@ -1,4 +0,0 @@ -ResourceIdentifier | Community Solid Server - v7.1.0

Interface ResourceIdentifier

The unique identifier of a resource.

-
interface ResourceIdentifier {
    path: string;
}

Properties

Properties

path: string

Path to the relevant resource.

-
diff --git a/7.x/docs/interfaces/ResourceLink.html b/7.x/docs/interfaces/ResourceLink.html deleted file mode 100644 index 542d5a266..000000000 --- a/7.x/docs/interfaces/ResourceLink.html +++ /dev/null @@ -1,9 +0,0 @@ -ResourceLink | Community Solid Server - v7.1.0
interface ResourceLink {
    contentType?: string;
    filePath: string;
    identifier: ResourceIdentifier;
    isMetadata: boolean;
}

Properties

contentType?: string

Content-type for a document (not defined for containers).

-
filePath: string

File path of a resource.

-
identifier: ResourceIdentifier

Identifier of a resource.

-
isMetadata: boolean

If the resource is a metadata file.

-
diff --git a/7.x/docs/interfaces/ResourceLocker.html b/7.x/docs/interfaces/ResourceLocker.html deleted file mode 100644 index 3b2dd9f91..000000000 --- a/7.x/docs/interfaces/ResourceLocker.html +++ /dev/null @@ -1,13 +0,0 @@ -ResourceLocker | Community Solid Server - v7.1.0

Interface ResourceLocker

An interface for classes that only have 1 way to lock interfaces. -In general this should only be used by components implementing the ReadWriteLocker interface. -Other components that require locking of resources should use that interface.

-
interface ResourceLocker {
    acquire: ((identifier: ResourceIdentifier) => Promise<void>);
    release: ((identifier: ResourceIdentifier) => Promise<void>);
}

Implemented by

Properties

Properties

acquire: ((identifier: ResourceIdentifier) => Promise<void>)

Acquires a lock on the requested identifier. -The promise will resolve when the lock has been acquired.

-

Type declaration

    • (identifier): Promise<void>
    • Parameters

      Returns Promise<void>

release: ((identifier: ResourceIdentifier) => Promise<void>)

Releases a lock on the requested identifier. -The promise will resolve when the lock has been released. -If there is no lock on the resource, an error should be thrown.

-

Type declaration

    • (identifier): Promise<void>
    • Parameters

      Returns Promise<void>

diff --git a/7.x/docs/interfaces/ResourceSet.html b/7.x/docs/interfaces/ResourceSet.html deleted file mode 100644 index 3e61916a3..000000000 --- a/7.x/docs/interfaces/ResourceSet.html +++ /dev/null @@ -1,6 +0,0 @@ -ResourceSet | Community Solid Server - v7.1.0

A set containing resources.

-
interface ResourceSet {
    hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>);
}

Hierarchy (view full)

Implemented by

Properties

Properties

hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>)

Checks whether a resource exists in this ResourceSet.

-

Type declaration

    • (identifier): Promise<boolean>
    • Parameters

      Returns Promise<boolean>

      A promise resolving if the resource already exists.

      -
diff --git a/7.x/docs/interfaces/ResourceStore.html b/7.x/docs/interfaces/ResourceStore.html deleted file mode 100644 index 57e02de32..000000000 --- a/7.x/docs/interfaces/ResourceStore.html +++ /dev/null @@ -1,44 +0,0 @@ -ResourceStore | Community Solid Server - v7.1.0

A ResourceStore represents a collection of resources. -It has been designed such that each of its methods -can be implemented in an atomic way: for each CRUD operation, only one -dedicated method needs to be called. A fifth method enables the optimization -of partial updates with PATCH. It is up to the implementer of the interface to -(not) make an implementation atomic.

-

ResourceStores are also responsible for taking auxiliary resources into account -should those be relevant to the store.

-
interface ResourceStore {
    addResource: ((container: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>);
    deleteResource: ((identifier: ResourceIdentifier, conditions?: Conditions) => Promise<ChangeMap>);
    getRepresentation: ((identifier: ResourceIdentifier, preferences: RepresentationPreferences, conditions?: Conditions) => Promise<Representation>);
    hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>);
    modifyResource: ((identifier: ResourceIdentifier, patch: Patch, conditions?: Conditions) => Promise<ChangeMap>);
    setRepresentation: ((identifier: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>);
}

Hierarchy (view full)

Implemented by

Properties

addResource: ((container: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>)

Creates a new resource in the container.

-

Type declaration

deleteResource: ((identifier: ResourceIdentifier, conditions?: Conditions) => Promise<ChangeMap>)

Deletes a resource.

-

Type declaration

getRepresentation: ((identifier: ResourceIdentifier, preferences: RepresentationPreferences, conditions?: Conditions) => Promise<Representation>)

Retrieves a representation of a resource.

-

Type declaration

hasResource: ((identifier: ResourceIdentifier) => Promise<boolean>)

Checks whether a resource exists in this ResourceSet.

-

Type declaration

    • (identifier): Promise<boolean>
    • Parameters

      Returns Promise<boolean>

      A promise resolving if the resource already exists.

      -
modifyResource: ((identifier: ResourceIdentifier, patch: Patch, conditions?: Conditions) => Promise<ChangeMap>)

Sets or updates the representation of a resource, -creating a new resource and intermediary containers as needed.

-

Type declaration

setRepresentation: ((identifier: ResourceIdentifier, representation: Representation, conditions?: Conditions) => Promise<ChangeMap>)

Sets or replaces the representation of a resource, -creating a new resource and intermediary containers as needed.

-

Type declaration

diff --git a/7.x/docs/interfaces/ResourcesGenerator.html b/7.x/docs/interfaces/ResourcesGenerator.html deleted file mode 100644 index 5d134fa9e..000000000 --- a/7.x/docs/interfaces/ResourcesGenerator.html +++ /dev/null @@ -1,9 +0,0 @@ -ResourcesGenerator | Community Solid Server - v7.1.0

Interface ResourcesGenerator

Generator used to create resources relative to a given base identifier. -Note that this is not an AsyncHandler since it returns an AsyncIterable instead of a promise.

-
interface ResourcesGenerator {
    generate: ((location: ResourceIdentifier, options: Dict<unknown>) => AsyncIterable<Resource>);
}

Implemented by

Properties

Properties

generate: ((location: ResourceIdentifier, options: Dict<unknown>) => AsyncIterable<Resource>)

Generates resources with the given options. -The output Iterable should be sorted so that containers always appear before their contents.

-

Type declaration

    • (location, options): AsyncIterable<Resource>
    • Parameters

      • location: ResourceIdentifier

        Base identifier.

        -
      • options: Dict<unknown>

        Options that can be used when generating resources.

        -

      Returns AsyncIterable<Resource>

      A map where the keys are the identifiers and the values the corresponding representations to store.

      -
diff --git a/7.x/docs/interfaces/RouterHandlerArgs.html b/7.x/docs/interfaces/RouterHandlerArgs.html deleted file mode 100644 index de640defa..000000000 --- a/7.x/docs/interfaces/RouterHandlerArgs.html +++ /dev/null @@ -1,15 +0,0 @@ -RouterHandlerArgs | Community Solid Server - v7.1.0

Interface RouterHandlerArgs

interface RouterHandlerArgs {
    allowedMethods?: string[];
    allowedPathNames?: string[];
    baseUrl?: string;
    handler: HttpHandler;
    targetExtractor: TargetExtractor;
}

Hierarchy (view full)

Properties

allowedMethods?: string[]

The allowed method(s). * can be used to indicate all methods are allowed. -Default is [ '*' ].

-
allowedPathNames?: string[]

Regular expression(s) used to match the target URL. -The base URl without trailing slash will be stripped of before applying the regular expressions, -so the input will always start with a /. -Default is [ '.*' ].

-
baseUrl?: string

The base URL of the server. -Not required if no value is provided for allowedPathNames.

-
handler: HttpHandler

The handler to call if all checks pass.

-
targetExtractor: TargetExtractor
diff --git a/7.x/docs/interfaces/SeededAccountInitializerArgs.html b/7.x/docs/interfaces/SeededAccountInitializerArgs.html deleted file mode 100644 index 62fbf73fd..000000000 --- a/7.x/docs/interfaces/SeededAccountInitializerArgs.html +++ /dev/null @@ -1,9 +0,0 @@ -SeededAccountInitializerArgs | Community Solid Server - v7.1.0

Interface SeededAccountInitializerArgs

interface SeededAccountInitializerArgs {
    accountStore: AccountStore;
    configFilePath?: string;
    passwordStore: PasswordStore;
    podCreator: PodCreator;
}

Properties

accountStore: AccountStore

Creates the accounts.

-
configFilePath?: string

File path of the JSON describing the accounts to seed.

-
passwordStore: PasswordStore

Adds the login methods.

-
podCreator: PodCreator

Creates the pods.

-
diff --git a/7.x/docs/interfaces/SetMultiMap.html b/7.x/docs/interfaces/SetMultiMap.html deleted file mode 100644 index 32eed39ec..000000000 --- a/7.x/docs/interfaces/SetMultiMap.html +++ /dev/null @@ -1,42 +0,0 @@ -SetMultiMap | Community Solid Server - v7.1.0

Interface SetMultiMap<TKey, TVal>

A SetMultiMap is a Map where a single key can have multiple unique values. -Deleting a key removes all bindings with this key from the Map. -Setting a value for a key replaces all previous bindings with this key. -Using an empty Set when calling the set function is the same as deleting that key.

-
interface SetMultiMap<TKey, TVal> {
    [iterator]: (() => IterableIterator<[TKey, TVal]>);
    [toStringTag]: string;
    add: ((key: TKey, value: TVal | ReadonlySet<TVal>) => this);
    asMap: (() => ReadonlyMap<TKey, ReadonlySet<TVal>>);
    deleteEntry: ((key: TKey, value: TVal) => boolean);
    distinctKeys: (() => IterableIterator<TKey>);
    entries: (() => IterableIterator<[TKey, TVal]>);
    entrySets: (() => IterableIterator<[TKey, ReadonlySet<TVal>]>);
    forEach: ((callbackfn: ((value: TVal, key: TKey, map: SetMultiMap<TKey, TVal>) => void), thisArg?: unknown) => void);
    get: ((key: TKey) => undefined | ReadonlySet<TVal>);
    hasEntry: ((key: TKey, value: TVal) => boolean);
    size: number;
    valueSets: (() => IterableIterator<ReadonlySet<TVal>>);
    values: (() => IterableIterator<TVal>);
    clear(): void;
    delete(key: TKey): boolean;
    has(key: TKey): boolean;
    keys(): IterableIterator<TKey>;
    set(key: TKey, value: TVal | ReadonlySet<TVal>): this;
}

Type Parameters

  • TKey
  • TVal

Hierarchy

Implemented by

Properties

[iterator]: (() => IterableIterator<[TKey, TVal]>)

Iterates over all key/value bindings in this Map.

-
[toStringTag]: string
add: ((key: TKey, value: TVal | ReadonlySet<TVal>) => this)

Adds the given key/value binding to the Map.

-
asMap: (() => ReadonlyMap<TKey, ReadonlySet<TVal>>)

Returns a Readonly Map representation of this Map.

-
deleteEntry: ((key: TKey, value: TVal) => boolean)

Deletes the given key/value binding from the Map.

-
distinctKeys: (() => IterableIterator<TKey>)

Iterates over all distinct keys in this Map.

-
entries: (() => IterableIterator<[TKey, TVal]>)

Iterates over all key/value bindings in this Map.

-
entrySets: (() => IterableIterator<[TKey, ReadonlySet<TVal>]>)

Iterates over all distinct keys in this Map, together with a Set of their values.

-
forEach: ((callbackfn: ((value: TVal, key: TKey, map: SetMultiMap<TKey, TVal>) => void), thisArg?: unknown) => void)

Loops over all key/value bindings.

-
get: ((key: TKey) => undefined | ReadonlySet<TVal>)

Returns all values stored for the given key. -Returns undefined if there are no values for this key.

-
hasEntry: ((key: TKey, value: TVal) => boolean)

Returns true if this key/value binding exists in the Map.

-
size: number

the number of elements in the Map.

-
valueSets: (() => IterableIterator<ReadonlySet<TVal>>)

Iterates over all distinct keys and returns their Set of values.

-
values: (() => IterableIterator<TVal>)

Iterates over all values in this Map.

-

Methods

  • Returns void

  • Parameters

    Returns boolean

    true if an element in the Map existed and has been removed, or false if the element does not exist.

    -
  • Parameters

    Returns boolean

    boolean indicating whether an element with the specified key exists or not.

    -
  • Returns an iterable of keys in the map

    -

    Returns IterableIterator<TKey>

  • Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.

    -

    Parameters

    Returns this

diff --git a/7.x/docs/interfaces/SimpleLogger.html b/7.x/docs/interfaces/SimpleLogger.html deleted file mode 100644 index df67b43f9..000000000 --- a/7.x/docs/interfaces/SimpleLogger.html +++ /dev/null @@ -1,9 +0,0 @@ -SimpleLogger | Community Solid Server - v7.1.0

Logs messages on a specific level.

-

getLoggerFor on how to instantiate loggers.

-
interface SimpleLogger {
    log: ((level:
        | "error"
        | "warn"
        | "info"
        | "verbose"
        | "debug"
        | "silly", message: string, meta?: LogMetadata) => SimpleLogger);
}

Hierarchy (view full)

Properties

log -

Properties

log: ((level:
    | "error"
    | "warn"
    | "info"
    | "verbose"
    | "debug"
    | "silly", message: string, meta?: LogMetadata) => SimpleLogger)

Log the given message at the given level. -If the internal level is higher than the given level, the message may be voided.

-

Type declaration

    • (level, message, meta?): SimpleLogger
    • Parameters

      • level:
            | "error"
            | "warn"
            | "info"
            | "verbose"
            | "debug"
            | "silly"

        The level to log at.

        -
      • message: string

        The message to log.

        -
      • Optionalmeta: LogMetadata

        Optional metadata to include in the log message.

        -

      Returns SimpleLogger

diff --git a/7.x/docs/interfaces/SingleThreaded.html b/7.x/docs/interfaces/SingleThreaded.html deleted file mode 100644 index 372e73f92..000000000 --- a/7.x/docs/interfaces/SingleThreaded.html +++ /dev/null @@ -1,2 +0,0 @@ -SingleThreaded | Community Solid Server - v7.1.0

Interface SingleThreaded

Indicates a class is only meant to work in singlethreaded setups and is thus not threadsafe.

-

Implemented by

diff --git a/7.x/docs/interfaces/Size.html b/7.x/docs/interfaces/Size.html deleted file mode 100644 index 1d9eb3220..000000000 --- a/7.x/docs/interfaces/Size.html +++ /dev/null @@ -1,4 +0,0 @@ -Size | Community Solid Server - v7.1.0

Describes the size of something by stating how much of a certain unit is present.

-
interface Size {
    amount: number;
    unit: string;
}

Properties

Properties

amount: number
unit: string
diff --git a/7.x/docs/interfaces/SizeReporter.html b/7.x/docs/interfaces/SizeReporter.html deleted file mode 100644 index 03cd3b8cb..000000000 --- a/7.x/docs/interfaces/SizeReporter.html +++ /dev/null @@ -1,22 +0,0 @@ -SizeReporter | Community Solid Server - v7.1.0

Interface SizeReporter<T>

A SizeReporter's only purpose (at the moment) is to calculate the size -of a resource. How the size is calculated or what unit it is in is defined by -the class implementing this interface. -One might use the amount of bytes and another might use the amount of triples -stored in a resource.

-
interface SizeReporter<T> {
    calculateChunkSize: ((chunk: T) => Promise<number>);
    estimateSize: ((metadata: RepresentationMetadata) => Promise<undefined | number>);
    getSize: ((identifier: ResourceIdentifier) => Promise<Size>);
    getUnit: (() => string);
}

Type Parameters

  • T

Implemented by

Properties

calculateChunkSize: ((chunk: T) => Promise<number>)

Calculate the size of a chunk based on which SizeReporter is being used

-

Type declaration

    • (chunk): Promise<number>
    • Parameters

      • chunk: T

        the chunk of which you want the size

        -

      Returns Promise<number>

      the size of the passed chunk as a number

      -
estimateSize: ((metadata: RepresentationMetadata) => Promise<undefined | number>)

Estimate the size of a body / request by looking at its metadata

-

Type declaration

    • (metadata): Promise<undefined | number>
    • Parameters

      Returns Promise<undefined | number>

      the estimated size of the body / request or undefined if no -meaningful estimation can be made

      -
getSize: ((identifier: ResourceIdentifier) => Promise<Size>)

Get the size of a given resource

-

Type declaration

    • (identifier): Promise<Size>
    • Parameters

      Returns Promise<Size>

      The size of the resource as a Size object calculated recursively -if the identifier leads to a container

      -
getUnit: (() => string)

Get the unit as a string in which a SizeReporter returns data

-
diff --git a/7.x/docs/interfaces/SliceStreamOptions.html b/7.x/docs/interfaces/SliceStreamOptions.html deleted file mode 100644 index 88ee81c91..000000000 --- a/7.x/docs/interfaces/SliceStreamOptions.html +++ /dev/null @@ -1,27 +0,0 @@ -SliceStreamOptions | Community Solid Server - v7.1.0

Interface SliceStreamOptions

interface SliceStreamOptions {
    allowHalfOpen?: boolean;
    autoDestroy?: boolean;
    decodeStrings?: boolean;
    defaultEncoding?: BufferEncoding;
    emitClose?: boolean;
    encoding?: BufferEncoding;
    end?: number;
    highWaterMark?: number;
    objectMode?: boolean;
    readableHighWaterMark?: number;
    readableObjectMode?: boolean;
    signal?: AbortSignal;
    size?: number;
    start: number;
    writableCorked?: number;
    writableHighWaterMark?: number;
    writableObjectMode?: boolean;
    construct?(this: Transform, callback: ((error?: null | Error) => void)): void;
    destroy?(this: Transform, error: null | Error, callback: ((error: null | Error) => void)): void;
    final?(this: Transform, callback: ((error?: null | Error) => void)): void;
    flush?(this: Transform, callback: TransformCallback): void;
    read?(this: Transform, size: number): void;
    transform?(this: Transform, chunk: any, encoding: BufferEncoding, callback: TransformCallback): void;
    write?(this: Transform, chunk: any, encoding: BufferEncoding, callback: ((error?: null | Error) => void)): void;
    writev?(this: Transform, chunks: {
        chunk: any;
        encoding: BufferEncoding;
    }[], callback: ((error?: null | Error) => void)): void;
}

Hierarchy

  • TransformOptions
    • SliceStreamOptions

Properties

allowHalfOpen?: boolean
autoDestroy?: boolean
decodeStrings?: boolean
defaultEncoding?: BufferEncoding
emitClose?: boolean
encoding?: BufferEncoding
end?: number
highWaterMark?: number
objectMode?: boolean
readableHighWaterMark?: number
readableObjectMode?: boolean
signal?: AbortSignal

When provided the corresponding AbortController can be used to cancel an asynchronous action.

-
size?: number
start: number
writableCorked?: number
writableHighWaterMark?: number
writableObjectMode?: boolean

Methods

  • Parameters

    • this: Transform
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Transform
    • error: null | Error
    • callback: ((error: null | Error) => void)
        • (error): void
        • Parameters

          • error: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Transform
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Transform
    • callback: TransformCallback

    Returns void

  • Parameters

    • this: Transform
    • size: number

    Returns void

  • Parameters

    • this: Transform
    • chunk: any
    • encoding: BufferEncoding
    • callback: TransformCallback

    Returns void

  • Parameters

    • this: Transform
    • chunk: any
    • encoding: BufferEncoding
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

  • Parameters

    • this: Transform
    • chunks: {
          chunk: any;
          encoding: BufferEncoding;
      }[]
    • callback: ((error?: null | Error) => void)
        • (error?): void
        • Parameters

          • Optionalerror: null | Error

          Returns void

    Returns void

diff --git a/7.x/docs/interfaces/SparqlUpdatePatch.html b/7.x/docs/interfaces/SparqlUpdatePatch.html deleted file mode 100644 index 261dee56d..000000000 --- a/7.x/docs/interfaces/SparqlUpdatePatch.html +++ /dev/null @@ -1,15 +0,0 @@ -SparqlUpdatePatch | Community Solid Server - v7.1.0

Interface SparqlUpdatePatch

A specific type of Patch corresponding to a SPARQL update.

-
interface SparqlUpdatePatch {
    algebra: Update;
    binary: boolean;
    data: Guarded<Readable>;
    isEmpty: boolean;
    metadata: RepresentationMetadata;
}

Hierarchy (view full)

Properties

algebra: Update

Algebra corresponding to the SPARQL update.

-
binary: boolean

Whether the data stream consists of binary/string chunks -(as opposed to complex objects).

-
data: Guarded<Readable>

The raw data stream for this representation.

-
isEmpty: boolean

Whether the data stream is empty. -This being true does not imply that the data stream has a length of more than 0, -only that it is a possibility and should be read to be sure.

-

The corresponding metadata.

-
diff --git a/7.x/docs/interfaces/StorageLocationStrategy.html b/7.x/docs/interfaces/StorageLocationStrategy.html deleted file mode 100644 index fb97cf644..000000000 --- a/7.x/docs/interfaces/StorageLocationStrategy.html +++ /dev/null @@ -1,5 +0,0 @@ -StorageLocationStrategy | Community Solid Server - v7.1.0

Interface StorageLocationStrategy

Interface used to find the storage a specific identifier is located in.

-
interface StorageLocationStrategy {
    getStorageIdentifier: ((identifier: ResourceIdentifier) => Promise<ResourceIdentifier>);
}

Implemented by

Properties

getStorageIdentifier: ((identifier: ResourceIdentifier) => Promise<ResourceIdentifier>)

Returns the identifier of the storage that contains the given resource. -Can error if the input identifier is not part of any storage.

-
diff --git a/7.x/docs/interfaces/StreamingHttpEmitterInput.html b/7.x/docs/interfaces/StreamingHttpEmitterInput.html deleted file mode 100644 index ecc6a0afe..000000000 --- a/7.x/docs/interfaces/StreamingHttpEmitterInput.html +++ /dev/null @@ -1,3 +0,0 @@ -StreamingHttpEmitterInput | Community Solid Server - v7.1.0
diff --git a/7.x/docs/interfaces/SubfolderResourcesGeneratorArgs.html b/7.x/docs/interfaces/SubfolderResourcesGeneratorArgs.html deleted file mode 100644 index 9eef60688..000000000 --- a/7.x/docs/interfaces/SubfolderResourcesGeneratorArgs.html +++ /dev/null @@ -1,13 +0,0 @@ -SubfolderResourcesGeneratorArgs | Community Solid Server - v7.1.0

Interface SubfolderResourcesGeneratorArgs

Input arguments required for BaseResourcesGenerator

-
interface SubfolderResourcesGeneratorArgs {
    factory: FileIdentifierMapperFactory<FileIdentifierMapper>;
    metadataStrategy: AuxiliaryStrategy;
    store: ResourceSet;
    templateEngine: TemplateEngine<Dict<unknown>>;
    templateExtension?: string;
}

Properties

Factory used to generate mapper relative to the base identifier.

-
metadataStrategy: AuxiliaryStrategy

The metadataStrategy

-

The default ResourceStore

-
templateEngine: TemplateEngine<Dict<unknown>>

Template engine for generating the resources.

-
templateExtension?: string

The extension of files that need to be interpreted as templates. -Will be removed to generate the identifier.

-
diff --git a/7.x/docs/interfaces/SubscriptionService.html b/7.x/docs/interfaces/SubscriptionService.html deleted file mode 100644 index 62fd87791..000000000 --- a/7.x/docs/interfaces/SubscriptionService.html +++ /dev/null @@ -1,7 +0,0 @@ -SubscriptionService | Community Solid Server - v7.1.0

Interface SubscriptionService

A subscription service description as based on the specification data model -https://solidproject.org/TR/2022/notifications-protocol-20221231#subscription-service-data-model

-
interface SubscriptionService {
    @context: ["https://www.w3.org/ns/solid/notification/v1"];
    channelType: string;
    feature: string[];
    id: string;
}

Properties

@context: ["https://www.w3.org/ns/solid/notification/v1"]
channelType: string
feature: string[]
id: string
diff --git a/7.x/docs/interfaces/SystemError.html b/7.x/docs/interfaces/SystemError.html deleted file mode 100644 index dedcbc09d..000000000 --- a/7.x/docs/interfaces/SystemError.html +++ /dev/null @@ -1,25 +0,0 @@ -SystemError | Community Solid Server - v7.1.0

Interface for Node.js System errors

-

Node.js generates system errors when exceptions occur within its runtime environment. -These usually occur when an application violates an operating system constraint. -For example, a system error will occur if an application attempts to read a file that does not exist.

-
interface SystemError {
    address?: string;
    code: string;
    dest?: string;
    errno: string | number;
    info?: unknown;
    message: string;
    name: string;
    path?: string;
    port?: string;
    stack?: string;
    syscall: string;
}

Hierarchy

  • Error
    • SystemError

Properties

address?: string

If present, the address to which a network connection failed.

-
code: string

The string error code. -Full list: https://man7.org/linux/man-pages/man3/errno.3.html

-
dest?: string

If present, the file path destination when reporting a file system error.

-
errno: string | number

The system-provided error number.

-
info?: unknown

If present, extra details about the error condition.

-
message: string
name: string
path?: string

If present, the file path when reporting a file system error.

-
port?: string

If present, the network connection port that is not available.

-
stack?: string
syscall: string

The name of the system call that triggered the error.

-
diff --git a/7.x/docs/interfaces/TemplateEngineInput.html b/7.x/docs/interfaces/TemplateEngineInput.html deleted file mode 100644 index 9f0ba5cef..000000000 --- a/7.x/docs/interfaces/TemplateEngineInput.html +++ /dev/null @@ -1,4 +0,0 @@ -TemplateEngineInput | Community Solid Server - v7.1.0

Interface TemplateEngineInput<T>

Utility interface for representing TemplateEngine input.

-
interface TemplateEngineInput<T> {
    contents: T;
    template?: Template;
}

Type Parameters

  • T

Properties

Properties

contents: T
template?: Template
diff --git a/7.x/docs/interfaces/TemplateOptions.html b/7.x/docs/interfaces/TemplateOptions.html deleted file mode 100644 index 86ac44ef7..000000000 --- a/7.x/docs/interfaces/TemplateOptions.html +++ /dev/null @@ -1,5 +0,0 @@ -TemplateOptions | Community Solid Server - v7.1.0

Interface TemplateOptions

interface TemplateOptions {
    codeTemplatesPath?: string;
    contentType?: string;
    extension?: string;
    mainTemplatePath?: string;
}

Properties

codeTemplatesPath?: string
contentType?: string
extension?: string
mainTemplatePath?: string
diff --git a/7.x/docs/interfaces/TemplatePath.html b/7.x/docs/interfaces/TemplatePath.html deleted file mode 100644 index 9abf3d826..000000000 --- a/7.x/docs/interfaces/TemplatePath.html +++ /dev/null @@ -1,3 +0,0 @@ -TemplatePath | Community Solid Server - v7.1.0
interface TemplatePath {
    templateFile: string;
    templatePath?: string;
}

Properties

templateFile: string
templatePath?: string
diff --git a/7.x/docs/interfaces/TemplateString.html b/7.x/docs/interfaces/TemplateString.html deleted file mode 100644 index d384562b0..000000000 --- a/7.x/docs/interfaces/TemplateString.html +++ /dev/null @@ -1,2 +0,0 @@ -TemplateString | Community Solid Server - v7.1.0

Interface TemplateString

interface TemplateString {
    templateString: string;
}

Properties

Properties

templateString: string
diff --git a/7.x/docs/interfaces/TemplatedResourcesGenerator.html b/7.x/docs/interfaces/TemplatedResourcesGenerator.html deleted file mode 100644 index 235065577..000000000 --- a/7.x/docs/interfaces/TemplatedResourcesGenerator.html +++ /dev/null @@ -1,11 +0,0 @@ -TemplatedResourcesGenerator | Community Solid Server - v7.1.0

Interface TemplatedResourcesGenerator

Generator used to create resources relative to a given base identifier. -Similar to ResourcesGenerator, but takes as input a string -indicating where the templates are stored that need to be used for resource generation.

-
interface TemplatedResourcesGenerator {
    generate: ((templateFolder: string, location: ResourceIdentifier, options: Dict<unknown>) => AsyncIterable<Resource>);
}

Implemented by

Properties

Properties

generate: ((templateFolder: string, location: ResourceIdentifier, options: Dict<unknown>) => AsyncIterable<Resource>)

Generates resources with the given options, based on the given template folder. -The output Iterable should be sorted so that containers always appear before their contents.

-

Type declaration

    • (templateFolder, location, options): AsyncIterable<Resource>
    • Parameters

      • templateFolder: string

        Folder where the templates are located.

        -
      • location: ResourceIdentifier

        Base identifier.

        -
      • options: Dict<unknown>

        Options that can be used when generating resources.

        -

      Returns AsyncIterable<Resource>

      A map where the keys are the identifiers and the values the corresponding representations to store.

      -
diff --git a/7.x/docs/interfaces/V6MigrationInitializerArgs.html b/7.x/docs/interfaces/V6MigrationInitializerArgs.html deleted file mode 100644 index 418af4200..000000000 --- a/7.x/docs/interfaces/V6MigrationInitializerArgs.html +++ /dev/null @@ -1,18 +0,0 @@ -V6MigrationInitializerArgs | Community Solid Server - v7.1.0

Interface V6MigrationInitializerArgs

interface V6MigrationInitializerArgs {
    accountStorage: KeyValueStorage<string, Account | Settings>;
    cleanupStorages: KeyValueStorage<string, any>[];
    clientCredentialsStorage: KeyValueStorage<string, ClientCredentials>;
    newAccountStorage: AccountLoginStorage<Record<string, never>>;
    newSetupStorage: KeyValueStorage<string, string>;
    setupStorage: KeyValueStorage<string, string>;
    skipConfirmation?: boolean;
    versionKey: string;
}

Properties

accountStorage: KeyValueStorage<string, Account | Settings>

The storage in which account data of the previous version is stored.

-
cleanupStorages: KeyValueStorage<string, any>[]

Storages for which all entries need to be removed.

-
clientCredentialsStorage: KeyValueStorage<string, ClientCredentials>

The storage in which client credentials are stored from the previous version.

-
newAccountStorage: AccountLoginStorage<Record<string, never>>

The storage that will contain the account data in the new format. -Wrong typings to prevent Components.js typing issues.

-
newSetupStorage: KeyValueStorage<string, string>

The storage that will contain the setup entries in the new format.

-
setupStorage: KeyValueStorage<string, string>

The storage in which all setup values are stored, including the version of the server.

-
skipConfirmation?: boolean

If true, no confirmation prompt will be printed to the stdout.

-
versionKey: string

The key necessary to get the version from the setupStorage.

-
diff --git a/7.x/docs/interfaces/WacAllowHttpHandlerArgs.html b/7.x/docs/interfaces/WacAllowHttpHandlerArgs.html deleted file mode 100644 index d283a1f0d..000000000 --- a/7.x/docs/interfaces/WacAllowHttpHandlerArgs.html +++ /dev/null @@ -1,5 +0,0 @@ -WacAllowHttpHandlerArgs | Community Solid Server - v7.1.0

Interface WacAllowHttpHandlerArgs

Properties

credentialsExtractor: CredentialsExtractor
modesExtractor: ModesExtractor
operationHandler: OperationHttpHandler
permissionReader: PermissionReader
diff --git a/7.x/docs/interfaces/WebIdStore.html b/7.x/docs/interfaces/WebIdStore.html deleted file mode 100644 index c19d9f8ba..000000000 --- a/7.x/docs/interfaces/WebIdStore.html +++ /dev/null @@ -1,18 +0,0 @@ -WebIdStore | Community Solid Server - v7.1.0

Stores and updates WebID to Account links.

-
interface WebIdStore {
    create: ((webId: string, accountId: string) => Promise<string>);
    delete: ((linkId: string) => Promise<void>);
    findLinks: ((accountId: string) => Promise<{
        id: string;
        webId: string;
    }[]>);
    get: ((linkId: string) => Promise<undefined | {
        accountId: string;
        webId: string;
    }>);
    isLinked: ((webId: string, accountId: string) => Promise<boolean>);
}

Implemented by

Properties

create: ((webId: string, accountId: string) => Promise<string>)

Creates a new WebID link for the given WebID and account.

-

Type declaration

    • (webId, accountId): Promise<string>
    • Parameters

      • webId: string

        WebID to link.

        -
      • accountId: string

      Returns Promise<string>

      ID of the link.

      -
delete: ((linkId: string) => Promise<void>)

Deletes the link with the given ID

-

Type declaration

    • (linkId): Promise<void>
    • Parameters

      • linkId: string

        ID of the link.

        -

      Returns Promise<void>

findLinks: ((accountId: string) => Promise<{
    id: string;
    webId: string;
}[]>)

Finds all links associated with the given account.

-

Type declaration

    • (accountId): Promise<{
          id: string;
          webId: string;
      }[]>
    • Parameters

      • accountId: string

        ID of the account.

        -

      Returns Promise<{
          id: string;
          webId: string;
      }[]>

get: ((linkId: string) => Promise<undefined | {
    accountId: string;
    webId: string;
}>)

Finds the account and WebID of the link with the given ID.

-
isLinked: ((webId: string, accountId: string) => Promise<boolean>)

Determines if a WebID is linked to an account.

-

Type declaration

    • (webId, accountId): Promise<boolean>
    • Parameters

      • webId: string

        WebID to check.

        -
      • accountId: string

        ID of the account.

        -

      Returns Promise<boolean>

diff --git a/7.x/docs/interfaces/WebSocket2023HandlerInput.html b/7.x/docs/interfaces/WebSocket2023HandlerInput.html deleted file mode 100644 index 915fbf37a..000000000 --- a/7.x/docs/interfaces/WebSocket2023HandlerInput.html +++ /dev/null @@ -1,3 +0,0 @@ -WebSocket2023HandlerInput | Community Solid Server - v7.1.0
diff --git a/7.x/docs/interfaces/WebSocketChannel2023.html b/7.x/docs/interfaces/WebSocketChannel2023.html deleted file mode 100644 index 6ca89fd7c..000000000 --- a/7.x/docs/interfaces/WebSocketChannel2023.html +++ /dev/null @@ -1,27 +0,0 @@ -WebSocketChannel2023 | Community Solid Server - v7.1.0

Interface WebSocketChannel2023

A NotificationChannel containing the necessary fields for a WebSocketChannel2023 channel.

-
interface WebSocketChannel2023 {
    accept?: string;
    endAt?: number;
    id: string;
    lastEmit?: number;
    rate?: number;
    receiveFrom: string;
    sendTo?: string;
    sender?: string;
    startAt?: number;
    state?: string;
    topic: string;
    type: "http://www.w3.org/ns/solid/notifications#WebSocketChannel2023";
}

Hierarchy (view full)

Properties

accept?: string

The media type in which the receiver expects the notifications.

-
endAt?: number

When the channel should stop existing, in milliseconds since epoch.

-
id: string

The unique identifier of the channel.

-
lastEmit?: number

Internal value that we use to track when this channel last sent a notification.

-
rate?: number

The minimal time required between notifications, in milliseconds.

-
receiveFrom: string

The WebSocket through which the channel will send notifications.

-
sendTo?: string

The resource on the receiver where notifications can be sent.

-
sender?: string

Can be used to identify the sender.

-
startAt?: number

When the channel should start sending notifications, in milliseconds since epoch.

-
state?: string

The state parameter sent by the receiver. -This is used to send a notification when the channel is established and the topic resource has a different state.

-
topic: string

The resource this channel sends notifications about.

-
type: "http://www.w3.org/ns/solid/notifications#WebSocketChannel2023"

The "notify:WebSocketChannel2023" type.

-
diff --git a/7.x/docs/interfaces/WebSocketHandlerInput.html b/7.x/docs/interfaces/WebSocketHandlerInput.html deleted file mode 100644 index 6aec9334a..000000000 --- a/7.x/docs/interfaces/WebSocketHandlerInput.html +++ /dev/null @@ -1,3 +0,0 @@ -WebSocketHandlerInput | Community Solid Server - v7.1.0

Interface WebSocketHandlerInput

interface WebSocketHandlerInput {
    upgradeRequest: HttpRequest;
    webSocket: WebSocket;
}

Properties

upgradeRequest: HttpRequest
webSocket: WebSocket
diff --git a/7.x/docs/interfaces/WebhookChannel2023.html b/7.x/docs/interfaces/WebhookChannel2023.html deleted file mode 100644 index 69a0a4b30..000000000 --- a/7.x/docs/interfaces/WebhookChannel2023.html +++ /dev/null @@ -1,27 +0,0 @@ -WebhookChannel2023 | Community Solid Server - v7.1.0

Interface WebhookChannel2023

A NotificationChannel containing the necessary fields for a WebhookChannel2023 channel.

-
interface WebhookChannel2023 {
    accept?: string;
    endAt?: number;
    id: string;
    lastEmit?: number;
    rate?: number;
    receiveFrom?: string;
    sendTo: string;
    sender?: string;
    startAt?: number;
    state?: string;
    topic: string;
    type: "http://www.w3.org/ns/solid/notifications#WebhookChannel2023";
}

Hierarchy (view full)

Properties

accept?: string

The media type in which the receiver expects the notifications.

-
endAt?: number

When the channel should stop existing, in milliseconds since epoch.

-
id: string

The unique identifier of the channel.

-
lastEmit?: number

Internal value that we use to track when this channel last sent a notification.

-
rate?: number

The minimal time required between notifications, in milliseconds.

-
receiveFrom?: string

The resource receivers can use to establish a connection and receive notifications.

-
sendTo: string

Where the notifications have to be sent.

-
sender?: string

Can be used to identify the sender.

-
startAt?: number

When the channel should start sending notifications, in milliseconds since epoch.

-
state?: string

The state parameter sent by the receiver. -This is used to send a notification when the channel is established and the topic resource has a different state.

-
topic: string

The resource this channel sends notifications about.

-
type: "http://www.w3.org/ns/solid/notifications#WebhookChannel2023"

The "WebhookChannel2023" type.

-
diff --git a/7.x/docs/modules.html b/7.x/docs/modules.html deleted file mode 100644 index b21423014..000000000 --- a/7.x/docs/modules.html +++ /dev/null @@ -1,817 +0,0 @@ -Community Solid Server - v7.1.0

Community Solid Server - v7.1.0

Index

Enumerations

Classes

AbsolutePathInteractionRoute -AcceptPreferenceParser -AccessChecker -AccountInitializer -AccountPromptFactory -AcpHeaderHandler -AcpReader -ActivityNotificationGenerator -AddRemoveNotificationGenerator -AgentAccessChecker -AgentClassAccessChecker -AgentGroupAccessChecker -AllStaticReader -AllowAcceptHeaderWriter -App -AppRunner -ArrayUnionHandler -AssetPathExtractor -AsyncHandler -AtomicFileDataAccessor -AuthAuxiliaryReader -AuthorizationParser -AuthorizedRouteHandler -Authorizer -AuthorizingHttpHandler -AuxiliaryLinkMetadataWriter -AuxiliaryReader -BadRequestHttpError -Base64EncodingStorage -BaseAccountIdRoute -BaseAccountStore -BaseChannelType -BaseClientCredentialsIdRoute -BaseClientCredentialsStore -BaseComponentsJsFactory -BaseCookieStore -BaseEmailSender -BaseFileIdentifierMapper -BaseForgotPasswordStore -BaseIdentifierStrategy -BaseLogger -BaseLoginAccountStorage -BasePasswordIdRoute -BasePasswordStore -BasePodCreator -BasePodIdRoute -BasePodStore -BaseReadWriteLocker -BaseResourceStore -BaseResourcesGenerator -BaseRouterHandler -BaseServerFactory -BaseStateHandler -BaseTypedRepresentationConverter -BaseUrlExtractor -BaseUrlHandler -BaseUrlRouterRule -BaseUrlVerifier -BaseWebIdLinkRoute -BaseWebIdStore -BasicConditions -BasicConditionsParser -BasicETagHandler -BasicRepresentation -BasicRequestParser -BasicResponseWriter -BearerWebIdExtractor -BinarySliceResourceStore -BodyParser -BooleanHandler -CachedHandler -CachedJwkGenerator -CachedResourceSet -CancelOidcHandler -ChainedConverter -ChainedTemplateEngine -CliExtractor -CliResolver -ClientCredentialsAdapter -ClientCredentialsAdapterFactory -ClientCredentialsDetailsHandler -ClientIdAdapter -ClientIdAdapterFactory -ClientInfoHandler -ClusterManager -CombinedShorthandResolver -ComposedAuxiliaryStrategy -ComposedNotificationHandler -ConditionalHandler -ConditionsParser -ConfigPodInitializer -ConfigPodManager -ConflictHttpError -ConsentHandler -ConstantConverter -ConstantMetadataWriter -ContainerInitializer -ContainerPathStorage -ContainerToTemplateConverter -ContentLengthParser -ContentTypeMetadataWriter -ContentTypeParser -ContentTypeReplacer -ContextDocumentLoader -ControlHandler -ConvertingErrorHandler -ConvertingNotificationSerializer -ConvertingOperationHttpHandler -ConvertingPatcher -ConvertingRouterRule -CookieInteractionHandler -CookieMetadataWriter -CookieParser -CorsHandler -CreateAccountHandler -CreateClientCredentialsHandler -CreateModesExtractor -CreatePasswordHandler -CreatePodHandler -CreatedResponseDescription -CredentialsExtractor -DPoPWebIdExtractor -DataAccessorBasedStore -DeleteClientCredentialsHandler -DeleteNotificationGenerator -DeleteOperationHandler -DeleteParentExtractor -DeletePasswordHandler -DynamicJsonToTemplateConverter -EjsTemplateEngine -EmailSender -EqualReadWriteLocker -ErrorHandler -ErrorToJsonConverter -ErrorToQuadConverter -ErrorToTemplateConverter -ExpiringAdapter -ExpiringAdapterFactory -ExtensionBasedMapper -ExtensionBasedMapperFactory -ExtensionBasedTemplateEngine -FileDataAccessor -FileSizeReporter -FileSystemResourceLocker -FilterMetadataDataAccessor -FilterPattern -FinalizableHandler -Finalizer -FixedContentTypeMapper -ForbiddenHttpError -ForgetWebIdHandler -ForgotPasswordHandler -FormToJsonConverter -FoundHttpError -GeneratedPodManager -GetOperationHandler -GlobalQuotaStrategy -GreedyReadWriteLocker -HandlebarsTemplateEngine -HandlerServerConfigurator -HashEncodingStorage -HashMap -HeadOperationHandler -HeaderHandler -HtmlViewEntry -HtmlViewHandler -HttpError -HttpHandler -IdInteractionRoute -IdentifierMap -IdentifierSetMultiMap -IdentityProviderFactory -IdentityProviderHttpHandler -ImmutableMetadataPatcher -InMemoryDataAccessor -IndexRepresentationStore -InitializableHandler -Initializer -InteractionHandler -InteractionRouteHandler -IntermediateCreateExtractor -InternalServerError -JsonConversionHandler -JsonFileStorage -JsonInteractionHandler -JsonLdNotificationSerializer -JsonResourceStorage -KeyExtractor -KeyValueChannelStorage -LazyLoggerFactory -LinkMetadataGenerator -LinkRelMetadataWriter -LinkRelObject -LinkRelParser -LinkWebIdHandler -ListeningActivityHandler -LocationInteractionHandler -LockingInteractionHandler -LockingResourceStore -LoggerInitializer -LogoutHandler -MappedMetadataWriter -MarkdownToHtmlConverter -MaxKeyLengthStorage -MemoryMapStorage -MemoryResourceLocker -MetadataGenerator -MetadataParser -MetadataWriter -MethodFilterHandler -MethodModesExtractor -MethodNotAllowedHttpError -ModesExtractor -ModifiedMetadataWriter -ModuleVersionVerifier -MonitoringStore -MovedPermanentlyHttpError -N3PatchBodyParser -N3PatchModesExtractor -N3Patcher -NoCheckOwnershipValidator -NotFoundHttpError -NotImplementedHttpError -NotificationDescriber -NotificationEmitter -NotificationGenerator -NotificationHandler -NotificationSerializer -NotificationSubscriber -NotificationUnsubscriber -OAuthHttpError -OidcControlHandler -OidcHttpHandler -OkResponseDescription -OperationHandler -OperationHttpHandler -OperationRouterHandler -OriginalUrlExtractor -OwnerMetadataWriter -OwnerPermissionReader -OwnershipValidator -ParallelHandler -ParentContainerReader -ParsingHttpHandler -PartialReadWriteLocker -PassthroughAdapter -PassthroughAdapterFactory -PassthroughConverter -PassthroughDataAccessor -PassthroughKeyValueStorage -PassthroughStore -PasswordLoginHandler -PatchHandler -PatchOperationHandler -PatchingStore -PathBasedReader -PermissionBasedAuthorizer -PermissionReader -PickWebIdHandler -PlainJsonLdFilter -PodCreator -PodQuotaStrategy -PodStorageLocationStrategy -PostOperationHandler -PreconditionFailedHttpError -PreferenceParser -PreferenceSupport -ProcessHandler -PromptFactory -PromptHandler -PublicCredentialsExtractor -PutOperationHandler -QuadToRdfConverter -QuotaStrategy -QuotaValidator -RangeMetadataWriter -RangeNotSatisfiedHttpError -RangePreferenceParser -RawBodyParser -RdfPatcher -RdfStorePatcher -RdfToQuadConverter -RdfValidator -ReadOnlyStore -RecordObject -RedirectHttpError -RedirectingErrorHandler -RedirectingHttpHandler -RedisLocker -RegexRouterRule -RegexRule -RelativePathInteractionRoute -RepresentationConverter -RepresentationConvertingStore -RepresentationMetadata -RepresentationPatchHandler -RepresentationPatcher -RequestParser -ResetPasswordHandler -ResetResponseDescription -ResolveLoginHandler -ResponseDescription -ResponseWriter -RootFilePathHandler -RootStorageLocationStrategy -RouterHandler -RouterRule -RoutingAuxiliaryIdentifierStrategy -RoutingAuxiliaryStrategy -RoutingResourceStore -SafeErrorHandler -SeededAccountInitializer -SequenceHandler -ServerConfigurator -ServerInitializer -ShorthandExtractor -ShorthandResolver -SingleContainerJsonStorage -SingleRootIdentifierStrategy -SliceStream -SlugParser -SparqlDataAccessor -SparqlUpdateBodyParser -SparqlUpdateModesExtractor -SparqlUpdatePatcher -StateHandler -StateNotificationGenerator -StaticAssetEntry -StaticAssetHandler -StaticFolderGenerator -StaticHandler -StaticInteractionHandler -StaticStorageDescriber -StaticTemplateEngine -StaticThrowHandler -StorageDescriber -StorageDescriptionAdvertiser -StorageDescriptionHandler -StreamingHttp2023Emitter -StreamingHttpListeningActivityHandler -StreamingHttpMap -StreamingHttpMetadataWriter -StreamingHttpRequestHandler -SubdomainExtensionBasedMapper -SubdomainIdentifierGenerator -SubdomainIdentifierStrategy -SubfolderResourcesGenerator -SuffixAuxiliaryIdentifierStrategy -SuffixIdentifierGenerator -TargetExtractor -TargetExtractorErrorHandler -TemplateEngine -TemplatedPodGenerator -TokenOwnershipValidator -TypedNotificationHandler -TypedRepresentationConverter -UnauthorizedHttpError -UnionCredentialsExtractor -UnionHandler -UnionPermissionReader -UnionPreferenceParser -UnlinkWebIdHandler -UnsecureConstantCredentialsExtractor -UnsecureWebIdExtractor -UnsecureWebSocketsProtocol -UnsupportedAsyncHandler -UnsupportedMediaTypeHttpError -UpdateOwnerHandler -UpdatePasswordHandler -V6MigrationInitializer -ValidatingDataAccessor -Validator -VariableHandler -VariableSetter -VersionHandler -ViewInteractionHandler -VoidLocker -VoidLogger -VoidLoggerFactory -WacAllowHttpHandler -WacAllowMetadataWriter -WaterfallHandler -WebAclReader -WebSocket2023Emitter -WebSocket2023Handler -WebSocket2023Listener -WebSocket2023Storer -WebSocketAdvertiser -WebSocketChannel2023Type -WebSocketHandler -WebSocketMap -WebSocketServerConfigurator -WebhookChannel2023Type -WebhookEmitter -WebhookWebId -WinstonLogger -WinstonLoggerFactory -WorkerManager -WrappedExpiringReadWriteLocker -WrappedExpiringStorage -WrappedIndexedStorage -WrappedSetMultiMap -WrappingLogger -WwwAuthMetadataWriter -YargsCliExtractor -YargsParameter -

Interfaces

AccessCheckerArgs -AccountInitializerArgs -AccountStore -AdapterFactory -AlgJwk -AppRunnerInput -AsyncTransformOptions -AtomicDataAccessor -AtomicResourceStore -AuthorizerInput -AuthorizingHttpHandlerArgs -AuxiliaryIdentifierStrategy -AuxiliaryStrategy -BasePodCreatorArgs -BaseRouterHandlerArgs -BaseServerFactoryOptions -BasicConditionsOptions -BasicRequestParserArgs -BodyParserArgs -CliOptions -ClientCredentials -ClientCredentialsStore -ComponentsJsFactory -ComposedNotificationHandlerArgs -Conditions -ConstantConverterOptions -ContainerInitializerArgs -ConvertingStoreEntry -CookieStore -DataAccessor -ETagHandler -EmailArgs -EmailSenderArgs -ErrorHandlerArgs -ExpiringReadWriteLocker -ExpiringStorage -FileIdentifierMapper -FileIdentifierMapperFactory -Finalizable -ForgotPasswordHandlerArgs -ForgotPasswordStore -Forwarded -GenericEventEmitter -HttpErrorClass -HttpErrorOptions -HttpHandlerInput -HttpServerFactory -IdentifierGenerator -IdentifierStrategy -IdentityProviderFactoryArgs -IdentityProviderHttpHandlerArgs -IndexedStorage -Initializable -InteractionHandlerInput -InteractionRoute -JsonInteractionHandlerInput -JsonRepresentation -JsonView -JwkGenerator -KeyValueStorage -LinkWebIdHandlerArgs -LogMetadata -Logger -LoggerFactory -LoginStorage -MetadataWriterInput -NotificationChannel -NotificationChannelStorage -NotificationChannelType -NotificationEmitterInput -NotificationHandlerInput -NotificationSerializerInput -NotificationSubscriberArgs -OAuthErrorFields -Operation -OperationHandlerInput -OperationHttpHandlerInput -OriginalUrlExtractorArgs -ParsingHttpHandlerArgs -PasswordLoginHandlerArgs -PasswordStore -Patch -PermissionReaderInput -PodCreatorInput -PodCreatorOutput -PodGenerator -PodManager -PodSettings -PodStore -ProviderFactory -RdfStorePatcherInput -ReadWriteLocker -RedirectHttpErrorClass -RedisSettings -Representation -RepresentationConverterArgs -RepresentationPatcherInput -RepresentationPreferences -Resource -ResourceIdentifier -ResourceLink -ResourceLocker -ResourceSet -ResourceStore -ResourcesGenerator -RouterHandlerArgs -SeededAccountInitializerArgs -SetMultiMap -SimpleLogger -SingleThreaded -Size -SizeReporter -SliceStreamOptions -SparqlUpdatePatch -StorageLocationStrategy -StreamingHttpEmitterInput -SubfolderResourcesGeneratorArgs -SubscriptionService -SystemError -TemplateEngineInput -TemplateOptions -TemplatePath -TemplateString -TemplatedResourcesGenerator -V6MigrationInitializerArgs -WacAllowHttpHandlerArgs -WebIdStore -WebSocket2023HandlerInput -WebSocketChannel2023 -WebSocketHandlerInput -WebhookChannel2023 -

Type Aliases

Variables

Functions

absoluteFilePath -addGeneratedResources -addHeader -addResourceMetadata -addTemplateMetadata -allFulfilled -assertAccountId -assertOidcInteraction -assertReadConditions -asyncToArray -cleanPreferences -cloneRepresentation -concat -createAggregateError -createErrorMessage -createGenericEventEmitterClass -createSubdomainRegexp -createVocabulary -decodeUriPathComponents -encodeUriPathComponents -endOfStream -ensureLeadingSlash -ensureTrailingSlash -errorTermsToMetadata -extendVocabulary -extractErrorTerms -extractScheme -fetchDataset -filter -filterHandlers -find -findHandler -finishInteraction -forgetWebId -generateChannel -generateHttpErrorClass -generateHttpErrorUri -generateRedirectHttpErrorClass -generateWebSocketUrl -getAccessControl -getAccessControlResource -getAccessControlledResources -getBestPreference -getConversionTarget -getDefault -getExtension -getLoggerFor -getMatcher -getModuleRoot -getPolicy -getRelativeUrl -getSingleItem -getTemplateFilePath -getTypeWeight -getWeightedPreferences -guardStream -guardedStreamFrom -hasScheme -identifierHashFn -importOidcProvider -isContainerIdentifier -isContainerPath -isError -isGuarded -isHttpRequest -isHttpsServer -isInternalContentType -isPromise -isRepresentationMetadata -isResourceIdentifier -isSystemError -isTerm -isUrl -isValidFileName -isValidVariable -isWebSocket2023Channel -isWebhook2023Channel -joinFilePath -joinUrl -listSingleThreadedComponents -map -matchesAuthorizationScheme -matchesMediaPreferences -matchesMediaType -modify -modulePath -msToDuration -normalizeFilePath -parseAccept -parseAcceptCharset -parseAcceptDateTime -parseAcceptEncoding -parseAcceptLanguage -parseContentType -parseForwarded -parseLinkHeader -parseParameters -parsePath -parseQuads -parseSchema -parseWebSocketRequest -pipeSafely -preferencesToString -promiseSome -readJsonStream -readPackageJson -readTemplate -readableToQuads -readableToString -reduce -resetInternalLoggerFactory -resolveAssetPath -resolveModulePath -resolvePromiseOrValue -responseToDataset -sanitizeUrlPart -serializeQuads -setGlobalLoggerFactory -setSafeInterval -sortedAsyncMerge -splitAndClean -splitCommaSeparated -termToInt -toCanonicalUriPath -toComponentsJsType -toLiteral -toNamedTerm -toObjectTerm -toPredicateTerm -transformQuotedStrings -transformSafely -trimLeadingSlashes -trimTrailingSlashes -uniqueQuads -updateModifiedDate -validateWithError -verifyAccountId -
diff --git a/7.x/docs/types/AccessMap.html b/7.x/docs/types/AccessMap.html deleted file mode 100644 index 0255eeeb6..000000000 --- a/7.x/docs/types/AccessMap.html +++ /dev/null @@ -1,2 +0,0 @@ -AccessMap | Community Solid Server - v7.1.0

Access modes per identifier.

-
diff --git a/7.x/docs/types/AccountIdKey.html b/7.x/docs/types/AccountIdKey.html deleted file mode 100644 index 6f28c81f8..000000000 --- a/7.x/docs/types/AccountIdKey.html +++ /dev/null @@ -1 +0,0 @@ -AccountIdKey | Community Solid Server - v7.1.0

Type Alias AccountIdKey

AccountIdKey: "accountId"
diff --git a/7.x/docs/types/AccountIdRoute.html b/7.x/docs/types/AccountIdRoute.html deleted file mode 100644 index 53b1b5760..000000000 --- a/7.x/docs/types/AccountIdRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -AccountIdRoute | Community Solid Server - v7.1.0

Type Alias AccountIdRoute

A route that includes an account identifier.

-
diff --git a/7.x/docs/types/AccountInteractionResults.html b/7.x/docs/types/AccountInteractionResults.html deleted file mode 100644 index e89c5bd06..000000000 --- a/7.x/docs/types/AccountInteractionResults.html +++ /dev/null @@ -1,2 +0,0 @@ -AccountInteractionResults | Community Solid Server - v7.1.0

Type Alias AccountInteractionResults

AccountInteractionResults: {
    account?: string;
} & InteractionResults

InteractionResults extended with our custom key for tracking a user's account ID.

-
diff --git a/7.x/docs/types/AccountLoginStorage.html b/7.x/docs/types/AccountLoginStorage.html deleted file mode 100644 index 67fa76bbd..000000000 --- a/7.x/docs/types/AccountLoginStorage.html +++ /dev/null @@ -1,3 +0,0 @@ -AccountLoginStorage | Community Solid Server - v7.1.0

Type Alias AccountLoginStorage<T>

AccountLoginStorage<T>: LoginStorage<T & {
    account: unknown;
}>

A LoginStorage with specific typings to ensure other types can reference account IDs -without actually needing to specify it explicitly in their storage type.

-

Type Parameters

diff --git a/7.x/docs/types/AccountSettings.html b/7.x/docs/types/AccountSettings.html deleted file mode 100644 index df9b27547..000000000 --- a/7.x/docs/types/AccountSettings.html +++ /dev/null @@ -1 +0,0 @@ -AccountSettings | Community Solid Server - v7.1.0

Type Alias AccountSettings

AccountSettings: {
    rememberLogin?: boolean;
}
diff --git a/7.x/docs/types/AclPermissionSet.html b/7.x/docs/types/AclPermissionSet.html deleted file mode 100644 index 748e69b40..000000000 --- a/7.x/docs/types/AclPermissionSet.html +++ /dev/null @@ -1 +0,0 @@ -AclPermissionSet | Community Solid Server - v7.1.0

Type Alias AclPermissionSet

AclPermissionSet: PermissionSet & {
    [mode in AclMode]?: boolean
}
diff --git a/7.x/docs/types/ActivityEmitter.html b/7.x/docs/types/ActivityEmitter.html deleted file mode 100644 index 74b5d883f..000000000 --- a/7.x/docs/types/ActivityEmitter.html +++ /dev/null @@ -1,3 +0,0 @@ -ActivityEmitter | Community Solid Server - v7.1.0

Type Alias ActivityEmitter

ActivityEmitter: GenericEventEmitter<"changed", ((target: ResourceIdentifier, activity: VocabularyTerm<typeof AS>, metadata: RepresentationMetadata) => void)> & GenericEventEmitter<VocabularyValue<typeof AS>, ((target: ResourceIdentifier, metadata: RepresentationMetadata) => void)>

An event emitter used to report changes made to resources. -Both generic change events and ActivityStream-specific events are emitted.

-
diff --git a/7.x/docs/types/ArrayElement.html b/7.x/docs/types/ArrayElement.html deleted file mode 100644 index 2141d1925..000000000 --- a/7.x/docs/types/ArrayElement.html +++ /dev/null @@ -1 +0,0 @@ -ArrayElement | Community Solid Server - v7.1.0

Type Alias ArrayElement<TArray>

ArrayElement<TArray>: TArray[number]

Type Parameters

  • TArray extends readonly unknown[]
diff --git a/7.x/docs/types/AsyncHandlerInput.html b/7.x/docs/types/AsyncHandlerInput.html deleted file mode 100644 index de4dd520d..000000000 --- a/7.x/docs/types/AsyncHandlerInput.html +++ /dev/null @@ -1 +0,0 @@ -AsyncHandlerInput | Community Solid Server - v7.1.0

Type Alias AsyncHandlerInput<T>

AsyncHandlerInput<T>: Parameters<T["handle"]>[0]

Type Parameters

diff --git a/7.x/docs/types/AsyncHandlerOutput.html b/7.x/docs/types/AsyncHandlerOutput.html deleted file mode 100644 index 8cf172f0a..000000000 --- a/7.x/docs/types/AsyncHandlerOutput.html +++ /dev/null @@ -1 +0,0 @@ -AsyncHandlerOutput | Community Solid Server - v7.1.0

Type Alias AsyncHandlerOutput<T>

AsyncHandlerOutput<T>: Awaited<ReturnType<T["handle"]>>

Type Parameters

diff --git a/7.x/docs/types/ChangeMap.html b/7.x/docs/types/ChangeMap.html deleted file mode 100644 index b2e3629dc..000000000 --- a/7.x/docs/types/ChangeMap.html +++ /dev/null @@ -1,4 +0,0 @@ -ChangeMap | Community Solid Server - v7.1.0

An IdentifierMap containing one entry for each resource that was created, updated or deleted -by this operation. Where the value is a RepresentationMetadata -containing extra information about the change of the resource.

-
diff --git a/7.x/docs/types/ClientCredentialsIdRoute.html b/7.x/docs/types/ClientCredentialsIdRoute.html deleted file mode 100644 index 845ca3b5d..000000000 --- a/7.x/docs/types/ClientCredentialsIdRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -ClientCredentialsIdRoute | Community Solid Server - v7.1.0

Type Alias ClientCredentialsIdRoute

ClientCredentialsIdRoute: ExtendedRoute<AccountIdRoute, CredentialsIdKey>

An AccountIdRoute that also includes a credentials identifier.

-
diff --git a/7.x/docs/types/CreateTypeObject.html b/7.x/docs/types/CreateTypeObject.html deleted file mode 100644 index 9ead2323a..000000000 --- a/7.x/docs/types/CreateTypeObject.html +++ /dev/null @@ -1,3 +0,0 @@ -CreateTypeObject | Community Solid Server - v7.1.0

Type Alias CreateTypeObject<T>

CreateTypeObject<T>: Omit<TypeObject<T>, typeof INDEX_ID_KEY>

Input expected for create() call in IndexedStorage. -This is the same as TypeObject but without the index key.

-

Type Parameters

diff --git a/7.x/docs/types/Credentials.html b/7.x/docs/types/Credentials.html deleted file mode 100644 index 94a767c28..000000000 --- a/7.x/docs/types/Credentials.html +++ /dev/null @@ -1,2 +0,0 @@ -Credentials | Community Solid Server - v7.1.0

Type Alias Credentials

Credentials: {
    agent?: {
        webId: string;
    };
    client?: {
        clientId: string;
    };
    issuer?: {
        url: string;
    };
    [key: string]: unknown;
}

Credentials identifying an entity accessing or owning data.

-
diff --git a/7.x/docs/types/CredentialsIdKey.html b/7.x/docs/types/CredentialsIdKey.html deleted file mode 100644 index 0d668dc1e..000000000 --- a/7.x/docs/types/CredentialsIdKey.html +++ /dev/null @@ -1 +0,0 @@ -CredentialsIdKey | Community Solid Server - v7.1.0
diff --git a/7.x/docs/types/EmptyMapConstructor.html b/7.x/docs/types/EmptyMapConstructor.html deleted file mode 100644 index 35f380e93..000000000 --- a/7.x/docs/types/EmptyMapConstructor.html +++ /dev/null @@ -1,2 +0,0 @@ -EmptyMapConstructor | Community Solid Server - v7.1.0

Type Alias EmptyMapConstructor

EmptyMapConstructor: (new () => Map<unknown, unknown>)

A simplified version of MapConstructor that only allows creating an empty Map.

-
diff --git a/7.x/docs/types/EmptyObject.html b/7.x/docs/types/EmptyObject.html deleted file mode 100644 index e64a5371b..000000000 --- a/7.x/docs/types/EmptyObject.html +++ /dev/null @@ -1 +0,0 @@ -EmptyObject | Community Solid Server - v7.1.0

Type Alias EmptyObject

EmptyObject: Record<string, never>
diff --git a/7.x/docs/types/Expires.html b/7.x/docs/types/Expires.html deleted file mode 100644 index 296028739..000000000 --- a/7.x/docs/types/Expires.html +++ /dev/null @@ -1 +0,0 @@ -Expires | Community Solid Server - v7.1.0

Type Alias Expires<T>

Expires<T>: {
    expires?: string;
    payload: T;
}

Type Parameters

  • T
diff --git a/7.x/docs/types/ExtendedRoute.html b/7.x/docs/types/ExtendedRoute.html deleted file mode 100644 index fb97a3ddb..000000000 --- a/7.x/docs/types/ExtendedRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -ExtendedRoute | Community Solid Server - v7.1.0

Type Alias ExtendedRoute<TRoute, TParam>

A route that adds a parameter to an existing route type.

-

Type Parameters

diff --git a/7.x/docs/types/Guarded.html b/7.x/docs/types/Guarded.html deleted file mode 100644 index 2c7a5358a..000000000 --- a/7.x/docs/types/Guarded.html +++ /dev/null @@ -1,4 +0,0 @@ -Guarded | Community Solid Server - v7.1.0

Type Alias Guarded<T>

Guarded<T>: T & Guard

A stream that is guarded from emitting errors when there are no listeners. -If an error occurs while no listener is attached, -it will store the error and emit it once a listener is added (or a timeout occurs).

-

Type Parameters

  • T extends NodeJS.EventEmitter = NodeJS.EventEmitter
diff --git a/7.x/docs/types/HttpRequest.html b/7.x/docs/types/HttpRequest.html deleted file mode 100644 index c23adf3fa..000000000 --- a/7.x/docs/types/HttpRequest.html +++ /dev/null @@ -1,2 +0,0 @@ -HttpRequest | Community Solid Server - v7.1.0

Type Alias HttpRequest

HttpRequest: Guarded<IncomingMessage>

An incoming HTTP request;

-
diff --git a/7.x/docs/types/HttpResponse.html b/7.x/docs/types/HttpResponse.html deleted file mode 100644 index 0df9c5ff4..000000000 --- a/7.x/docs/types/HttpResponse.html +++ /dev/null @@ -1,2 +0,0 @@ -HttpResponse | Community Solid Server - v7.1.0

Type Alias HttpResponse

HttpResponse: ServerResponse

An outgoing HTTP response;

-
diff --git a/7.x/docs/types/IndexRelation.html b/7.x/docs/types/IndexRelation.html deleted file mode 100644 index faeacf2b1..000000000 --- a/7.x/docs/types/IndexRelation.html +++ /dev/null @@ -1,2 +0,0 @@ -IndexRelation | Community Solid Server - v7.1.0

Type Alias IndexRelation<TTypes>

IndexRelation<TTypes>: {
    child: {
        key: string;
        type: StringKey<TTypes>;
    };
    parent: {
        key: VirtualKey<string>;
        type: StringKey<TTypes>;
    };
}

A parent/child relation description in a WrappedIndexedStorage.

-

Type Parameters

  • TTypes
diff --git a/7.x/docs/types/IndexTypeCollection.html b/7.x/docs/types/IndexTypeCollection.html deleted file mode 100644 index 33fb863da..000000000 --- a/7.x/docs/types/IndexTypeCollection.html +++ /dev/null @@ -1,2 +0,0 @@ -IndexTypeCollection | Community Solid Server - v7.1.0

Type Alias IndexTypeCollection<T>

IndexTypeCollection<T>: Record<string, IndexTypeDescription<keyof T>>

The full description of all the types of an IndexedStorage.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/IndexTypeDescription.html b/7.x/docs/types/IndexTypeDescription.html deleted file mode 100644 index e725d7ac9..000000000 --- a/7.x/docs/types/IndexTypeDescription.html +++ /dev/null @@ -1,2 +0,0 @@ -IndexTypeDescription | Community Solid Server - v7.1.0

Type Alias IndexTypeDescription<TType>

IndexTypeDescription<TType>: Record<string, ValueTypeDescription<TType>>

The description of a single type in an IndexedStorage.

-

Type Parameters

  • TType = never
diff --git a/7.x/docs/types/IndexedQuery.html b/7.x/docs/types/IndexedQuery.html deleted file mode 100644 index 5333bf9bd..000000000 --- a/7.x/docs/types/IndexedQuery.html +++ /dev/null @@ -1,13 +0,0 @@ -IndexedQuery | Community Solid Server - v7.1.0

Type Alias IndexedQuery<T, TType, TDepth>

IndexedQuery<T, TType, TDepth>: [TDepth] extends [never]
    ? never
    : {
        [K in keyof T[TType] | typeof INDEX_ID_KEY]?: ValueType<T[TType][K]> | (T[TType][K] extends `${typeof INDEX_ID_KEY}:${infer U}`
            ? IndexedQuery<T, U, Prev[TDepth]>
            : never)
    }

Object that represents a valid query starting from a specific type on an IndexedStorage. -The keys of the object need to be one or more keys from the starting type, -with the values being corresponding valid values of an object of that type. -If the value definition of a key is one that contains the identifier of a different type, -the value in the query can also be a nested object that has the same IndexedQuery requirements for that type. -This can be done recursively.

-

E.g., if the storage has the following definition:

-
 {
account: {},
pod: { baseUrl: 'string', account: 'id:account' },
pod: { owner: 'string', pod: 'id:pod' },
} -
- -

A valid query on the pod type could be { pod: '123456' }, -but also { pod: { baseUrl: 'http://example.com/pod/', account: { id: '789' }}}.

-

Type Parameters

diff --git a/7.x/docs/types/Interaction.html b/7.x/docs/types/Interaction.html deleted file mode 100644 index 4999e607b..000000000 --- a/7.x/docs/types/Interaction.html +++ /dev/null @@ -1 +0,0 @@ -Interaction | Community Solid Server - v7.1.0

Type Alias Interaction

Interaction: NonNullable<KoaContextWithOIDC["oidc"]["entities"]["Interaction"]>
diff --git a/7.x/docs/types/Json.html b/7.x/docs/types/Json.html deleted file mode 100644 index 238e4ab59..000000000 --- a/7.x/docs/types/Json.html +++ /dev/null @@ -1,2 +0,0 @@ -Json | Community Solid Server - v7.1.0
Json:
    | string
    | number
    | boolean
    | NodeJS.Dict<Json>
    | Json[]

A JSON object.

-
diff --git a/7.x/docs/types/LogLevel.html b/7.x/docs/types/LogLevel.html deleted file mode 100644 index b56036337..000000000 --- a/7.x/docs/types/LogLevel.html +++ /dev/null @@ -1,2 +0,0 @@ -LogLevel | Community Solid Server - v7.1.0
LogLevel: typeof LOG_LEVELS[number]

Different log levels, from most important to least important.

-
diff --git a/7.x/docs/types/LoginOutputType.html b/7.x/docs/types/LoginOutputType.html deleted file mode 100644 index 52957f777..000000000 --- a/7.x/docs/types/LoginOutputType.html +++ /dev/null @@ -1,5 +0,0 @@ -LoginOutputType | Community Solid Server - v7.1.0

Type Alias LoginOutputType

LoginOutputType: {
    accountId: string;
    remember?: boolean;
}

Output type that is expected of handlers logging an account in.

-

Type declaration

  • accountId: string

    The ID of the account that logged in.

    -
  • Optionalremember?: boolean

    If this account should be remembered or not. -Setting this to undefined will keep the setting as it currently is.

    -
diff --git a/7.x/docs/types/MapEntry.html b/7.x/docs/types/MapEntry.html deleted file mode 100644 index f6bf5dc9f..000000000 --- a/7.x/docs/types/MapEntry.html +++ /dev/null @@ -1 +0,0 @@ -MapEntry | Community Solid Server - v7.1.0

Type Alias MapEntry<T>

MapEntry<T>: T extends Map<unknown, unknown>
    ? [MapKey<T>, MapValue<T>]
    : never

Type Parameters

  • T
diff --git a/7.x/docs/types/MapKey.html b/7.x/docs/types/MapKey.html deleted file mode 100644 index c87cd4ae9..000000000 --- a/7.x/docs/types/MapKey.html +++ /dev/null @@ -1 +0,0 @@ -MapKey | Community Solid Server - v7.1.0

Type Alias MapKey<T>

MapKey<T>: T extends Map<infer TKey, unknown>
    ? TKey
    : never

Type Parameters

  • T
diff --git a/7.x/docs/types/MapValue.html b/7.x/docs/types/MapValue.html deleted file mode 100644 index ed9bd86b8..000000000 --- a/7.x/docs/types/MapValue.html +++ /dev/null @@ -1 +0,0 @@ -MapValue | Community Solid Server - v7.1.0

Type Alias MapValue<T>

MapValue<T>: T extends Map<unknown, infer TValue>
    ? TValue
    : never

Type Parameters

  • T
diff --git a/7.x/docs/types/MetadataGraph.html b/7.x/docs/types/MetadataGraph.html deleted file mode 100644 index 9c7996d1a..000000000 --- a/7.x/docs/types/MetadataGraph.html +++ /dev/null @@ -1 +0,0 @@ -MetadataGraph | Community Solid Server - v7.1.0

Type Alias MetadataGraph

MetadataGraph:
    | NamedNode
    | BlankNode
    | DefaultGraph
    | string
diff --git a/7.x/docs/types/MetadataIdentifier.html b/7.x/docs/types/MetadataIdentifier.html deleted file mode 100644 index a977dbb16..000000000 --- a/7.x/docs/types/MetadataIdentifier.html +++ /dev/null @@ -1 +0,0 @@ -MetadataIdentifier | Community Solid Server - v7.1.0

Type Alias MetadataIdentifier

MetadataIdentifier: ResourceIdentifier | NamedNode | BlankNode
diff --git a/7.x/docs/types/MetadataRecord.html b/7.x/docs/types/MetadataRecord.html deleted file mode 100644 index e90fd7eae..000000000 --- a/7.x/docs/types/MetadataRecord.html +++ /dev/null @@ -1 +0,0 @@ -MetadataRecord | Community Solid Server - v7.1.0

Type Alias MetadataRecord

MetadataRecord: Record<string, MetadataValue>
diff --git a/7.x/docs/types/MetadataValue.html b/7.x/docs/types/MetadataValue.html deleted file mode 100644 index fba325e0e..000000000 --- a/7.x/docs/types/MetadataValue.html +++ /dev/null @@ -1 +0,0 @@ -MetadataValue | Community Solid Server - v7.1.0

Type Alias MetadataValue

MetadataValue:
    | NamedNode
    | BlankNode
    | Literal
    | string
    | (
        | NamedNode
        | Literal
        | BlankNode
        | string)[]
diff --git a/7.x/docs/types/ModifyOptions.html b/7.x/docs/types/ModifyOptions.html deleted file mode 100644 index 8ebf3001b..000000000 --- a/7.x/docs/types/ModifyOptions.html +++ /dev/null @@ -1,4 +0,0 @@ -ModifyOptions | Community Solid Server - v7.1.0

Type Alias ModifyOptions<T>

ModifyOptions<T>: {
    add?: Iterable<MapEntry<T>>;
    remove?: Iterable<MapKey<T>>;
}

Options describing the necessary changes when calling modify.

-

Type Parameters

Type declaration

  • Optionaladd?: Iterable<MapEntry<T>>

    Entries that need to be added to the Map.

    -
  • Optionalremove?: Iterable<MapKey<T>>

    Keys that need to be removed from the Map.

    -
diff --git a/7.x/docs/types/OptionalKey.html b/7.x/docs/types/OptionalKey.html deleted file mode 100644 index 9bb3f50fe..000000000 --- a/7.x/docs/types/OptionalKey.html +++ /dev/null @@ -1,2 +0,0 @@ -OptionalKey | Community Solid Server - v7.1.0

Type Alias OptionalKey<T>

OptionalKey<T>: {
    [K in keyof T]: T[K] extends `${string}?`
        ? K
        : never
}[keyof T]

Used to filter on optional keys in a IndexedStorage definition.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/PartialVocabulary.html b/7.x/docs/types/PartialVocabulary.html deleted file mode 100644 index a695697a8..000000000 --- a/7.x/docs/types/PartialVocabulary.html +++ /dev/null @@ -1,3 +0,0 @@ -PartialVocabulary | Community Solid Server - v7.1.0

Type Alias PartialVocabulary<TBase>

PartialVocabulary<TBase>: {
    namespace: TBase;
} & Partial<Record<string, string>> & {
    terms: {
        namespace: NamedNode<TBase>;
    } & Partial<Record<string, NamedNode>>;
}

A Vocabulary where all the non-namespace fields are of unknown value. -This is a fallback in case createVocabulary gets called with a non-strict string array.

-

Type Parameters

  • TBase extends string
diff --git a/7.x/docs/types/PasswordIdKey.html b/7.x/docs/types/PasswordIdKey.html deleted file mode 100644 index 017db35c4..000000000 --- a/7.x/docs/types/PasswordIdKey.html +++ /dev/null @@ -1 +0,0 @@ -PasswordIdKey | Community Solid Server - v7.1.0
diff --git a/7.x/docs/types/PasswordIdRoute.html b/7.x/docs/types/PasswordIdRoute.html deleted file mode 100644 index 4cbb1bc42..000000000 --- a/7.x/docs/types/PasswordIdRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -PasswordIdRoute | Community Solid Server - v7.1.0

Type Alias PasswordIdRoute

An AccountIdRoute that also includes a password login identifier.

-
diff --git a/7.x/docs/types/PatchHandlerInput.html b/7.x/docs/types/PatchHandlerInput.html deleted file mode 100644 index deac2e2a3..000000000 --- a/7.x/docs/types/PatchHandlerInput.html +++ /dev/null @@ -1 +0,0 @@ -PatchHandlerInput | Community Solid Server - v7.1.0

Type Alias PatchHandlerInput<T>

PatchHandlerInput<T>: {
    identifier: ResourceIdentifier;
    patch: Patch;
    source: T;
}

Type Parameters

diff --git a/7.x/docs/types/PermissionMap.html b/7.x/docs/types/PermissionMap.html deleted file mode 100644 index 9c18f15b5..000000000 --- a/7.x/docs/types/PermissionMap.html +++ /dev/null @@ -1,2 +0,0 @@ -PermissionMap | Community Solid Server - v7.1.0

Type Alias PermissionMap

PermissionSet per identifier.

-
diff --git a/7.x/docs/types/PermissionSet.html b/7.x/docs/types/PermissionSet.html deleted file mode 100644 index 4ea0d5cd6..000000000 --- a/7.x/docs/types/PermissionSet.html +++ /dev/null @@ -1,2 +0,0 @@ -PermissionSet | Community Solid Server - v7.1.0

Type Alias PermissionSet

PermissionSet: Partial<Record<AccessMode, boolean>>

A data interface indicating which permissions are required (based on the context).

-
diff --git a/7.x/docs/types/PodIdKey.html b/7.x/docs/types/PodIdKey.html deleted file mode 100644 index 58790f569..000000000 --- a/7.x/docs/types/PodIdKey.html +++ /dev/null @@ -1 +0,0 @@ -PodIdKey | Community Solid Server - v7.1.0
diff --git a/7.x/docs/types/PodIdRoute.html b/7.x/docs/types/PodIdRoute.html deleted file mode 100644 index 3fcae6864..000000000 --- a/7.x/docs/types/PodIdRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -PodIdRoute | Community Solid Server - v7.1.0

An AccountIdRoute that also includes a pod identifier.

-
diff --git a/7.x/docs/types/PromiseOrValue.html b/7.x/docs/types/PromiseOrValue.html deleted file mode 100644 index 4f7f9919c..000000000 --- a/7.x/docs/types/PromiseOrValue.html +++ /dev/null @@ -1 +0,0 @@ -PromiseOrValue | Community Solid Server - v7.1.0

Type Alias PromiseOrValue<T>

PromiseOrValue<T>: T | Promise<T>

Type Parameters

  • T
diff --git a/7.x/docs/types/RouteParameter.html b/7.x/docs/types/RouteParameter.html deleted file mode 100644 index 51d8a2fe6..000000000 --- a/7.x/docs/types/RouteParameter.html +++ /dev/null @@ -1,2 +0,0 @@ -RouteParameter | Community Solid Server - v7.1.0

Type Alias RouteParameter<TRoute>

RouteParameter<TRoute>: TRoute extends InteractionRoute<infer TParam>
    ? TParam
    : never

The parameters supported for the given route.

-

Type Parameters

diff --git a/7.x/docs/types/StringKey.html b/7.x/docs/types/StringKey.html deleted file mode 100644 index ed6a9a78c..000000000 --- a/7.x/docs/types/StringKey.html +++ /dev/null @@ -1,2 +0,0 @@ -StringKey | Community Solid Server - v7.1.0

Type Alias StringKey<T>

StringKey<T>: keyof T & string

Key of an object that is also a string.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/Template.html b/7.x/docs/types/Template.html deleted file mode 100644 index c7d9b039c..000000000 --- a/7.x/docs/types/Template.html +++ /dev/null @@ -1 +0,0 @@ -Template | Community Solid Server - v7.1.0
diff --git a/7.x/docs/types/TemplateFileName.html b/7.x/docs/types/TemplateFileName.html deleted file mode 100644 index 55a723aa8..000000000 --- a/7.x/docs/types/TemplateFileName.html +++ /dev/null @@ -1 +0,0 @@ -TemplateFileName | Community Solid Server - v7.1.0

Type Alias TemplateFileName

TemplateFileName: string
diff --git a/7.x/docs/types/TypeObject.html b/7.x/docs/types/TypeObject.html deleted file mode 100644 index 7e4029b81..000000000 --- a/7.x/docs/types/TypeObject.html +++ /dev/null @@ -1,3 +0,0 @@ -TypeObject | Community Solid Server - v7.1.0

Type Alias TypeObject<TDesc>

TypeObject<TDesc>: {
    -readonly [K in Exclude<keyof TDesc, OptionalKey<TDesc>>]: ValueType<TDesc[K]>
} & {
    -readonly [K in keyof TDesc]?: ValueType<TDesc[K]>
} & {
    id: string;
}

Converts a IndexedStorage definition of a specific type -to the typing an object would have that is returned as an output on function calls.

-

Type Parameters

diff --git a/7.x/docs/types/ValidatorInput.html b/7.x/docs/types/ValidatorInput.html deleted file mode 100644 index 3fd6c6f41..000000000 --- a/7.x/docs/types/ValidatorInput.html +++ /dev/null @@ -1 +0,0 @@ -ValidatorInput | Community Solid Server - v7.1.0

Type Alias ValidatorInput

ValidatorInput: {
    identifier: ResourceIdentifier;
    representation: Representation;
}
diff --git a/7.x/docs/types/ValuePreference.html b/7.x/docs/types/ValuePreference.html deleted file mode 100644 index 3c8548253..000000000 --- a/7.x/docs/types/ValuePreference.html +++ /dev/null @@ -1,3 +0,0 @@ -ValuePreference | Community Solid Server - v7.1.0

Type Alias ValuePreference

ValuePreference: {
    value: string;
    weight: number;
}

A single entry of a ValuePreferences object. -Useful when doing operations on such an object.

-
diff --git a/7.x/docs/types/ValuePreferences.html b/7.x/docs/types/ValuePreferences.html deleted file mode 100644 index fb7329e72..000000000 --- a/7.x/docs/types/ValuePreferences.html +++ /dev/null @@ -1,9 +0,0 @@ -ValuePreferences | Community Solid Server - v7.1.0

Type Alias ValuePreferences

ValuePreferences: {
    [key: string]: number;
}

Represents preferred values along a single content negotiation dimension.

-

The number represents how preferred this value is from 0 to 1. -Follows the quality values rule from RFC 7231: -"The weight is normalized to a real number in the range 0 through 1, -where 0.001 is the least preferred and 1 is the most preferred; a -value of 0 means "not acceptable"."

-

Because of an open issue in Components.js we cannot use Record<string, number> right now. -https://github.com/LinkedSoftwareDependencies/Components-Generator.js/issues/103

-
diff --git a/7.x/docs/types/ValueType.html b/7.x/docs/types/ValueType.html deleted file mode 100644 index fc81ee199..000000000 --- a/7.x/docs/types/ValueType.html +++ /dev/null @@ -1,2 +0,0 @@ -ValueType | Community Solid Server - v7.1.0

Type Alias ValueType<T>

ValueType<T>: (T extends "boolean" | "boolean?"
    ? boolean
    : T extends "number" | "number?"
        ? number
        : string) | (T extends `${string}?`
    ? undefined
    : never)

Converts a ValueTypeDescription to the type it should be interpreted as.

-

Type Parameters

diff --git a/7.x/docs/types/ValueTypeDescription.html b/7.x/docs/types/ValueTypeDescription.html deleted file mode 100644 index f1c9ac21c..000000000 --- a/7.x/docs/types/ValueTypeDescription.html +++ /dev/null @@ -1,6 +0,0 @@ -ValueTypeDescription | Community Solid Server - v7.1.0

Type Alias ValueTypeDescription<TType>

ValueTypeDescription<TType>: `${
    | "string"
    | "boolean"
    | "number"
    | (TType extends string
        ? `${typeof INDEX_ID_KEY}:${TType}`
        : never)}${"?" | ""}`

Used to define the value of a key in a type entry of a IndexedStorage. -Valid values are "string", "boolean", "number" and "id:TYPE", -with TYPE being one of the types in the definition. -In the latter case this means that key points to an identifier of the specified type. -A ? can be appended to the type to indicate this key is optional.

-

Type Parameters

  • TType = string
diff --git a/7.x/docs/types/VirtualKey.html b/7.x/docs/types/VirtualKey.html deleted file mode 100644 index 08f4410a1..000000000 --- a/7.x/docs/types/VirtualKey.html +++ /dev/null @@ -1,2 +0,0 @@ -VirtualKey | Community Solid Server - v7.1.0

Type Alias VirtualKey<TChild>

VirtualKey<TChild>: TChild extends string
    ? `**${TChild}**`
    : never

Key used to link to child objects in a WrappedIndexedStorage.

-

Type Parameters

  • TChild
diff --git a/7.x/docs/types/VirtualObject.html b/7.x/docs/types/VirtualObject.html deleted file mode 100644 index b45224de7..000000000 --- a/7.x/docs/types/VirtualObject.html +++ /dev/null @@ -1,2 +0,0 @@ -VirtualObject | Community Solid Server - v7.1.0

Type Alias VirtualObject

VirtualObject: {
    id: string;
    [key: VirtualKey<string>]: Record<string, VirtualObject>;
    [key: string]: unknown;
}

Object stored in the wrapped KeyValueStorage in a WrappedIndexedStorage.

-
diff --git a/7.x/docs/types/Vocabulary.html b/7.x/docs/types/Vocabulary.html deleted file mode 100644 index ff297c4eb..000000000 --- a/7.x/docs/types/Vocabulary.html +++ /dev/null @@ -1,3 +0,0 @@ -Vocabulary | Community Solid Server - v7.1.0

Type Alias Vocabulary<TBase, TKey>

Vocabulary<TBase, TKey>: ValueVocabulary<TBase, TKey> & {
    terms: TermVocabulary<ValueVocabulary<TBase, TKey>>;
}

Contains a namespace and keys linking to the entries in this namespace. -The terms field contains the same values but as NamedNode instead of string.

-

Type Parameters

  • TBase extends string
  • TKey extends string
diff --git a/7.x/docs/types/VocabularyLocal.html b/7.x/docs/types/VocabularyLocal.html deleted file mode 100644 index bc390f9aa..000000000 --- a/7.x/docs/types/VocabularyLocal.html +++ /dev/null @@ -1,2 +0,0 @@ -VocabularyLocal | Community Solid Server - v7.1.0

Type Alias VocabularyLocal<T>

VocabularyLocal<T>: T extends Vocabulary<string, infer TKey>
    ? TKey
    : never

A local name of a Vocabulary.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/VocabularyTerm.html b/7.x/docs/types/VocabularyTerm.html deleted file mode 100644 index 3f0a3efca..000000000 --- a/7.x/docs/types/VocabularyTerm.html +++ /dev/null @@ -1,2 +0,0 @@ -VocabularyTerm | Community Solid Server - v7.1.0

Type Alias VocabularyTerm<T>

VocabularyTerm<T>: T extends Vocabulary<string, infer TKey>
    ? T["terms"][TKey]
    : never

A NamedNode entry of a Vocabulary.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/VocabularyValue.html b/7.x/docs/types/VocabularyValue.html deleted file mode 100644 index db8523c1c..000000000 --- a/7.x/docs/types/VocabularyValue.html +++ /dev/null @@ -1,2 +0,0 @@ -VocabularyValue | Community Solid Server - v7.1.0

Type Alias VocabularyValue<T>

VocabularyValue<T>: T extends Vocabulary<string, infer TKey>
    ? T[TKey]
    : never

A URI string entry of a Vocabulary.

-

Type Parameters

  • T
diff --git a/7.x/docs/types/WebIdLinkKey.html b/7.x/docs/types/WebIdLinkKey.html deleted file mode 100644 index 30b9722c9..000000000 --- a/7.x/docs/types/WebIdLinkKey.html +++ /dev/null @@ -1 +0,0 @@ -WebIdLinkKey | Community Solid Server - v7.1.0

Type Alias WebIdLinkKey

WebIdLinkKey: "webIdLink"
diff --git a/7.x/docs/types/WebIdLinkRoute.html b/7.x/docs/types/WebIdLinkRoute.html deleted file mode 100644 index 3d8915b15..000000000 --- a/7.x/docs/types/WebIdLinkRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -WebIdLinkRoute | Community Solid Server - v7.1.0

Type Alias WebIdLinkRoute

An AccountIdRoute that also includes a Web ID link identifier.

-
diff --git a/7.x/docs/types/YargsOptions.html b/7.x/docs/types/YargsOptions.html deleted file mode 100644 index c00728efb..000000000 --- a/7.x/docs/types/YargsOptions.html +++ /dev/null @@ -1 +0,0 @@ -YargsOptions | Community Solid Server - v7.1.0

Type Alias YargsOptions

YargsOptions: Options
diff --git a/7.x/docs/variables/ACCOUNT_ID_KEY.html b/7.x/docs/variables/ACCOUNT_ID_KEY.html deleted file mode 100644 index db4afc6a5..000000000 --- a/7.x/docs/variables/ACCOUNT_ID_KEY.html +++ /dev/null @@ -1 +0,0 @@ -ACCOUNT_ID_KEY | Community Solid Server - v7.1.0

Variable ACCOUNT_ID_KEYConst

ACCOUNT_ID_KEY: AccountIdKey = 'accountId'
diff --git a/7.x/docs/variables/ACCOUNT_PROMPT.html b/7.x/docs/variables/ACCOUNT_PROMPT.html deleted file mode 100644 index 8e6eebcb6..000000000 --- a/7.x/docs/variables/ACCOUNT_PROMPT.html +++ /dev/null @@ -1,4 +0,0 @@ -ACCOUNT_PROMPT | Community Solid Server - v7.1.0

Variable ACCOUNT_PROMPTConst

ACCOUNT_PROMPT: "account" = 'account'

The prompt that is used to track the account ID of a user during an OIDC interaction. -The already existing login prompt in the InteractionResults -is used to track the WebID that is chosen in an OIDC interaction.

-
diff --git a/7.x/docs/variables/ACCOUNT_SETTINGS_REMEMBER_LOGIN.html b/7.x/docs/variables/ACCOUNT_SETTINGS_REMEMBER_LOGIN.html deleted file mode 100644 index 58537d8c1..000000000 --- a/7.x/docs/variables/ACCOUNT_SETTINGS_REMEMBER_LOGIN.html +++ /dev/null @@ -1,2 +0,0 @@ -ACCOUNT_SETTINGS_REMEMBER_LOGIN | Community Solid Server - v7.1.0

Variable ACCOUNT_SETTINGS_REMEMBER_LOGINConst

ACCOUNT_SETTINGS_REMEMBER_LOGIN: "rememberLogin" = 'rememberLogin'

Settings parameter used to determine if the user wants the login to be remembered.

-
diff --git a/7.x/docs/variables/ACCOUNT_STORAGE_DESCRIPTION.html b/7.x/docs/variables/ACCOUNT_STORAGE_DESCRIPTION.html deleted file mode 100644 index ceb2e99b5..000000000 --- a/7.x/docs/variables/ACCOUNT_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -ACCOUNT_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable ACCOUNT_STORAGE_DESCRIPTIONConst

ACCOUNT_STORAGE_DESCRIPTION: {
    rememberLogin: "boolean?";
} = ...
diff --git a/7.x/docs/variables/ACCOUNT_TYPE.html b/7.x/docs/variables/ACCOUNT_TYPE.html deleted file mode 100644 index 7b58344c3..000000000 --- a/7.x/docs/variables/ACCOUNT_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -ACCOUNT_TYPE | Community Solid Server - v7.1.0

Variable ACCOUNT_TYPEConst

ACCOUNT_TYPE: "account" = 'account'
diff --git a/7.x/docs/variables/ACL.html b/7.x/docs/variables/ACL.html deleted file mode 100644 index 86e5a3f0f..000000000 --- a/7.x/docs/variables/ACL.html +++ /dev/null @@ -1 +0,0 @@ -ACL | Community Solid Server - v7.1.0

Variable ACLConst

ACL: Vocabulary<"http://www.w3.org/ns/auth/acl#",
    | "default"
    | "accessTo"
    | "agent"
    | "agentClass"
    | "agentGroup"
    | "AuthenticatedAgent"
    | "Authorization"
    | "mode"
    | "Write"
    | "Read"
    | "Append"
    | "Control"> = ...
diff --git a/7.x/docs/variables/ACP.html b/7.x/docs/variables/ACP.html deleted file mode 100644 index eee51c471..000000000 --- a/7.x/docs/variables/ACP.html +++ /dev/null @@ -1 +0,0 @@ -ACP | Community Solid Server - v7.1.0

Variable ACPConst

ACP: Vocabulary<"http://www.w3.org/ns/solid/acp#",
    | "agent"
    | "AccessControlResource"
    | "grant"
    | "attribute"
    | "resource"
    | "accessControl"
    | "memberAccessControl"
    | "apply"
    | "allow"
    | "deny"
    | "allOf"
    | "anyOf"
    | "noneOf"
    | "client"
    | "issuer"
    | "vc"> = ...
diff --git a/7.x/docs/variables/APPLICATION_JSON.html b/7.x/docs/variables/APPLICATION_JSON.html deleted file mode 100644 index 3c387ce8a..000000000 --- a/7.x/docs/variables/APPLICATION_JSON.html +++ /dev/null @@ -1 +0,0 @@ -APPLICATION_JSON | Community Solid Server - v7.1.0

Variable APPLICATION_JSONConst

APPLICATION_JSON: "application/json" = 'application/json'
diff --git a/7.x/docs/variables/APPLICATION_LD_JSON.html b/7.x/docs/variables/APPLICATION_LD_JSON.html deleted file mode 100644 index 15faa43b0..000000000 --- a/7.x/docs/variables/APPLICATION_LD_JSON.html +++ /dev/null @@ -1 +0,0 @@ -APPLICATION_LD_JSON | Community Solid Server - v7.1.0

Variable APPLICATION_LD_JSONConst

APPLICATION_LD_JSON: "application/ld+json" = 'application/ld+json'
diff --git a/7.x/docs/variables/APPLICATION_OCTET_STREAM.html b/7.x/docs/variables/APPLICATION_OCTET_STREAM.html deleted file mode 100644 index fcd7a76aa..000000000 --- a/7.x/docs/variables/APPLICATION_OCTET_STREAM.html +++ /dev/null @@ -1 +0,0 @@ -APPLICATION_OCTET_STREAM | Community Solid Server - v7.1.0

Variable APPLICATION_OCTET_STREAMConst

APPLICATION_OCTET_STREAM: "application/octet-stream" = 'application/octet-stream'
diff --git a/7.x/docs/variables/APPLICATION_SPARQL_UPDATE.html b/7.x/docs/variables/APPLICATION_SPARQL_UPDATE.html deleted file mode 100644 index 52b0e47eb..000000000 --- a/7.x/docs/variables/APPLICATION_SPARQL_UPDATE.html +++ /dev/null @@ -1 +0,0 @@ -APPLICATION_SPARQL_UPDATE | Community Solid Server - v7.1.0

Variable APPLICATION_SPARQL_UPDATEConst

APPLICATION_SPARQL_UPDATE: "application/sparql-update" = 'application/sparql-update'
diff --git a/7.x/docs/variables/APPLICATION_X_WWW_FORM_URLENCODED.html b/7.x/docs/variables/APPLICATION_X_WWW_FORM_URLENCODED.html deleted file mode 100644 index 897abca3b..000000000 --- a/7.x/docs/variables/APPLICATION_X_WWW_FORM_URLENCODED.html +++ /dev/null @@ -1 +0,0 @@ -APPLICATION_X_WWW_FORM_URLENCODED | Community Solid Server - v7.1.0

Variable APPLICATION_X_WWW_FORM_URLENCODEDConst

APPLICATION_X_WWW_FORM_URLENCODED: "application/x-www-form-urlencoded" = 'application/x-www-form-urlencoded'
diff --git a/7.x/docs/variables/AS.html b/7.x/docs/variables/AS.html deleted file mode 100644 index c39e15bad..000000000 --- a/7.x/docs/variables/AS.html +++ /dev/null @@ -1 +0,0 @@ -AS | Community Solid Server - v7.1.0

Variable ASConst

AS: Vocabulary<"https://www.w3.org/ns/activitystreams#",
    | "object"
    | "target"
    | "Add"
    | "Create"
    | "Delete"
    | "Remove"
    | "Update"> = ...
diff --git a/7.x/docs/variables/AUTH.html b/7.x/docs/variables/AUTH.html deleted file mode 100644 index 1b2e4e31d..000000000 --- a/7.x/docs/variables/AUTH.html +++ /dev/null @@ -1 +0,0 @@ -AUTH | Community Solid Server - v7.1.0

Variable AUTHConst

AUTH: Vocabulary<"urn:solid:auth:", "userMode" | "publicMode"> = ...
diff --git a/7.x/docs/variables/BaseActivityEmitter.html b/7.x/docs/variables/BaseActivityEmitter.html deleted file mode 100644 index 379831258..000000000 --- a/7.x/docs/variables/BaseActivityEmitter.html +++ /dev/null @@ -1,2 +0,0 @@ -BaseActivityEmitter | Community Solid Server - v7.1.0

Variable BaseActivityEmitterConst

BaseActivityEmitter: (new () => ActivityEmitter) = ...

A class implementation of ActivityEmitter.

-
diff --git a/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_DESCRIPTION.html b/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_DESCRIPTION.html deleted file mode 100644 index dd01520ea..000000000 --- a/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -CLIENT_CREDENTIALS_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable CLIENT_CREDENTIALS_STORAGE_DESCRIPTIONConst

CLIENT_CREDENTIALS_STORAGE_DESCRIPTION: {
    accountId: "id:account";
    label: "string";
    secret: "string";
    webId: "string";
} = ...
diff --git a/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_TYPE.html b/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_TYPE.html deleted file mode 100644 index a979417a8..000000000 --- a/7.x/docs/variables/CLIENT_CREDENTIALS_STORAGE_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -CLIENT_CREDENTIALS_STORAGE_TYPE | Community Solid Server - v7.1.0

Variable CLIENT_CREDENTIALS_STORAGE_TYPEConst

CLIENT_CREDENTIALS_STORAGE_TYPE: "clientCredentials" = 'clientCredentials'
diff --git a/7.x/docs/variables/CONTENT_LENGTH.html b/7.x/docs/variables/CONTENT_LENGTH.html deleted file mode 100644 index 229583b95..000000000 --- a/7.x/docs/variables/CONTENT_LENGTH.html +++ /dev/null @@ -1 +0,0 @@ -CONTENT_LENGTH | Community Solid Server - v7.1.0

Variable CONTENT_LENGTHConst

CONTENT_LENGTH: "http://www.w3.org/2011/http-headers#content-length" = ...
diff --git a/7.x/docs/variables/CONTENT_LENGTH_TERM.html b/7.x/docs/variables/CONTENT_LENGTH_TERM.html deleted file mode 100644 index b9f6cb9ca..000000000 --- a/7.x/docs/variables/CONTENT_LENGTH_TERM.html +++ /dev/null @@ -1 +0,0 @@ -CONTENT_LENGTH_TERM | Community Solid Server - v7.1.0

Variable CONTENT_LENGTH_TERMConst

CONTENT_LENGTH_TERM: NamedNode<"http://www.w3.org/2011/http-headers#content-length"> = ...
diff --git a/7.x/docs/variables/CONTENT_TYPE.html b/7.x/docs/variables/CONTENT_TYPE.html deleted file mode 100644 index f5029d3bc..000000000 --- a/7.x/docs/variables/CONTENT_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -CONTENT_TYPE | Community Solid Server - v7.1.0

Variable CONTENT_TYPEConst

CONTENT_TYPE: "http://www.w3.org/ns/ma-ont#format" = MA.format
diff --git a/7.x/docs/variables/CONTENT_TYPE_TERM.html b/7.x/docs/variables/CONTENT_TYPE_TERM.html deleted file mode 100644 index a1693c484..000000000 --- a/7.x/docs/variables/CONTENT_TYPE_TERM.html +++ /dev/null @@ -1 +0,0 @@ -CONTENT_TYPE_TERM | Community Solid Server - v7.1.0

Variable CONTENT_TYPE_TERMConst

CONTENT_TYPE_TERM: NamedNode<"http://www.w3.org/ns/ma-ont#format"> = MA.terms.format
diff --git a/7.x/docs/variables/DC.html b/7.x/docs/variables/DC.html deleted file mode 100644 index 2eac8dbfe..000000000 --- a/7.x/docs/variables/DC.html +++ /dev/null @@ -1 +0,0 @@ -DC | Community Solid Server - v7.1.0

Variable DCConst

DC: Vocabulary<"http://purl.org/dc/terms/", "description" | "modified" | "title"> = ...
diff --git a/7.x/docs/variables/DEFAULT_CUSTOM_TYPES.html b/7.x/docs/variables/DEFAULT_CUSTOM_TYPES.html deleted file mode 100644 index dbd5d799c..000000000 --- a/7.x/docs/variables/DEFAULT_CUSTOM_TYPES.html +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_CUSTOM_TYPES | Community Solid Server - v7.1.0

Variable DEFAULT_CUSTOM_TYPESConst

DEFAULT_CUSTOM_TYPES: {
    acl: string;
    acr: string;
    meta: string;
} = ...
diff --git a/7.x/docs/variables/DEFAULT_NOTIFICATION_FEATURES.html b/7.x/docs/variables/DEFAULT_NOTIFICATION_FEATURES.html deleted file mode 100644 index b7e3c64ce..000000000 --- a/7.x/docs/variables/DEFAULT_NOTIFICATION_FEATURES.html +++ /dev/null @@ -1,2 +0,0 @@ -DEFAULT_NOTIFICATION_FEATURES | Community Solid Server - v7.1.0

Variable DEFAULT_NOTIFICATION_FEATURESConst

DEFAULT_NOTIFICATION_FEATURES: string[] = ...

The default notification features that are available on all channel types.

-
diff --git a/7.x/docs/variables/DEFAULT_SUBSCRIPTION_SHACL.html b/7.x/docs/variables/DEFAULT_SUBSCRIPTION_SHACL.html deleted file mode 100644 index 3683fe8a0..000000000 --- a/7.x/docs/variables/DEFAULT_SUBSCRIPTION_SHACL.html +++ /dev/null @@ -1,2 +0,0 @@ -DEFAULT_SUBSCRIPTION_SHACL | Community Solid Server - v7.1.0

Variable DEFAULT_SUBSCRIPTION_SHACLConst

DEFAULT_SUBSCRIPTION_SHACL: {
    @context: readonly ["https://w3c.github.io/shacl/shacl-jsonld-context/shacl.context.ld.json"];
    @type: "sh:NodeShape";
    closed: true;
    property: readonly [{
        maxCount: 1;
        minCount: 1;
        nodeKind: "sh:IRI";
        path: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
    }, {
        maxCount: 1;
        minCount: 1;
        nodeKind: "sh:IRI";
        path: "http://www.w3.org/ns/solid/notifications#topic";
    }, unknown];
    targetSubjectsOf: "http://www.w3.org/ns/solid/notifications#topic";
} = ...

The SHACL shape for the minimum requirements on a notification channel subscription request.

-
diff --git a/7.x/docs/variables/FOAF.html b/7.x/docs/variables/FOAF.html deleted file mode 100644 index 9488f30bb..000000000 --- a/7.x/docs/variables/FOAF.html +++ /dev/null @@ -1 +0,0 @@ -FOAF | Community Solid Server - v7.1.0

Variable FOAFConst

FOAF: Vocabulary<"http://xmlns.com/foaf/0.1/", "Agent"> = ...
diff --git a/7.x/docs/variables/HH.html b/7.x/docs/variables/HH.html deleted file mode 100644 index 41620bbf1..000000000 --- a/7.x/docs/variables/HH.html +++ /dev/null @@ -1 +0,0 @@ -HH | Community Solid Server - v7.1.0

Variable HHConst

HH: Vocabulary<"http://www.w3.org/2011/http-headers#", "content-length" | "etag"> = ...
diff --git a/7.x/docs/variables/HTTP.html b/7.x/docs/variables/HTTP.html deleted file mode 100644 index 2f01c604f..000000000 --- a/7.x/docs/variables/HTTP.html +++ /dev/null @@ -1 +0,0 @@ -HTTP | Community Solid Server - v7.1.0

Variable HTTPConst

HTTP: Vocabulary<"http://www.w3.org/2011/http#", "statusCodeNumber"> = ...
diff --git a/7.x/docs/variables/IANA.html b/7.x/docs/variables/IANA.html deleted file mode 100644 index db3d117f2..000000000 --- a/7.x/docs/variables/IANA.html +++ /dev/null @@ -1 +0,0 @@ -IANA | Community Solid Server - v7.1.0

Variable IANAConst

IANA: PartialVocabulary<"http://www.w3.org/ns/iana/media-types/"> = ...
diff --git a/7.x/docs/variables/INDEX_ID_KEY.html b/7.x/docs/variables/INDEX_ID_KEY.html deleted file mode 100644 index 4abebaf9b..000000000 --- a/7.x/docs/variables/INDEX_ID_KEY.html +++ /dev/null @@ -1,2 +0,0 @@ -INDEX_ID_KEY | Community Solid Server - v7.1.0

Variable INDEX_ID_KEYConst

INDEX_ID_KEY: "id" = 'id'

The key that needs to be present in all output results of IndexedStorage.

-
diff --git a/7.x/docs/variables/INTERNAL_ALL.html b/7.x/docs/variables/INTERNAL_ALL.html deleted file mode 100644 index 4539d8a94..000000000 --- a/7.x/docs/variables/INTERNAL_ALL.html +++ /dev/null @@ -1 +0,0 @@ -INTERNAL_ALL | Community Solid Server - v7.1.0

Variable INTERNAL_ALLConst

INTERNAL_ALL: "internal/*" = 'internal/*'
diff --git a/7.x/docs/variables/INTERNAL_ERROR.html b/7.x/docs/variables/INTERNAL_ERROR.html deleted file mode 100644 index 235f33d6c..000000000 --- a/7.x/docs/variables/INTERNAL_ERROR.html +++ /dev/null @@ -1 +0,0 @@ -INTERNAL_ERROR | Community Solid Server - v7.1.0

Variable INTERNAL_ERRORConst

INTERNAL_ERROR: "internal/error" = 'internal/error'
diff --git a/7.x/docs/variables/INTERNAL_QUADS.html b/7.x/docs/variables/INTERNAL_QUADS.html deleted file mode 100644 index 3fb24e796..000000000 --- a/7.x/docs/variables/INTERNAL_QUADS.html +++ /dev/null @@ -1 +0,0 @@ -INTERNAL_QUADS | Community Solid Server - v7.1.0

Variable INTERNAL_QUADSConst

INTERNAL_QUADS: "internal/quads" = 'internal/quads'
diff --git a/7.x/docs/variables/JSON_LD.html b/7.x/docs/variables/JSON_LD.html deleted file mode 100644 index ca4573ba9..000000000 --- a/7.x/docs/variables/JSON_LD.html +++ /dev/null @@ -1 +0,0 @@ -JSON_LD | Community Solid Server - v7.1.0

Variable JSON_LDConst

JSON_LD: Vocabulary<"http://www.w3.org/ns/json-ld#", "context"> = ...
diff --git a/7.x/docs/variables/LDP.html b/7.x/docs/variables/LDP.html deleted file mode 100644 index d6f47d4f0..000000000 --- a/7.x/docs/variables/LDP.html +++ /dev/null @@ -1 +0,0 @@ -LDP | Community Solid Server - v7.1.0

Variable LDPConst

LDP: Vocabulary<"http://www.w3.org/ns/ldp#",
    | "contains"
    | "BasicContainer"
    | "Container"
    | "Resource"> = ...
diff --git a/7.x/docs/variables/LOG_LEVELS.html b/7.x/docs/variables/LOG_LEVELS.html deleted file mode 100644 index 1ad1ff962..000000000 --- a/7.x/docs/variables/LOG_LEVELS.html +++ /dev/null @@ -1 +0,0 @@ -LOG_LEVELS | Community Solid Server - v7.1.0

Variable LOG_LEVELSConst

LOG_LEVELS: readonly ["error", "warn", "info", "verbose", "debug", "silly"] = ...
diff --git a/7.x/docs/variables/MA.html b/7.x/docs/variables/MA.html deleted file mode 100644 index 037d3658e..000000000 --- a/7.x/docs/variables/MA.html +++ /dev/null @@ -1 +0,0 @@ -MA | Community Solid Server - v7.1.0

Variable MAConst

MA: Vocabulary<"http://www.w3.org/ns/ma-ont#", "format"> = ...
diff --git a/7.x/docs/variables/NOTIFY.html b/7.x/docs/variables/NOTIFY.html deleted file mode 100644 index 6a497a42d..000000000 --- a/7.x/docs/variables/NOTIFY.html +++ /dev/null @@ -1 +0,0 @@ -NOTIFY | Community Solid Server - v7.1.0

Variable NOTIFYConst

NOTIFY: Vocabulary<"http://www.w3.org/ns/solid/notifications#",
    | "accept"
    | "channelType"
    | "endAt"
    | "feature"
    | "rate"
    | "receiveFrom"
    | "startAt"
    | "state"
    | "sender"
    | "sendTo"
    | "subscription"
    | "topic"
    | "webhookAuth"
    | "WebhookChannel2023"
    | "WebSocketChannel2023"
    | "StreamingHTTPChannel2023"> = ...
diff --git a/7.x/docs/variables/OIDC.html b/7.x/docs/variables/OIDC.html deleted file mode 100644 index c9525323a..000000000 --- a/7.x/docs/variables/OIDC.html +++ /dev/null @@ -1 +0,0 @@ -OIDC | Community Solid Server - v7.1.0

Variable OIDCConst

OIDC: Vocabulary<"http://www.w3.org/ns/solid/oidc#", "redirect_uris"> = ...
diff --git a/7.x/docs/variables/OWNER_STORAGE_DESCRIPTION.html b/7.x/docs/variables/OWNER_STORAGE_DESCRIPTION.html deleted file mode 100644 index bf15b488d..000000000 --- a/7.x/docs/variables/OWNER_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -OWNER_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable OWNER_STORAGE_DESCRIPTIONConst

OWNER_STORAGE_DESCRIPTION: {
    podId: "id:pod";
    visible: "boolean";
    webId: "string";
} = ...
diff --git a/7.x/docs/variables/OWNER_STORAGE_TYPE.html b/7.x/docs/variables/OWNER_STORAGE_TYPE.html deleted file mode 100644 index 3831dc1f4..000000000 --- a/7.x/docs/variables/OWNER_STORAGE_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -OWNER_STORAGE_TYPE | Community Solid Server - v7.1.0

Variable OWNER_STORAGE_TYPEConst

OWNER_STORAGE_TYPE: "owner" = 'owner'
diff --git a/7.x/docs/variables/PASSWORD_METHOD.html b/7.x/docs/variables/PASSWORD_METHOD.html deleted file mode 100644 index 4d858b994..000000000 --- a/7.x/docs/variables/PASSWORD_METHOD.html +++ /dev/null @@ -1,2 +0,0 @@ -PASSWORD_METHOD | Community Solid Server - v7.1.0

Variable PASSWORD_METHODConst

PASSWORD_METHOD: "password" = 'password'

The constant used to identify email/password based login combinations in the map of logins an account has.

-
diff --git a/7.x/docs/variables/PASSWORD_STORAGE_DESCRIPTION.html b/7.x/docs/variables/PASSWORD_STORAGE_DESCRIPTION.html deleted file mode 100644 index 0d4d40ba2..000000000 --- a/7.x/docs/variables/PASSWORD_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -PASSWORD_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable PASSWORD_STORAGE_DESCRIPTIONConst

PASSWORD_STORAGE_DESCRIPTION: {
    accountId: "id:account";
    email: "string";
    password: "string";
    verified: "boolean";
} = ...
diff --git a/7.x/docs/variables/PASSWORD_STORAGE_TYPE.html b/7.x/docs/variables/PASSWORD_STORAGE_TYPE.html deleted file mode 100644 index 7dd1b98ac..000000000 --- a/7.x/docs/variables/PASSWORD_STORAGE_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -PASSWORD_STORAGE_TYPE | Community Solid Server - v7.1.0

Variable PASSWORD_STORAGE_TYPEConst

PASSWORD_STORAGE_TYPE: "password" = 'password'
diff --git a/7.x/docs/variables/PIM.html b/7.x/docs/variables/PIM.html deleted file mode 100644 index dce6df084..000000000 --- a/7.x/docs/variables/PIM.html +++ /dev/null @@ -1 +0,0 @@ -PIM | Community Solid Server - v7.1.0

Variable PIMConst

PIM: Vocabulary<"http://www.w3.org/ns/pim/space#", "Storage"> = ...
diff --git a/7.x/docs/variables/POD_STORAGE_DESCRIPTION.html b/7.x/docs/variables/POD_STORAGE_DESCRIPTION.html deleted file mode 100644 index c84a7397c..000000000 --- a/7.x/docs/variables/POD_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -POD_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable POD_STORAGE_DESCRIPTIONConst

POD_STORAGE_DESCRIPTION: {
    accountId: "id:account";
    baseUrl: "string";
} = ...
diff --git a/7.x/docs/variables/POD_STORAGE_TYPE.html b/7.x/docs/variables/POD_STORAGE_TYPE.html deleted file mode 100644 index a301b67b7..000000000 --- a/7.x/docs/variables/POD_STORAGE_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -POD_STORAGE_TYPE | Community Solid Server - v7.1.0

Variable POD_STORAGE_TYPEConst

POD_STORAGE_TYPE: "pod" = 'pod'
diff --git a/7.x/docs/variables/POSIX.html b/7.x/docs/variables/POSIX.html deleted file mode 100644 index 7c0f8d141..000000000 --- a/7.x/docs/variables/POSIX.html +++ /dev/null @@ -1 +0,0 @@ -POSIX | Community Solid Server - v7.1.0

Variable POSIXConst

POSIX: Vocabulary<"http://www.w3.org/ns/posix/stat#", "mtime" | "size"> = ...
diff --git a/7.x/docs/variables/PREFERRED_PREFIX.html b/7.x/docs/variables/PREFERRED_PREFIX.html deleted file mode 100644 index 0c948a532..000000000 --- a/7.x/docs/variables/PREFERRED_PREFIX.html +++ /dev/null @@ -1 +0,0 @@ -PREFERRED_PREFIX | Community Solid Server - v7.1.0

Variable PREFERRED_PREFIXConst

PREFERRED_PREFIX: "http://purl.org/vocab/vann/preferredNamespacePrefix" = VANN.preferredNamespacePrefix
diff --git a/7.x/docs/variables/PREFERRED_PREFIX_TERM.html b/7.x/docs/variables/PREFERRED_PREFIX_TERM.html deleted file mode 100644 index 0f559ac0b..000000000 --- a/7.x/docs/variables/PREFERRED_PREFIX_TERM.html +++ /dev/null @@ -1 +0,0 @@ -PREFERRED_PREFIX_TERM | Community Solid Server - v7.1.0

Variable PREFERRED_PREFIX_TERMConst

PREFERRED_PREFIX_TERM: NamedNode<"http://purl.org/vocab/vann/preferredNamespacePrefix"> = VANN.terms.preferredNamespacePrefix
diff --git a/7.x/docs/variables/RDF.html b/7.x/docs/variables/RDF.html deleted file mode 100644 index c004be4da..000000000 --- a/7.x/docs/variables/RDF.html +++ /dev/null @@ -1 +0,0 @@ -RDF | Community Solid Server - v7.1.0

Variable RDFConst

RDF: Vocabulary<"http://www.w3.org/1999/02/22-rdf-syntax-ns#", "type"> = ...
diff --git a/7.x/docs/variables/RDFS.html b/7.x/docs/variables/RDFS.html deleted file mode 100644 index 442f4c114..000000000 --- a/7.x/docs/variables/RDFS.html +++ /dev/null @@ -1 +0,0 @@ -RDFS | Community Solid Server - v7.1.0

Variable RDFSConst

RDFS: Vocabulary<"http://www.w3.org/2000/01/rdf-schema#", "label"> = ...
diff --git a/7.x/docs/variables/SOLID.html b/7.x/docs/variables/SOLID.html deleted file mode 100644 index ad8beb972..000000000 --- a/7.x/docs/variables/SOLID.html +++ /dev/null @@ -1 +0,0 @@ -SOLID | Community Solid Server - v7.1.0

Variable SOLIDConst

SOLID: Vocabulary<"http://www.w3.org/ns/solid/terms#",
    | "deletes"
    | "inserts"
    | "oidcIssuer"
    | "oidcIssuerRegistrationToken"
    | "oidcRegistration"
    | "storageDescription"
    | "where"
    | "InsertDeletePatch"> = ...
diff --git a/7.x/docs/variables/SOLID_AS.html b/7.x/docs/variables/SOLID_AS.html deleted file mode 100644 index 44ea15bf4..000000000 --- a/7.x/docs/variables/SOLID_AS.html +++ /dev/null @@ -1 +0,0 @@ -SOLID_AS | Community Solid Server - v7.1.0

Variable SOLID_ASConst

SOLID_AS: Vocabulary<"urn:npm:solid:community-server:activity:", "activity"> = ...
diff --git a/7.x/docs/variables/SOLID_ERROR.html b/7.x/docs/variables/SOLID_ERROR.html deleted file mode 100644 index 7885bf188..000000000 --- a/7.x/docs/variables/SOLID_ERROR.html +++ /dev/null @@ -1 +0,0 @@ -SOLID_ERROR | Community Solid Server - v7.1.0

Variable SOLID_ERRORConst

SOLID_ERROR: Vocabulary<"urn:npm:solid:community-server:error:",
    | "target"
    | "disallowedMethod"
    | "errorCode"
    | "errorResponse"
    | "stack"> = ...
diff --git a/7.x/docs/variables/SOLID_ERROR_TERM.html b/7.x/docs/variables/SOLID_ERROR_TERM.html deleted file mode 100644 index 812147598..000000000 --- a/7.x/docs/variables/SOLID_ERROR_TERM.html +++ /dev/null @@ -1 +0,0 @@ -SOLID_ERROR_TERM | Community Solid Server - v7.1.0

Variable SOLID_ERROR_TERMConst

SOLID_ERROR_TERM: Vocabulary<"urn:npm:solid:community-server:error-term:", "path"> = ...
diff --git a/7.x/docs/variables/SOLID_HTTP.html b/7.x/docs/variables/SOLID_HTTP.html deleted file mode 100644 index ccaebe3f9..000000000 --- a/7.x/docs/variables/SOLID_HTTP.html +++ /dev/null @@ -1 +0,0 @@ -SOLID_HTTP | Community Solid Server - v7.1.0

Variable SOLID_HTTPConst

SOLID_HTTP: Vocabulary<"urn:npm:solid:community-server:http:",
    | "accountCookie"
    | "accountCookieExpiration"
    | "end"
    | "location"
    | "start"
    | "slug"
    | "unit"> = ...
diff --git a/7.x/docs/variables/SOLID_META.html b/7.x/docs/variables/SOLID_META.html deleted file mode 100644 index 0bf9e424a..000000000 --- a/7.x/docs/variables/SOLID_META.html +++ /dev/null @@ -1 +0,0 @@ -SOLID_META | Community Solid Server - v7.1.0

Variable SOLID_METAConst

SOLID_META: Vocabulary<"urn:npm:solid:community-server:meta:",
    | "value"
    | "ResponseMetadata"
    | "template"
    | "contentTypeParameter"
    | "preserve"
    | "requestedAccess"
    | "accessTarget"
    | "accessMode"> = ...
diff --git a/7.x/docs/variables/TEMPLATE-1.html b/7.x/docs/variables/TEMPLATE-1.html deleted file mode 100644 index 952b7adef..000000000 --- a/7.x/docs/variables/TEMPLATE-1.html +++ /dev/null @@ -1 +0,0 @@ -TEMPLATE | Community Solid Server - v7.1.0

Variable TEMPLATEConst

TEMPLATE: Vocabulary<"urn:solid-server:template:", "ResourceStore"> = ...
diff --git a/7.x/docs/variables/TEMPLATE_VARIABLE.html b/7.x/docs/variables/TEMPLATE_VARIABLE.html deleted file mode 100644 index 6bc6dad62..000000000 --- a/7.x/docs/variables/TEMPLATE_VARIABLE.html +++ /dev/null @@ -1 +0,0 @@ -TEMPLATE_VARIABLE | Community Solid Server - v7.1.0

Variable TEMPLATE_VARIABLEConst

TEMPLATE_VARIABLE: Vocabulary<"urn:solid-server:template:variable:",
    | "baseUrl"
    | "rootFilePath"
    | "sparqlEndpoint"
    | "templateConfig"> = ...
diff --git a/7.x/docs/variables/TEXT_HTML.html b/7.x/docs/variables/TEXT_HTML.html deleted file mode 100644 index 455c17beb..000000000 --- a/7.x/docs/variables/TEXT_HTML.html +++ /dev/null @@ -1 +0,0 @@ -TEXT_HTML | Community Solid Server - v7.1.0

Variable TEXT_HTMLConst

TEXT_HTML: "text/html" = 'text/html'
diff --git a/7.x/docs/variables/TEXT_MARKDOWN.html b/7.x/docs/variables/TEXT_MARKDOWN.html deleted file mode 100644 index 1c5b9e0c5..000000000 --- a/7.x/docs/variables/TEXT_MARKDOWN.html +++ /dev/null @@ -1 +0,0 @@ -TEXT_MARKDOWN | Community Solid Server - v7.1.0

Variable TEXT_MARKDOWNConst

TEXT_MARKDOWN: "text/markdown" = 'text/markdown'
diff --git a/7.x/docs/variables/TEXT_N3.html b/7.x/docs/variables/TEXT_N3.html deleted file mode 100644 index 3d1ed3186..000000000 --- a/7.x/docs/variables/TEXT_N3.html +++ /dev/null @@ -1 +0,0 @@ -TEXT_N3 | Community Solid Server - v7.1.0

Variable TEXT_N3Const

TEXT_N3: "text/n3" = 'text/n3'
diff --git a/7.x/docs/variables/TEXT_TURTLE.html b/7.x/docs/variables/TEXT_TURTLE.html deleted file mode 100644 index c05b2e5da..000000000 --- a/7.x/docs/variables/TEXT_TURTLE.html +++ /dev/null @@ -1 +0,0 @@ -TEXT_TURTLE | Community Solid Server - v7.1.0

Variable TEXT_TURTLEConst

TEXT_TURTLE: "text/turtle" = 'text/turtle'
diff --git a/7.x/docs/variables/UNIT_BYTES.html b/7.x/docs/variables/UNIT_BYTES.html deleted file mode 100644 index 9aac6311a..000000000 --- a/7.x/docs/variables/UNIT_BYTES.html +++ /dev/null @@ -1 +0,0 @@ -UNIT_BYTES | Community Solid Server - v7.1.0

Variable UNIT_BYTESConst

UNIT_BYTES: "bytes" = 'bytes'
diff --git a/7.x/docs/variables/URL_SCHEMA.html b/7.x/docs/variables/URL_SCHEMA.html deleted file mode 100644 index ce3678505..000000000 --- a/7.x/docs/variables/URL_SCHEMA.html +++ /dev/null @@ -1 +0,0 @@ -URL_SCHEMA | Community Solid Server - v7.1.0

Variable URL_SCHEMAConst

URL_SCHEMA: StringSchema<undefined | string, AnyObject, undefined, ""> = ...
diff --git a/7.x/docs/variables/VANN.html b/7.x/docs/variables/VANN.html deleted file mode 100644 index 9932c0c94..000000000 --- a/7.x/docs/variables/VANN.html +++ /dev/null @@ -1 +0,0 @@ -VANN | Community Solid Server - v7.1.0

Variable VANNConst

VANN: Vocabulary<"http://purl.org/vocab/vann/", "preferredNamespacePrefix"> = ...
diff --git a/7.x/docs/variables/VCARD.html b/7.x/docs/variables/VCARD.html deleted file mode 100644 index 7e28cdfbc..000000000 --- a/7.x/docs/variables/VCARD.html +++ /dev/null @@ -1 +0,0 @@ -VCARD | Community Solid Server - v7.1.0

Variable VCARDConst

VCARD: Vocabulary<"http://www.w3.org/2006/vcard/ns#", "hasMember"> = ...
diff --git a/7.x/docs/variables/WEBID_STORAGE_DESCRIPTION.html b/7.x/docs/variables/WEBID_STORAGE_DESCRIPTION.html deleted file mode 100644 index 504057880..000000000 --- a/7.x/docs/variables/WEBID_STORAGE_DESCRIPTION.html +++ /dev/null @@ -1 +0,0 @@ -WEBID_STORAGE_DESCRIPTION | Community Solid Server - v7.1.0

Variable WEBID_STORAGE_DESCRIPTIONConst

WEBID_STORAGE_DESCRIPTION: {
    accountId: "id:account";
    webId: "string";
} = ...
diff --git a/7.x/docs/variables/WEBID_STORAGE_TYPE.html b/7.x/docs/variables/WEBID_STORAGE_TYPE.html deleted file mode 100644 index a1b2f94f0..000000000 --- a/7.x/docs/variables/WEBID_STORAGE_TYPE.html +++ /dev/null @@ -1 +0,0 @@ -WEBID_STORAGE_TYPE | Community Solid Server - v7.1.0

Variable WEBID_STORAGE_TYPEConst

WEBID_STORAGE_TYPE: "webIdLink" = 'webIdLink'
diff --git a/7.x/docs/variables/XSD.html b/7.x/docs/variables/XSD.html deleted file mode 100644 index 281a70d40..000000000 --- a/7.x/docs/variables/XSD.html +++ /dev/null @@ -1 +0,0 @@ -XSD | Community Solid Server - v7.1.0

Variable XSDConst

XSD: Vocabulary<"http://www.w3.org/2001/XMLSchema#",
    | "string"
    | "dateTime"
    | "duration"
    | "integer"> = ...
diff --git a/7.x/docs/variables/modulePathPlaceholder.html b/7.x/docs/variables/modulePathPlaceholder.html deleted file mode 100644 index 4140b5516..000000000 --- a/7.x/docs/variables/modulePathPlaceholder.html +++ /dev/null @@ -1,3 +0,0 @@ -modulePathPlaceholder | Community Solid Server - v7.1.0

Variable modulePathPlaceholderConst

modulePathPlaceholder: "@css:" = '@css:'

A placeholder for the path to the @solid/community-server module root. -The resolveAssetPath function will replace this string with the actual path.

-
diff --git a/7.x/features/index.html b/7.x/features/index.html index 786f3525e..3a7672d4e 100644 --- a/7.x/features/index.html +++ b/7.x/features/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1893,7 +1893,7 @@ and Webhook - + @@ -1904,7 +1904,7 @@ and Webhook - + @@ -1915,7 +1915,7 @@ and Webhook - + @@ -1926,7 +1926,7 @@ and Webhook - +
diff --git a/7.x/features/test/index.html b/7.x/features/test/index.html index a69093850..4ebb5b098 100644 --- a/7.x/features/test/index.html +++ b/7.x/features/test/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1822,7 +1822,7 @@ docker run -i - + @@ -1833,7 +1833,7 @@ docker run -i - + @@ -1844,7 +1844,7 @@ docker run -i - + @@ -1855,7 +1855,7 @@ docker run -i - +
diff --git a/7.x/index.html b/7.x/index.html index 897315e66..e89b8be92 100644 --- a/7.x/index.html +++ b/7.x/index.html @@ -16,7 +16,7 @@ - + @@ -24,7 +24,7 @@ - + @@ -202,7 +202,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1758,7 +1758,7 @@ the - + @@ -1769,7 +1769,7 @@ the - + @@ -1780,7 +1780,7 @@ the - + @@ -1791,7 +1791,7 @@ the - +
diff --git a/7.x/sitemap.xml b/7.x/sitemap.xml index 3050b13cd..6cef667f1 100644 --- a/7.x/sitemap.xml +++ b/7.x/sitemap.xml @@ -2,162 +2,162 @@ https://communitysolidserver.github.io/CommunitySolidServer/7.x/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/features/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/core/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/dependency-injection/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/overview/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/cli/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/http-handler/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/initialization/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/notifications/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/accounts/controls/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/accounts/overview/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/accounts/routes/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/protocol/authorization/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/protocol/overview/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/protocol/parsing/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/protocol/patching/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/protocol/resource-store/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/contributing/making-changes/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/contributing/release/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/features/test/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/authorization-methods/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/client-credentials/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/dev-configuration/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/example-requests/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/identity-provider/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/metadata/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/notifications/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/seeding-pods/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/starting-server/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/account/json-api/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/account/login-method/ - 2024-07-19 + 2024-08-07 daily https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/account/migration/ - 2024-07-19 + 2024-08-07 daily \ No newline at end of file diff --git a/7.x/sitemap.xml.gz b/7.x/sitemap.xml.gz index 8452857aa..84a0e256e 100644 Binary files a/7.x/sitemap.xml.gz and b/7.x/sitemap.xml.gz differ diff --git a/7.x/usage/account/json-api/index.html b/7.x/usage/account/json-api/index.html index 87b7b9f5e..a3dbf7563 100644 --- a/7.x/usage/account/json-api/index.html +++ b/7.x/usage/account/json-api/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -2494,7 +2494,7 @@ The most important one is probably controls.html.account.account wh - + @@ -2505,7 +2505,7 @@ The most important one is probably controls.html.account.account wh - + @@ -2516,7 +2516,7 @@ The most important one is probably controls.html.account.account wh - + @@ -2527,7 +2527,7 @@ The most important one is probably controls.html.account.account wh - +
diff --git a/7.x/usage/account/login-method/index.html b/7.x/usage/account/login-method/index.html index 0009b9149..af380687b 100644 --- a/7.x/usage/account/login-method/index.html +++ b/7.x/usage/account/login-method/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1938,7 +1938,7 @@ if yes, it automatically creates a link on the page so users can create new logi - + @@ -1949,7 +1949,7 @@ if yes, it automatically creates a link on the page so users can create new logi - + @@ -1960,7 +1960,7 @@ if yes, it automatically creates a link on the page so users can create new logi - + @@ -1971,7 +1971,7 @@ if yes, it automatically creates a link on the page so users can create new logi - +
diff --git a/7.x/usage/account/migration/index.html b/7.x/usage/account/migration/index.html index 405f06ed3..063412a63 100644 --- a/7.x/usage/account/migration/index.html +++ b/7.x/usage/account/migration/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1819,7 +1819,7 @@ which prevents initialized roots from being overwritten. - + @@ -1830,7 +1830,7 @@ which prevents initialized roots from being overwritten. - + @@ -1841,7 +1841,7 @@ which prevents initialized roots from being overwritten. - + @@ -1852,7 +1852,7 @@ which prevents initialized roots from being overwritten. - +
diff --git a/7.x/usage/authorization-methods/index.html b/7.x/usage/authorization-methods/index.html index e230cde58..6c9bcf649 100644 --- a/7.x/usage/authorization-methods/index.html +++ b/7.x/usage/authorization-methods/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1698,7 +1698,7 @@ and in the end changing the bundled configurations to use ACP instead.

- + @@ -1709,7 +1709,7 @@ and in the end changing the bundled configurations to use ACP instead.

- + @@ -1720,7 +1720,7 @@ and in the end changing the bundled configurations to use ACP instead.

- + @@ -1731,7 +1731,7 @@ and in the end changing the bundled configurations to use ACP instead.

- +
diff --git a/7.x/usage/client-credentials/index.html b/7.x/usage/client-credentials/index.html index e43dd2508..55b72d170 100644 --- a/7.x/usage/client-credentials/index.html +++ b/7.x/usage/client-credentials/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1892,7 +1892,7 @@ The details of a token can be seen by doing a GET request to the resource URL of - + @@ -1903,7 +1903,7 @@ The details of a token can be seen by doing a GET request to the resource URL of - + @@ -1914,7 +1914,7 @@ The details of a token can be seen by doing a GET request to the resource URL of - + @@ -1925,7 +1925,7 @@ The details of a token can be seen by doing a GET request to the resource URL of - +
diff --git a/7.x/usage/dev-configuration/index.html b/7.x/usage/dev-configuration/index.html index 7a29dfd01..9f8732f8a 100644 --- a/7.x/usage/dev-configuration/index.html +++ b/7.x/usage/dev-configuration/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1924,7 +1924,7 @@ such as the following .community-solid-server.config.js:

- + @@ -1935,7 +1935,7 @@ such as the following .community-solid-server.config.js:

- + @@ -1946,7 +1946,7 @@ such as the following .community-solid-server.config.js:

- + @@ -1957,7 +1957,7 @@ such as the following .community-solid-server.config.js:

- +
diff --git a/7.x/usage/example-requests/index.html b/7.x/usage/example-requests/index.html index 7da6873ef..f2721fcf2 100644 --- a/7.x/usage/example-requests/index.html +++ b/7.x/usage/example-requests/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1889,7 +1889,7 @@ - + @@ -1900,7 +1900,7 @@ - + @@ -1911,7 +1911,7 @@ - + @@ -1922,7 +1922,7 @@ - +
diff --git a/7.x/usage/identity-provider/index.html b/7.x/usage/identity-provider/index.html index 4ede2cc16..d00438595 100644 --- a/7.x/usage/identity-provider/index.html +++ b/7.x/usage/identity-provider/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -2083,7 +2083,7 @@ can be found here.

- + @@ -2094,7 +2094,7 @@ can be found here.

- + @@ -2105,7 +2105,7 @@ can be found here.

- + @@ -2116,7 +2116,7 @@ can be found here.

- +
diff --git a/7.x/usage/metadata/index.html b/7.x/usage/metadata/index.html index 357c38c96..0f2a82f97 100644 --- a/7.x/usage/metadata/index.html +++ b/7.x/usage/metadata/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1910,7 +1910,7 @@ Link: <http://localhost:3000/inbox/> - + @@ -1921,7 +1921,7 @@ Link: <http://localhost:3000/inbox/> - + @@ -1932,7 +1932,7 @@ Link: <http://localhost:3000/inbox/> - + @@ -1943,7 +1943,7 @@ Link: <http://localhost:3000/inbox/> - +
diff --git a/7.x/usage/notifications/index.html b/7.x/usage/notifications/index.html index 8fb835151..7d2abbd33 100644 --- a/7.x/usage/notifications/index.html +++ b/7.x/usage/notifications/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -2109,7 +2109,7 @@ Similarly, to change the maximum duration of webhook channels you can use the id - + @@ -2120,7 +2120,7 @@ Similarly, to change the maximum duration of webhook channels you can use the id - + @@ -2131,7 +2131,7 @@ Similarly, to change the maximum duration of webhook channels you can use the id - + @@ -2142,7 +2142,7 @@ Similarly, to change the maximum duration of webhook channels you can use the id - +
diff --git a/7.x/usage/seeding-pods/index.html b/7.x/usage/seeding-pods/index.html index 0c4fc934e..3cdeb2f9b 100644 --- a/7.x/usage/seeding-pods/index.html +++ b/7.x/usage/seeding-pods/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1697,7 +1697,7 @@ you will need to create a new implementation of pod seeding if you want to use i - + @@ -1708,7 +1708,7 @@ you will need to create a new implementation of pod seeding if you want to use i - + @@ -1719,7 +1719,7 @@ you will need to create a new implementation of pod seeding if you want to use i - + @@ -1730,7 +1730,7 @@ you will need to create a new implementation of pod seeding if you want to use i - +
diff --git a/7.x/usage/starting-server/index.html b/7.x/usage/starting-server/index.html index 1e8b0485c..aaf1524df 100644 --- a/7.x/usage/starting-server/index.html +++ b/7.x/usage/starting-server/index.html @@ -18,7 +18,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -204,7 +204,7 @@
- +
CommunitySolidServer @@ -380,7 +380,7 @@
- +
CommunitySolidServer @@ -1984,7 +1984,7 @@ helm install my-css - + @@ -1995,7 +1995,7 @@ helm install my-css - + @@ -2006,7 +2006,7 @@ helm install my-css - + @@ -2017,7 +2017,7 @@ helm install my-css - +