PageSourceSearch

https://nymph.io/api/latest/

html nymph.io collected 2026-09-25 21:59:47 UTC 24,780 bytes, 100 lines download raw bytes

1<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Nymph.js 1.0.0-beta.113</title><meta name="description" content="Documentation for Nymph.js 1.0.0-beta.113"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/>
1<script defer src="assets/main.js"></script>
1<script async src="assets/icons.js" id="tsd-icons-script"></script>
1<script async src="assets/search.js" id="tsd-search-script"></script>
1<script async src="assets/navigation.js" id="tsd-nav-script"></script>
1<script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script>
1</head><body>
1<script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script>
1<header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">Nymph.js 1.0.0-beta.113</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Nymph.js 1.0.0-beta.113</h1></div><div class="tsd-panel tsd-typography"><h1 id="nymphjs" class="tsd-anchor-link">Nymph.js<a href="#nymphjs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
2<p>Powerful object data storage and querying.</p>
3<h1 id="getting-started" class="tsd-anchor-link">Getting Started<a href="#getting-started" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
4<p>All you need to start using Nymph is the <code>@nymphjs/nymph</code> package and one of the drivers, <code>@nymphjs/driver-mysql</code>, <code>@nymphjs/driver-postgresql</code>, or <code>@nymphjs/driver-sqlite3</code>. Check out the <a href="modules/_nymphjs_nymph.html">readme for the Nymph package</a>.</p>
5<p>You can also set up a REST server to use Nymph remotely, a PubSub server to receive updates for queries, and a user and group management system to provide registration and access control.</p>
6<p>Check out the <a href="https://nymph.io/user-guide/introduction">user guide</a> for information about how to use Nymph once you have it set up.</p>
7<h1 id="nymphjs-packages" class="tsd-anchor-link">Nymph.js Packages<a href="#nymphjs-packages" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
8<h2 id="nymph" class="tsd-anchor-link"><a href="modules/_nymphjs_nymph.html">Nymph</a><a href="#nymph" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
9<p>The Nymph core provides the base level classes and utilities to query the database, save data to it, and define different data types.</p>
10<h2 id="mysql-driver" class="tsd-anchor-link"><a href="modules/_nymphjs_driver-mysql.html">MySQL Driver</a><a href="#mysql-driver" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
11<p>The MySQL driver lets you configure Nymph to query and save data to a MySQL database.</p>
12<h2 id="postgresql-driver" class="tsd-anchor-link"><a href="modules/_nymphjs_driver-postgresql.html">PostgreSQL Driver</a><a href="#postgresql-driver" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
13<p>The PostgreSQL driver lets you configure Nymph to query and save data to a Postgres database.</p>
14<h2 id="sqlite3-driver" class="tsd-anchor-link"><a href="modules/_nymphjs_driver-sqlite3.html">SQLite3 Driver</a><a href="#sqlite3-driver" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
15<p>The SQLite3 driver lets you configure Nymph to query and save data to a SQLite3 database. This includes an in memory SQLite3 database.</p>
16<h2 id="rest-server" class="tsd-anchor-link"><a href="modules/_nymphjs_server.html">REST Server</a><a href="#rest-server" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
17<p>The REST server lets you configure an endpoint for the Nymph client to query and push data to. The server provides this endpoint as an Express middleware, which can be used in a new or existing Express (or compatible) server.</p>
18<h2 id="pubsub-server" class="tsd-anchor-link"><a href="modules/_nymphjs_pubsub.html">PubSub Server</a><a href="#pubsub-server" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
19<p>The PubSub server provides a WebSocket server that allows Nymph to publish changes and the Nymph Client to subscribe to those changes. You can subscribe to individual entities, entity queries, or UIDs.</p>
20<h2 id="client" class="tsd-anchor-link"><a href="modules/_nymphjs_client.html">
20Client</a><a href="#client" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
21<p>The Nymph Client allows you to query and push data to a Nymph REST server from the browser or Node.js. You can also subscribe to entities and queries on a Nymph PubSub server and be notified of changes.</p>
22<h2 id="node-client" class="tsd-anchor-link"><a href="modules/_nymphjs_client-node.html">Node Client</a><a href="#node-client" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
23<p>This package is no longer needed, because Node.js since version 22 provides both <code>fetch</code> and <code>WebSocket</code>. Instead, use the <a href="https://www.npmjs.com/package/@nymphjs/client">regular Nymph.js client package</a>.</p>
24<h2 id="tilmeld" class="tsd-anchor-link"><a href="modules/_nymphjs_tilmeld.html">Tilmeld</a><a href="#tilmeld" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
25<p>Tilmeld (the d is silent) is a user and group management system for Nymph. It provides strict access controls to protect entities from unauthorized access/modification. It allows for granting and revoking ad hoc abilities to users and groups, then checking for those abilities. It provides authentication services and features protection against XSRF attacks.</p>
26<h2 id="tilmeld-client" class="tsd-anchor-link"><a href="modules/_nymphjs_tilmeld-client.html">Tilmeld Client</a><a href="#tilmeld-client" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
27<p>The Tilmeld Client lets you register, login, and perform user account related functions remotely on a Nymph server.</p>
28<h2 id="tilmeld-components" class="tsd-anchor-link"><a href="modules/_nymphjs_tilmeld-components.html">Tilmeld Components</a><a href="#tilmeld-components" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
29<p>The Tilmeld Components are front end registration/login, account recovery, account details, and password change components build with <a href="https://svelte.dev/">Svelte</a> and <a href="https://sveltematerialui.com/">SMUI</a>.</p>
30<h2 id="tilmeld-setup" class="tsd-anchor-link"><a href="modules/_nymphjs_tilmeld-setup.html">Tilmeld Setup</a><a href="#tilmeld-setup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
31<p>The Tilmeld Setup App allows administrators to create, modify, and delete users and groups and configure how Tilmeld works. It also acts as the endpoint for email address verification.</p>
32<h2 id="entity-sorter" class="tsd-anchor-link"><a href="modules/_nymphjs_sorter.html">Entity Sorter</a><a href="#entity-sorter" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
33<p>The Nymph Entity Sorter lets you sort entities by their properties, including hierarchically.</p>
34<h2 id="query-parser" class="tsd-anchor-link"><a href="modules/_nymphjs_query-parser.html">Query Parser</a><a href="#query-parser" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
35<p>The Query Parser is a utility for creating complex Nymph entity queries from a simple text input. Essentially, it turns a string into a Nymph query.</p>
36<h2 id="guid-unique-code-generator" class="tsd-anchor-link"><a href="modules/_nymphjs_guid.html">GUID / Unique Code Generator</a><a href="#guid-unique-code-generator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
37<p>The GUID and unique code generators are used to generate new GUIDs for Nymph objects and various random unique strings.</p>
38<h1 id="breaking-changes" class="tsd-anchor-link">Breaking Changes<a href="#breaking-changes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
39<p>
39In version 1.0.0-beta.110, the access control lists &quot;acRead&quot;, &quot;acWrite&quot;, and &quot;acFull&quot; became arrays of GUIDs (strings) instead of arrays of Users and Groups. The data migration from 1.0.0-beta.109 will handle this for you.</p>
40<p>In version 1.0.0-beta.109, the access control system has been rewritten to store all of its data in the &quot;entities&quot; tables instead of the &quot;data&quot; and &quot;references&quot; tables. This involves a migration, as reported by <code>needsMigration()</code>. You should update to version 1.0.0-beta.109 specifically, do the migration, and only once that is completed, should you update beyond version 1.0.0-beta.109.</p>
41<p>Here is the relavent portion of the docblock from <code>needsMigration()</code>:</p>
42<pre><code><span class="hl-0">&#39;tilmeldColumns&#39;</span><span class="hl-1"> </span><span class="hl-2">means</span><span class="hl-1"> </span><span class="hl-2">the</span><span class="hl-1"> </span><span class="hl-2">entity</span><span class="hl-1"> </span><span class="hl-2">columns</span><span class="hl-1"> </span><span class="hl-2">for</span><span class="hl-1"> </span><span class="hl-0">&quot;user&quot;</span><span class="hl-1">, </span><span class="hl-0">&quot;group&quot;</span><span class="hl-1">, </span><span class="hl-2">and</span><span class="hl-1"> </span><span class="hl-2">access</span><br/><span class="hl-2">controls</span><span class="hl-1"> </span><span class="hl-2">are</span><span class="hl-1"> </span><span class="hl-2">missing</span><span class="hl-1">, </span><span class="hl-2">and</span><span class="hl-1"> </span><span class="hl-2">you</span><span class="hl-1"> </span><span class="hl-2">can</span><span class="hl-1"> </span><span class="hl-2">get</span><span class="hl-1"> </span><span class="hl-2">away</span><span class="hl-1"> </span><span class="hl-3">with</span><span class="hl-1"> </span><span class="hl-2">a</span><span class="hl-1"> </span><span class="hl-2">live</span><span class="hl-1"> </span><span class="hl-2">migration</span><span class="hl-1"> </span><span class="hl-3">with</span><br/><span class="hl-0">`liveMigration(&#39;tilmeldColumns&#39;)`</span><span class="hl-1"> </span><span class="hl-2">and</span><span class="hl-1"> </span><span class="hl-2">doing</span><br/><span class="hl-0">`importEntityTilmeldAC(entity)`</span><span class="hl-1"> </span><span class="hl-2">for</span><span class="hl-1"> </span><span class="hl-2">each</span><span class="hl-1"> </span><span class="hl-2">entity</span><span class="hl-1">. </span><span class="hl-4">DO</span><span class="hl-1"> </span><span class="hl-4">NOT</span><span class="hl-1"> </span><span class="hl-2">update</span><span class="hl-1"> </span><span class="hl-2">to</span><span class="hl-1"> </span><span class="hl-2">any</span><br/><span class="hl-2">version</span><span class="hl-1"> </span><span class="hl-2">later</span><span class="hl-1"> </span><span class="hl-2">than</span><span class="hl-1"> </span><span class="hl-5">1.0</span><span class="hl-1">.</span><span class="hl-5">0</span><span class="hl-1">-</span><span class="hl-2">beta</span><span class="hl-1">.</span><span class="hl-5">109</span><span class="hl-1"> </span><span class="hl-2">before</span><span class="hl-1"> </span><span class="hl-6">this</span><span class="hl-1"> </span><span class="hl-2">is</span><span class="hl-1"> </span><span class="hl-2">done</span><span class="hl-1">, </span><span class="hl-2">or</span><span class="hl-1"> </span><span class="hl-2">access</span><span class="hl-1"> </span><span class="hl-2">controls</span><br/><span class="hl-4">WILL</span><span class="hl-1"> </span><span class="hl-4">NOT</span><span class="hl-1"> </span><span class="hl-2">work</span><span class="hl-1">, </span><span class="hl-2">and</span><span class="hl-1"> </span><span class="hl-2">everyone</span><span class="hl-1"> </span><span class="hl-2">will</span><span class="hl-1"> </span><span class="hl-2">have</span><span class="hl-1"> </span><span class="hl-2">access</span><span class="hl-1"> </span><span class="hl-2">to</span><span class="hl-1"> </span><span class="hl-2">every</span><span class="hl-1"> </span><span class="hl-2">entity</span><span class="hl-1">!</span>
43</code><button>
43Copy</button></pre>
44
45<p>In version 1.0.0-beta.87, the Node Client package has been deprecated. It is no longer needed since Node.js 22, and you should instead use the regular client package.</p>
46<p>In version 1.0.0-beta.78, the database schema changed significantly, and data will need to be exported with an older version, then imported into a fresh database with this version. The meaning of the <code>contain</code> clause also changed to only check if the given value exists in an array.</p>
47<p>In version 1.0.0-beta.41, the server side API was rewritten to match the client side API. All synchronous database calls were removed. This is to prevent a very rare potential bug, because synchronous database calls were made outside of transactions. Here is a list of some things that changed that could break your code:</p>
48<ul>
49<li><code>$gatekeeper</code> is now async</li>
50<li>no guid on <code>constructor</code> or <code>factorySync</code></li>
51<li><code>checkClientUIDPermissions</code> is now async</li>
52<li><code>authenticate</code> is now async</li>
53<li><code>fillSession</code> is now async</li>
54<li><code>login</code> is now async</li>
55<li><code>loginSwitch</code> is now async</li>
56<li><code>logout</code> is now async</li>
57<li><code>logoutSwitch</code> is now async</li>
58<li><code>$addGroup</code> is now async</li>
59<li><code>$delGroup</code> is now async</li>
60<li><code>$inGroup</code> is now async</li>
61<li><code>$getLevel</code> is now async</li>
62<li><code>$ready</code> changed to <code>$wake</code></li>
63<li><code>$readyAll</code> changed to <code>$wakeAll</code></li>
64</ul>
65<p>You will also now need to call <code>$wake</code> on sleeping references before you access their data or they will throw and error.</p>
66<h1 id="development" class="tsd-anchor-link">Development<a href="#development" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
67<p>To develop Nymph.js, checkout the repo and run:</p>
68<pre><code class="sh"><span class="hl-7">npm</span><span class="hl-1"> </span><span class="hl-0">i</span>
69</code><button type="button">Copy</button></pre>
70
71<p>Once you make changes in one package, you can either build that package directly or build all packages with <code>npm run build</code> in the root directory, then the other packages will be aware of the changes.</p>
72<h2 id="testing" class="tsd-anchor-link">Testing<a href="#testing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
73<p>When you're ready to run all the tests, in a separate shell, bring up the test DBs.</p>
74<pre><code class="sh"><span class="hl-7">npm</span><span class="hl-1"> </span><span class="hl-0">run</span><span class="hl-1"> </span><span class="hl-0">test:db:start</span>
75</code><button type="button">Copy</button></pre>
76
77<p>Now in your main terminal, you can run the tests.</p>
78<pre><code class="sh"><span class="hl-7">npm</span><span class="hl-1"> </span><span class="hl-0">run</span><span class="hl-1"> </span><span class="hl-0">test</span>
79</code><button type="button">Copy</button></pre>
80
81<p>Once you're all done, in your main terminal, you can bring down the test DBs (don't use Ctrl-C where the tests are running).</p>
82<pre><code class="sh"><span class="hl-7">npm</span><span class="hl-1"> </span><span class="hl-0">run</span><span class="hl-1"> </span><span class="hl-0">test:db:stop</span>
83</code><button type="button">Copy</button></pre>
84
85<h1 id="human-authorship" class="tsd-anchor-link">Human Authorship<a href="#human-authorship" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
86<p><a href="https://sciactive.com/human-contribution-policy/"><img src="https://sciactive.com/wp-content/uploads/2026/03/Seal-of-Human-Authorship-300.png" alt="Seal of Human Authorship"></a></p>
87<h1 id="license" class="tsd-anchor-link">License<a href="#license" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
88<p>Copyright 2021-2025 SciActive Inc</p>
89<p>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
90you may not use this file except in compliance with the License.
91You may obtain a copy of the License at</p>
92<pre><code>http://www.apache.org/licenses/LICENSE-2.0
93</code></pre>
94<p>Unless required by applicable law or agreed to in writing, softw
94are
95distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
96WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
97See the License for the specific language governing permissions and
98limitations under the License.</p>
99</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#nymphjs"><span>Nymph.js</span></a><a href="#getting-started"><span>Getting <wbr/>Started</span></a><a href="#nymphjs-packages"><span>Nymph.js <wbr/>Packages</span></a><ul><li><a href="#nymph"><span>Nymph</span></a></li><li><a href="#mysql-driver"><span>My<wbr/>SQL <wbr/>Driver</span></a></li><li><a href="#postgresql-driver"><span>Postgre<wbr/>SQL <wbr/>Driver</span></a></li><li><a href="#sqlite3-driver"><span>SQ<wbr/>Lite3 <wbr/>Driver</span></a></li><li><a href="#rest-server"><span>REST <wbr/>Server</span></a></li><li><a href="#pubsub-server"><span>Pub<wbr/>Sub <wbr/>Server</span></a></li><li><a href="#client"><span>Client</span></a></li><li><a href="#node-client"><span>Node <wbr/>Client</span></a></li><li><a href="#tilmeld"><span>Tilmeld</span></a></li><li><a href="#tilmeld-client"><span>Tilmeld <wbr/>Client</span></a></li><li><a href="#tilmeld-components"><span>Tilmeld <wbr/>Components</span></a></li><li><a href="#tilmeld-setup"><span>Tilmeld <wbr/>Setup</span></a></li><li><a href="#entity-sorter"><span>Entity <wbr/>Sorter</span></a></li><li><a href="#query-parser"><span>Query <wbr/>Parser</span></a></li><li><a href="#guid-unique-code-generator"><span>GUID / <wbr/>Unique <wbr/>Code <wbr/>Generator</span></a></li></ul><a href="#breaking-changes"><span>Breaking <wbr/>Changes</span></a><a href="#development"><span>Development</span></a><ul><li><a href="#testing"><span>Testing</span></a></li></ul><a href="#human-authorship"><span>Human <wbr/>Authorship</span></a><a href="#license"><span>License</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">
99Nymph.js 1.0.0-beta.113</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div>
99<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"67d7dbfbe46041b3b2eedcca722bd0fb","r":1,"spa":2}' crossorigin="anonymous"></script>
99
100</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.