diff --git a/docs/dev b/docs/dev index 6eaf894..81ef58f 120000 --- a/docs/dev +++ b/docs/dev @@ -1 +1 @@ -v2.0.0 \ No newline at end of file +v2.0.1 \ No newline at end of file diff --git a/docs/stable b/docs/stable index 6eaf894..81ef58f 120000 --- a/docs/stable +++ b/docs/stable @@ -1 +1 @@ -v2.0.0 \ No newline at end of file +v2.0.1 \ No newline at end of file diff --git a/docs/v2.0 b/docs/v2.0 index 6eaf894..81ef58f 120000 --- a/docs/v2.0 +++ b/docs/v2.0 @@ -1 +1 @@ -v2.0.0 \ No newline at end of file +v2.0.1 \ No newline at end of file diff --git a/docs/v2.0.0/assets/custom.css b/docs/v2.0.0/assets/custom.css new file mode 100644 index 0000000..17b93f4 --- /dev/null +++ b/docs/v2.0.0/assets/custom.css @@ -0,0 +1,29 @@ +.tsd-page-toolbar .tsd-toolbar-contents { + padding: 0.5rem 1rem !important; +} + +header.tsd-page-toolbar { + height: unset !important; +} + +div.svelte-wmon9h { + padding: 0 !important; +} + +#dmt-search-field.svelte-tuln0o, #tsd-search .field input { + top: -2px !important; +} + +button.svelte-10arjs8 { + border-radius: 2px !important; + border: 1px solid #333; + margin: 0 0 0 4px !important; + height: 36px !important; + width: 36px !important; +} + +#plugin-versions-select { + width: 100%; + height: 24px; + margin-top: 4px; +} diff --git a/docs/v2.0.0/assets/dmt/dmt-component-data.js b/docs/v2.0.0/assets/dmt/dmt-component-data.js index dcec783..f8dc4c8 100644 --- a/docs/v2.0.0/assets/dmt/dmt-component-data.js +++ b/docs/v2.0.0/assets/dmt/dmt-component-data.js @@ -1 +1 @@ -globalThis.dmtComponentDataBCMP = 'pVtLc9zGEYYdpcrl35ADbckPRRIfqxVN52SK1IOOSG12GSWVSwoEhrtjApgtYECKOeknJJVfYJMUueZLlvySLNtVytXUKRdVufhb3ANgdzGYAXaaulAU8fX3NWZ6eroHwKn1do86LLhDg7Xo1HpzNyLhOnXIf0+t3+26Pm/YvPO9AEQT2ZWJNuWdeGW8G7R3OOUe2b9F+e14ZaxJumwrDr1XFzucd6M/TfSRDvMnljuk0bHDCTt0OrRLPLvNxj8DwYHIU1nEpZHDQneocjCf/mVsrmNzIfOsr9KHttsTM/+Yvna9WcvRfiPTBl0/5/hSY3GsYTtrdpskjl/uU25sbIwD9LMo8b2bQgq+b8dA+u9eF64sBC65D4PX61ASCtTm0eC38Q73vV2fubFHooPs3+SPx+l/FqLMhRfHgb1O2zanLOgz7vl2uOayjeA/p9bvtzm5z/f/ElNnbazF7ZBvd+EOn7nMiX0S8GgiufTP5FKisL1GA/el9cCydhzPjqL/W9Ye3ILnhiSA3x9GLA4d8qt1oU++NdtYSEi/zRydAAJyfxz+PCQ8p5L9av2tT/F81vVpMMd83w7cJolij3/aursk7pGkDr+apgEn4artSPxVdkPxkzf099KXP7zO4sAhbl7vA62eBDQXOEjt8vzvV/Bj6Y9EeBcH7EOtgIw0l/hqjnkecRSVS3qVIthc6LvKKJgqkXvNADieY0EADsshcLFETIKi7iyxhJXaJKuQCCSxsjvTmiBCO2MYHdoS0FzgSWb3165rcynCr1TJ5OEosTjgIrUVA6NMTIEjQn7e5naWZkeHvAI2F/r6FuElWuNaLR3eXK4H5nmN82Ua6DR0i9meWRqSkQiJ20BnJiEjzSWeLwTrtkfd2bCd7pApwei9qMrOXP5ZRpPlNFW8XiWusUKsrgVO/LkOUfcS/erSwM3FHgvrFgncotblUi0ZjQiaTxlVEoY+aGQkYgnfYU5Sg8F4OGvZ1FctYR0eMXh984VglY0ePBV9hjtrOSzuB7XJneXxiLlqQB1qNlcyEhHmTeIQuk5cEVPSDenDXANHbCJN4hE7ImZ1kwJGlDBNwkNKwM/RJUwBipidJmN+Meb0syMjzSUeCUO1mPhjqcjZKoley94cvQkOQIj10oKukYS6ily/XnR4xLS3CF9inK5Kd6Of9gIUM1gmFcMAhIgnsIETAE9yXh9PMhKRKqGz5XGkRpQ+Vapoc6kvW5uBk5e4oJcYoMypv1m22xHESNAmyoYJ1BoVrQFi2JZjzkKq1nP6YVPRiL5o1nVFOdsCCihn73bhEERsIJke3+wWWn4tOn92MVZydjFUDFCKejRG8Yc5Qj0atMtVJ4uqFRYY5YM5j0I1mp/CdxSpHATD/TX0+SwUc75IoihpRbLzpVcXFQ0NFKPVb9Hh9m+EIQuzFabKSCiMwn6up0rZx4rsOQRqnMqnXRmn1460ebJqwzEIItIqLDDKT296jIXluuNF3VI8atZu2X6SqctnLYfAMD/Jeiq1BfuwqKBB4pSgtNQuI1VJRaJWkVZFWUWvofClsIWSGQ7XE/KfddzpdQztI2EGpRLsMfRf9oqXzfV7OvY8DKPx4x2yylsdulqxeGpFwUob1KbUb5y0U6RsSiVolOKifR+xDZagcYo0wCjq0RjFZ4vimQQrF51QREsNMLrPFyGjUqhXy5WnFOUKE1RKXCJ8g4Vr4gSsJCXmEGdhFlmomlkgMMyHmV3DszdJtrm/W8KdYs7id8tjI0ZEIDDMR5ndPRJGg5k9X0KegTD8396t2FEvFXX0YNQG0SChTyPh5vIwzSobRAF1RoV7thePVkhQqCzTYF1ElilBo0qfBtsgmNKnFI8byVBzGq6OpIxCrcqB7TKQlqxKCYPKzU3is3WCyM3lBqgSWRwkQAOLKJErLDDKPzVpuzOqxLiqiFcaoZrB9LCpshnMQ1BF7DL8MCtiNUhU3KTHM4i4KTfA6D6GTEST05SkmR0uiQ+KeioQo/P9wDw3QEO1K6VqBTgqZ/69qnVTcmYJGrVzOsmpQ3rgRqJsJNdtqN1hR8mLycChxlh1PFLxeEoA6CpNa+VM5LJORIM2VXosbKPb8NxNHNjchFd9MqFLZUIy2FRnH4Y52xMzgQs6gRzKlLkXQdkjQibjfVfHO8CYsh5fh2cZWUwuMbe/fyQmA+YCZsj9y4NK8ofpoVXC+VSmTK8YMz1KFqni5/kCaQFkTP84d2i0aAfwMytv35MFVBhOIluLoyRkmPkgzcNz3o544U8SKAxSEWRM/9WNdZgyEQuuxH9B5ldQxgLbg2boO5lSboFGsDxdEIffPnFptp0U86TMXYo2d3vQaRXclvurESzHAj1qIRYwxuQHyXPR/Kz9rBL3rxuzPumfbyhuvy+za3DGIkeZkRRy78j8MsR8yPtLmXAbag9bO+QFjHnuy3XJhdxX7I1HrbsUrwxyYd0pKPMhTk2l+CgOsQwxT0ni6a+oCuT5K6SkIsiY/rDFRAkscY/J3BLCPFuL8je2PWXQC9lahZn7nm6Bd7u5qkd9aCuBUK+C9p+xSALqa4UKEPHGbOpcWvQl/D/ma9D8VVQJL9Jw+lh0zva8FViAmiMbFYR7jiR2wWSrSj1/LnEPL6KO1UUWzXH+kOccXkM191lk5Vh/yrNKl1G+ZpZ3WFv1dXgNNabFxSKNqXaJGHTDaeLJ3b8UY/mrqGOZQcrJMcsHjgUEroVPkk6Z0/mrqG7Moyvw7cGmfI5ZbANkkGkfcAjfFrQJl6iVDkPCjGI+grehxQvmAP0zgE6tP3xe7y3BY74IPrsgn89s3whi/4urtb17mcoX0/W9m/BqvbDYmqrN7CSt3lbt2nQvKdJE1tq6NlXbh5QV8TB2oErenpqs1fcaIYOqjW9u1ybrMw9hq+4wd+dq7aPpmR702SAJ1g9r07Wpen1v1oHcF7Fwtzb58UdT12o90S7NetSOdutTH9evTtZ74DiBe3DI7szVmZnpyZm9+exLjKH/5xL33xo4PzZw/ZPU718eDL2GRJp3+uRNa+DyyTkrc/jkLWvo7ckDa+DpS+ucZQ3dTOJk6ONL6xMY976DyTchhxERX6hk+Vx8bLIae55w/cWOR33K3z6KCOfQ2g4gb/TsgPpJkfa/o6jDNpInLGQBvrF5cRBRl6zYYfYlkXUUpe1JIyRdeNvzCXymEl2RP6H5DQ=='; \ No newline at end of file +globalThis.dmtComponentDataBCMP = 'pVtLc9tGEkay3qpUfsMelNiJk7WtB00ryp4iS34oa8ksUuvd2tsIGJETgRgWMJSsPfkn7OMXJJIsMdbDsZM4fiSp8l4jn3JxVUq/JT0ASGIwA3Bavsiy8PX3NWZ6eroHwInzbo+5PLjFgrXoxHl7N6LhOnPp/06cP+x6bVEjovWDBEQT6ZWJJhOt7sp4J2juCCZ8+uAGEze7K2N12uFb3dB//XFLiE70l4k+0uXtieUWrbVIOEFCt8U61CdNPv4FCA5EnqoiHotcHnpDlf355C9jcy0ipMyzvkof2mxOzPxz+srVeiVD+51KG3TaGceXaotjNeKukSaNHb/Yp9zY2BgH6BdR7HsngeR83+4C6b97HbiyEHj0Lgxer8VoKFGbh4Pfxlui7e+2udf1abSf/hv/8Sj5z0KUuvDyKCDrrEkE40Gfca9NwjWPbwT/PXH+uC3oXbG/EIgQDF0J2+7ALT73uNtt00BEE9lrscb2Ggu8V849x9lxfRJFvzrOHtyE74U0+E+fclfOXCiimO312QK6FDSSFn7P+BoJ4vvxLem+Dq/ZkN6PeDd06W/OuT791mxtIWb9Ph3WCSCgd8fhz0PCMzrZb87f+xQvZr02C+Z4u00Cr06jri8+b9xekjNCRTIe0ywQNFwlrsJfZjcUP36rfIAOrvJu4FIvq3feqKcA7QX2E7ss/4cl/Fj6Q7kY8wP2kVFARdpLfDPHfZ+6msoFs0oebC/0pDQKpgrk3jAAjuZ4EIDDagh8XCCmQFF3FlvCQqvTVUhbiljRnRlNEKGdMowObQVoL/A4tftbxyNCifBLZTJZOEqsGwiZiPOBUSSmwREhP08ESTeF0SGvge2Fvr1BRYHWuFHLhLeX64F5VuNskQY6Dd3gxLdLQyoSIXET6OwkVKS9xIuFYJ34zJsNm8kWmRCM3ovK7Ozln6U0aU7Txatl4gYrxOpaELQ916L6XmJeXQa4vdgjad2ggZfXuliopaIRQfM5Z1rCMAeNikQs4VvcjUsoGA93LZ36siVswiMGr2++EKzy0YOno09xZw2Xd/tBbXNnWTxirmoktFzgKhIR5nXqUrZOPRlTyg2Zw9wAR2widepTElG7ukkDI0qYOhUho+Dn6BImB0XMTp3zdj7mzLOjIu0lHkpDvZj4c6HI6SqJXoNsjt4EByDEemlAj0tDU0VuXi8mPGLaG1QsccFWlbsxT3sOihksm4phAELEE9hAQ+srzpvjSUUiUmVDENGN9Igyp0odbS/1dWMzcLMS58wSA5Q99XfLpBlBjARNqm2YQG1QMRoghm25K3jI9HrOPGw6GtEXzXqeLGcbQAHl7O0OHNkMTipeXxSbnVzLb0Rnzy7GRhyIPJkNUIpmNEbx+RxlPguaxaqTedUSC4zy/pzPoBrNTuF7mlQGguH+Fvp8Hso5X6RRFLciYT8DaRoGKEar36LD7V8LQx6mK0yXUVAYhQeZniphH8uzZxCocSqedm2c3jjS5ukqgWMQRKSVWGCUn173OQ+LdcfzuoV41KzdIO04UxfPWgaBYX6c9lR6C/ZRXsGAxClBaWlcRrqSjkStIqOKtoreQOFraQslMzwKiMl/NnEn1zG0D6UZlEqwx7B/kRU/nesPTOxZGEbjx1t0VTRabLVk8VTygqU2qE2p3zgZp0jblArQKMVFchexDRagcYoswCia0RjFZ4vymQQvFp3QRAsNMLovFiGjMqhXi5WnNOUSE1RKXKJig4dr8gSsICVmEKdhllmonFkiMMwHqV3NJ5s03dzfL+BOMKfxu+HzESMiERjmw9TuDg2jwcyeLSBPQRj+72+X7KgX8jpmMGqDqNGwzSLp5vIwzWobRA51SoU7xO+OVohRqCxT4x1ElilAo0qfGt+gmNKnEI8bydBwGq6PpIpCrcqB7TKQFqxKBYPKzXXa5usUkZuLDVAlsjxIgAYWUSKXWGCUf6qzZmtUiXFZEy81QjWDyWFTaTOYhaCK2GX4YVfEGpCouEmOZxBxU2yA0X0EmYjFpylxMztcEufzejoQo/PDwDwzQEO1S4VqOTgqZ/6jrHXTcmYBGrVzuvGpQ3LgRtO3Xs6vE6jdYUfJiqnAocZYeTwy+XhKAtgqS2rlVOSiScSAtlV6JG2jm/DcTR7YXIcXk1KhC0VCKthW5wEMc7onpgLnTAIZlC1zL4KyR4ZMyvu+iXeAsWU9ugrPMtKYXOJef/+ITQbMOcyQ+5d7peT3k0OrmPOpSplcsWZ6GC9Szc+zOdIcyJr+UebQaJEE8DMtbz9QBXQYTiJdi6MkVJj9IM3Dc96WfD1REcgNUh5kTf/NtXWYMhkLnsJ/TuXXUNYC24Nm6IlKqbZAI1iewqt4sLqox9LtJJ8nVe5CtL3bg04r57baX41gOZLoUQsxh7Em34+fi2Zn7WeduH/dmvVx/3xDc/tDld2AsxY5TI2UkHtP5Vch9kPeX8pUEKg9iHHIcxj73JfpknO5L98bj1p3CV4b5Ny601D2Q5yYKvGRH2IVYp+S5NNfWRWo85dLSXmQNf1Bg8sSWOEeU7kVhH22luVvl/jaoOeytQ6z9z3ZAm93MlWP/tBWAaFeBe0/Y1EE9NcKNSDijdnEuaToi/l/zNag2auoEl6m4eSx6By89bwCC9BwZKODcM+R5C4Yb1WJ5y8U7uFF1LG6zKIZzudZzuE1VHOfRlaG9acsq3IZ5WtqeYs3dV+H11Bjml8sypgal4hFN5wknsz9KzGWvYo6lhmknAyzeuCYQ+Ba+DjpFDmdvYrqxny2Al9KbKrnmPk2QAXZ9gEHgoRNKhRqrcNQMKOYD+FtaPmCOUD/CqAT509fVntL8Jgvgo9E6Jcz29eCbvury5W9O6nKV9PVvevwar202JqqzOzErd5W5cp0Ly7SZNbaujJVeQApKxIhfGsBT5inJivVvVrIoWoTm9uVyerMfdiqW9zbuVz5ZHqmB302SIL1/cp0Zapa3Zt1IfdFPNytTH76ydSVSk+2S7M+I9FuderT6uXJag8cp3APLt2duTwzMz05szeffoox9P9M7P47A+fHBq5/lvj9y72h15BIs04fv+0MXD4+46QOH7/jDL09vucMPH3lnHGcoZtxnAx9fOV8BuPedzD+JuQgovJ7mjSfy09jVru+L11/ueOzNhPvHkZUCGhtB5C3eiRg7bhI+/9h1OIb8RMWugBfBL3cj5hHV0iYfvfkHEZJe1ILaQfe9nwM36lEl9QPfn4H'; \ No newline at end of file diff --git a/docs/v2.0.0/assets/dmt/dmt-search.cmp b/docs/v2.0.0/assets/dmt/dmt-search.cmp index 664552e..fb40ae2 100644 Binary files a/docs/v2.0.0/assets/dmt/dmt-search.cmp and b/docs/v2.0.0/assets/dmt/dmt-search.cmp differ diff --git a/docs/v2.0.0/assets/highlight.css b/docs/v2.0.0/assets/highlight.css index ab73fb2..9317bd4 100644 --- a/docs/v2.0.0/assets/highlight.css +++ b/docs/v2.0.0/assets/highlight.css @@ -9,20 +9,28 @@ --dark-hl-3: #6A9955; --light-hl-4: #AF00DB; --dark-hl-4: #C586C0; - --light-hl-5: #001080; - --dark-hl-5: #9CDCFE; - --light-hl-6: #0000FF; + --light-hl-5: #800000; + --dark-hl-5: #808080; + --light-hl-6: #800000; --dark-hl-6: #569CD6; - --light-hl-7: #0070C1; - --dark-hl-7: #4FC1FF; - --light-hl-8: #000000FF; - --dark-hl-8: #D4D4D4; - --light-hl-9: #098658; - --dark-hl-9: #B5CEA8; + --light-hl-7: #000000FF; + --dark-hl-7: #D4D4D4; + --light-hl-8: #E50000; + --dark-hl-8: #9CDCFE; + --light-hl-9: #0000FF; + --dark-hl-9: #CE9178; --light-hl-10: #0451A5; --dark-hl-10: #9CDCFE; - --light-hl-11: #267F99; - --dark-hl-11: #4EC9B0; + --light-hl-11: #098658; + --dark-hl-11: #B5CEA8; + --light-hl-12: #001080; + --dark-hl-12: #9CDCFE; + --light-hl-13: #0000FF; + --dark-hl-13: #569CD6; + --light-hl-14: #0070C1; + --dark-hl-14: #4FC1FF; + --light-hl-15: #267F99; + --dark-hl-15: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -40,6 +48,10 @@ --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); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); --code-background: var(--light-code-background); } } @@ -56,6 +68,10 @@ --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); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); --code-background: var(--dark-code-background); } } @@ -72,6 +88,10 @@ --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); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); --code-background: var(--light-code-background); } @@ -88,6 +108,10 @@ --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); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); --code-background: var(--dark-code-background); } @@ -103,4 +127,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); } +.hl-14 { color: var(--hl-14); } +.hl-15 { color: var(--hl-15); } pre, code { background: var(--code-background); } diff --git a/docs/v2.0.0/classes/index.BaseMessageNode.html b/docs/v2.0.0/classes/index.BaseMessageNode.html index 77ae8f3..24ad0ae 100644 --- a/docs/v2.0.0/classes/index.BaseMessageNode.html +++ b/docs/v2.0.0/classes/index.BaseMessageNode.html @@ -1,4 +1,4 @@ -BaseMessageNode | archipelago.js - v2.0.0BaseMessageNode | archipelago.js - v2.0.0
@@ -13,15 +13,15 @@
-

Properties

Properties

Accessors

Methods

Properties

client: Client

The client object containing additional context metadata.

-

The underlying message part component.

-
type: string

The type of this message node.

-

Accessors

The underlying message part component.

+
type: string

The type of this message node.

+

Accessors

  • get text(): string
  • Returns the plaintext component of this message node.

    Returns string

    Same value returned from .toString().

    -

Methods

\ No newline at end of file +

Methods

\ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Client.html b/docs/v2.0.0/classes/index.Client.html index 6a5b074..d4afe08 100644 --- a/docs/v2.0.0/classes/index.Client.html +++ b/docs/v2.0.0/classes/index.Client.html @@ -1,10 +1,10 @@ -Client | archipelago.js - v2.0.0Client | archipelago.js - v2.0.0

    Class Client

    The client that connects to an Archipelago server and provides helper methods and objects to facilitate communication, listen for events, and manage data.

    -

    Constructors

    Constructors

    Properties

    deathLink items messages @@ -29,20 +29,20 @@

    Constructors

    Properties

    deathLink: DeathLinkManager = ...

    A helper object for handling DeathLink mechanics.

    -
    items: ItemsManager = ...

    A helper object for handling received items and hints.

    -
    messages: MessageManager = ...

    A helper object for handling chat messages.

    -
    options: Required<ClientOptions>

    Current options for this client.

    -
    package: DataPackageManager = ...

    A helper object for handling game data packages.

    -
    players: PlayersManager = ...

    A helper object for handling players (including self).

    -
    room: RoomStateManager = ...

    A helper object for handling room state.

    -
    socket: SocketManager = ...

    A helper object for handling websocket communication and AP network protocol.

    -
    storage: DataStorageManager = ...

    A helper object for handling the data storage API.

    -

    Accessors

    • get authenticated(): boolean
    • Returns true if currently connected and authenticated to the Archipelago server.

      -

      Returns boolean

    • get game(): string
    • Returns the client's current game name (or an empty string, if never connected).

      -

      Returns string

    • get name(): string
    • Returns the client's current slot name (or an empty string, if never connected).

      -

      Returns string

    Methods

    • Send a bounce packet targeting any clients that fulfil any target parameters. Can be listened for by listening to +

    Returns Client

    Properties

    deathLink: DeathLinkManager = ...

    A helper object for handling DeathLink mechanics.

    +
    items: ItemsManager = ...

    A helper object for handling received items and hints.

    +
    messages: MessageManager = ...

    A helper object for handling chat messages.

    +
    options: Required<ClientOptions>

    Current options for this client.

    +
    package: DataPackageManager = ...

    A helper object for handling game data packages.

    +
    players: PlayersManager = ...

    A helper object for handling players (including self).

    +
    room: RoomStateManager = ...

    A helper object for handling room state.

    +
    socket: SocketManager = ...

    A helper object for handling websocket communication and AP network protocol.

    +
    storage: DataStorageManager = ...

    A helper object for handling the data storage API.

    +

    Accessors

    • get authenticated(): boolean
    • Returns true if currently connected and authenticated to the Archipelago server.

      +

      Returns boolean

    • get game(): string
    • Returns the client's current game name (or an empty string, if never connected).

      +

      Returns string

    • get name(): string
    • Returns the client's current slot name (or an empty string, if never connected).

      +

      Returns string

    Methods

    • Send a bounce packet targeting any clients that fulfil any target parameters. Can be listened for by listening to "bounced" events on SocketManager.

      Parameters

      • targets: {
            games?: string[];
            slots?: number[];
            tags?: string[];
        }

        The targets to receive this bounce packet.

        • Optionalgames?: string[]

          Specific games that should receive this bounce.

          @@ -51,14 +51,14 @@
      • data: JSONRecord

        The json-serializable data to send.

      Returns void

      UnauthenticatedError If attempting to send a bounce while not authenticated.

      If no targets are specified, no clients will receive this bounce packet.

      -
    • Marks a list of locations as checked on the server.

      +
    • Marks a list of locations as checked on the server.

      Parameters

      • Rest...locations: number[]

        Location ids to check.

      Returns void

      UnauthenticatedError If attempting to check locations while not authenticated.

      Locations that do not exist or have already been checked in the multi-world are ignored.

      -
    • A shorthand for running Client.updateStatus(clientStatuses.goal). Once set, cannot be changed and if release +

    • A shorthand for running Client.updateStatus(clientStatuses.goal). Once set, cannot be changed and if release and/or collect is set to automatic, will release/collect all items.

      Returns void

      UnauthenticatedError If not connected and authenticated.

      -
    • Connect and authenticate to an Archipelago server.

      Type Parameters

      • SlotData extends JSONRecord

        If slot data is requested, this sets the type of the returning slot data.

      Parameters

      • url: string | URL

        The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

      • name: string

        The slot name this client will be connecting to.

        @@ -70,13 +70,13 @@

        If the port is omitted, the client will default to 38281 (AP default).

        If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

        Any paths, queries, fragments, or userinfo components of the provided url will be ignored.

        -
        import { Client } from "archipelago.js";

        const client = new Client();

        await client.login("wss://archipelago.gg:38281", "Phar", "Clique", {
        slotData: false,
        password: "4444"
        }); +
        import { Client } from "archipelago.js";

        const client = new Client();

        await client.login("wss://archipelago.gg:38281", "Phar", "Clique", {
        slotData: false,
        password: "4444"
        });
        -
        import { Client } from "archipelago.js";

        interface CliqueSlotData {
        color: string
        hard_mode: boolean
        }

        const client = new Client();

        // slotData: CliqueSlotData { color: "red", hard_mode: false }
        const slotData = await client.login<CliqueSlotData>("wss://archipelago.gg:38281", "Phar", "Clique"); +
        import { Client } from "archipelago.js";

        interface CliqueSlotData {
        color: string
        hard_mode: boolean
        }

        const client = new Client();

        // slotData: CliqueSlotData { color: "red", hard_mode: false }
        const slotData = await client.login<CliqueSlotData>("wss://archipelago.gg:38281", "Phar", "Clique");
        -
    • Scout a list of locations for their containing items.

      Parameters

      • locations: number[]

        A list of location ids to scout.

      • createHint: 0 | 1 | 2 = 0

        Whether to create hints for these locations.

          @@ -87,20 +87,20 @@ all relevant clients.

      Returns Promise<Item[]>

      UnauthenticatedError If attempting to scout locations while not authenticated.

      -
    • Request the server update the kinds of item received events this client should receive.

      +
    • Request the server update the kinds of item received events this client should receive.

      Parameters

      • items: number

        New item handling flags.

      Returns void

      UnauthenticatedError If not connected and authenticated.

      -
    • Update the client status for the current player. For a list of known client statuses, see clientStatuses.

      Parameters

      Returns void

      UnauthenticatedError If not connected and authenticated.

      The server will automatically set the player's status to clientStatuses.disconnected when all clients connected to this slot have disconnected, set the status to clientStatuses.connected if a client connects to this slot when previously set to clientStatuses.disconnected, or ignores any future updates if ever set to clientStatuses.goal.

      -
      import { Client, clientStatuses } from "archipelago.js";

      const client = new Client();
      await client.login("wss://archipelago.gg:38281", "Phar", "Clique");

      // Mark client as ready to start.
      client.updateStatus(clientStatuses.ready); +
      import { Client, clientStatuses } from "archipelago.js";

      const client = new Client();
      await client.login("wss://archipelago.gg:38281", "Phar", "Clique");

      // Mark client as ready to start.
      client.updateStatus(clientStatuses.ready);
      -
    • Request the server update this client's tags.

      Parameters

      • tags: string[]

        Tags to replace the current ones.

      Returns void

      UnauthenticatedError If not connected and authenticated.

      -
    \ No newline at end of file + \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ColorMessageNode.html b/docs/v2.0.0/classes/index.ColorMessageNode.html index 8ca6029..6e23d1c 100644 --- a/docs/v2.0.0/classes/index.ColorMessageNode.html +++ b/docs/v2.0.0/classes/index.ColorMessageNode.html @@ -1,4 +1,4 @@ -ColorMessageNode | archipelago.js - v2.0.0ColorMessageNode | archipelago.js - v2.0.0
    @@ -13,17 +13,17 @@
    -

    Properties

    Properties

    Accessors

    Methods

    Properties

    client: Client

    The client object containing additional context metadata.

    -

    The explicit color (or style) of this node.

    -

    The underlying message part component.

    -
    type: "color" = ...

    The type of this message node.

    -

    Accessors

    The explicit color (or style) of this node.

    +

    The underlying message part component.

    +
    type: "color" = ...

    The type of this message node.

    +

    Accessors

    • get text(): string
    • Returns the plaintext component of this message node.

      Returns string

      Same value returned from .toString().

      -

    Methods

    \ No newline at end of file +

    Methods

    \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DataPackageManager.html b/docs/v2.0.0/classes/index.DataPackageManager.html index c33e90f..44eccc7 100644 --- a/docs/v2.0.0/classes/index.DataPackageManager.html +++ b/docs/v2.0.0/classes/index.DataPackageManager.html @@ -1,9 +1,9 @@ -DataPackageManager | archipelago.js - v2.0.0DataPackageManager | archipelago.js - v2.0.0

      Class DataPackageManager

      Managers data packages metadata and exposes name lookup methods.

      -

      Methods

      Methods

      Returns DataPackage

      It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See below for an example.

      -
      import fs from "node:fs";
      import { Client } from "archipelago.js";

      // ... misc client code (connecting and fetching data package).

      // Save data package to a local file.
      const data = client.package.exportPackage();
      fs.writeFileSync("path/to/cache/datapackage_cache.json", JSON.stringify(data), "utf8"); +
      import fs from "node:fs";
      import { Client } from "archipelago.js";

      // ... misc client code (connecting and fetching data package).

      // Save data package to a local file.
      const data = client.package.exportPackage();
      fs.writeFileSync("path/to/cache/datapackage_cache.json", JSON.stringify(data), "utf8");
      -
      • Fetches and returns the DataPackage from the server, if the games are not locally cached or checksums +

      • Fetches and returns the DataPackage from the server, if the games are not locally cached or checksums do not match.

        Parameters

        • games: string[] = []

          A list of game packages to fetch. If omitted, will fetch all available game packages from the current room.

          @@ -25,38 +25,38 @@

        Returns Promise<DataPackage>

        It is recommended to export and locally cache the data package after fetching, then prior to any future connections, importing the locally cached package to reduce unnecessary network bandwidth.

        Any requested games that do not exist in the current room will be ignored.

        -
      • Returns the package metadata helper object for a specified game. If game package does not exist in cache, returns +

      • Import a DataPackage object to prepopulate local cache.

        +

      Returns null | PackageMetadata

      • Import a DataPackage object to prepopulate local cache.

        Parameters

        Returns void

        It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See below for an example.

        -
        import fs from "node:fs";
        import { Client } from "archipelago.js";

        const data = fs.readFileSync("path/to/cache/datapackage_cache.json");
        const client = new Client();

        client.package.importPackage(JSON.parse(data));
        await client.login("wss://archipelago.gg:38281", "Phar", "Clique"); +
        import fs from "node:fs";
        import { Client } from "archipelago.js";

        const data = fs.readFileSync("path/to/cache/datapackage_cache.json");
        const client = new Client();

        client.package.importPackage(JSON.parse(data));
        await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
        -
        <script src="archipelago.js" type="module">
        import { Client } from "archipelago.js";

        const data = localStorage.getItem("datapackage_cache");
        const client = new Client();

        client.package.importPackage(JSON.parse(data));
        await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
        </script> +
        <script src="archipelago.js" type="module">
        import { Client } from "archipelago.js";

        const data = localStorage.getItem("datapackage_cache");
        const client = new Client();

        client.package.importPackage(JSON.parse(data));
        await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
        </script>
        -
      • Lookup an item name by its integer id.

        +
      • Lookup an item name by its integer id.

        Parameters

        • game: string

          The name of the game this item is associated with.

        • id: number

          The id of the item to name lookup.

        • Optionalfallback: true

          If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. Defaults to true, if omitted.

          -

        Returns string

      • Lookup an item name by its integer id.

        +

      Returns string

    • Lookup an item name by its integer id.

      Parameters

      • game: string

        The name of the game this item is associated with.

      • id: number

        The id of the item to name lookup.

      • fallback: false

        If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. Defaults to true, if omitted.

        -

      Returns undefined | string

      • Lookup a location name by its integer id.

        +

      Returns undefined | string

      • Lookup a location name by its integer id.

        Parameters

        • game: string

          The name of the game this location is associated with.

        • id: number

          The id of the location to name lookup.

        • Optionalfallback: true

          If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in package. Defaults to true, if omitted.

          -

        Returns string

      • Lookup a location name by its integer id.

        +

      Returns string

    • Lookup a location name by its integer id.

      Parameters

      • game: string

        The name of the game this location is associated with.

      • id: number

        The id of the location to name lookup.

      • fallback: false

        If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in package. Defaults to true, if omitted.

        -

      Returns undefined | string

    • \ No newline at end of file +

      Returns undefined | string

      \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DataStorageManager.html b/docs/v2.0.0/classes/index.DataStorageManager.html index e1d00cc..3be0b21 100644 --- a/docs/v2.0.0/classes/index.DataStorageManager.html +++ b/docs/v2.0.0/classes/index.DataStorageManager.html @@ -1,48 +1,48 @@ -DataStorageManager | archipelago.js - v2.0.0DataStorageManager | archipelago.js - v2.0.0

        Class DataStorageManager

        Manages communication between the data storage API and notifies subscribers of changes to storage updates.

        -

        Accessors

        Accessors

        Methods

        Methods

        • Fetches a list of key-value pairs from data storage.

          Type Parameters

          • T extends JSONRecord

            The expected key-value types to be returned.

          Parameters

          • keys: (keyof T)[]

            A list of keys to fetch values for.

          • Optionalmonitor: boolean

            Adds keys to local cache and request the server to update client when changes are made to speed up subsequent lookups.

          Returns Promise<T>

          An object containing all current values for each key requested.

          Any keys not currently cached and monitored will be requested over the network instead of from memory.

          -
        • Fetches a single key-value pair from data storage.

          +
      • Fetches a single key-value pair from data storage.

        Type Parameters

        Parameters

        • key: string

          The key to fetch a value for.

        • Optionalmonitor: boolean

          Adds key to local cache and request the server to update client when changes are made to speed up subsequent lookups.

        Returns Promise<T>

        The current value for this key.

        Any keys not currently cached and monitored will be requested over the network instead of from memory.

        -
        • Returns item name groups for this package from data storage API.

          +
        • Returns item name groups for this package from data storage API.

          Parameters

          • game: string

            The game name to look up item name groups for.

            -

          Returns Promise<Record<string, string[]>>

        • Returns location name groups for this package from the data storage API.

          +

        Returns Promise<Record<string, string[]>>

        • Returns location name groups for this package from the data storage API.

          Parameters

          • game: string

            The game name to look up location name groups for.

            -

          Returns Promise<Record<string, string[]>>

        • Add a list of keys to be monitored for changes and fire a callback when changes are detected.

          +

        Returns Promise<Record<string, string[]>>

        • Add a list of keys to be monitored for changes and fire a callback when changes are detected.

          Type Parameters

          Parameters

          • keys: (keyof T)[]

            A list of keys to fetch and watch for changes.

          • callback: DataChangeCallback

            A callback to fire whenever one of these keys change.

          Returns Promise<T>

          An object containing all current values for each key requested.

          If connection to the Archipelago server is lost, keys will no longer be tracked for changes and need to be monitored again.

          -
          const keys = ["key1", "key2"];
          const data = await client.storage.notify(keys, (key, value, oldValue) => {
          console.log(`Key '${key}' has been updated from ${oldValue} to ${value}!`);
          });

          client.storage
          .prepare("key2", 0)
          .add(5)
          .commit();
          // Key 'key2' has been updated from 0 to 5! +
          const keys = ["key1", "key2"];
          const data = await client.storage.notify(keys, (key, value, oldValue) => {
          console.log(`Key '${key}' has been updated from ${oldValue} to ${value}!`);
          });

          client.storage
          .prepare("key2", 0)
          .add(5)
          .commit();
          // Key 'key2' has been updated from 0 to 5!
          -
        • Create a new transaction for setting a data storage key by returning an IntermediateDataOperation. To perform certain operations, just chain additional methods until finished, then call prepare().

          Type Parameters

          Parameters

          • key: string

            The key to manipulate.

          • _default: T

            The default value to be used if key does not exist.

          Returns IntermediateDataOperation<T>

          TypeError if attempting to modify a read only key.

          -
          // Prepare key "my-key" and set initial value to 100, if key doesn't exist.
          client.storage
          .prepare("my-key", 100)
          .multiply(0.25) // Multiply value by 0.25.
          .floor() // Round down to nearest integer.
          .max(0) // Clamp value above 0.
          .commit(); // Commit operations to data storage. +
          // Prepare key "my-key" and set initial value to 100, if key doesn't exist.
          client.storage
          .prepare("my-key", 100)
          .multiply(0.25) // Multiply value by 0.25.
          .floor() // Round down to nearest integer.
          .max(0) // Clamp value above 0.
          .commit(); // Commit operations to data storage.
          -
        \ No newline at end of file +
        \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.DeathLinkManager.html b/docs/v2.0.0/classes/index.DeathLinkManager.html index f8e308e..3a30180 100644 --- a/docs/v2.0.0/classes/index.DeathLinkManager.html +++ b/docs/v2.0.0/classes/index.DeathLinkManager.html @@ -1,4 +1,4 @@ -DeathLinkManager | archipelago.js - v2.0.0DeathLinkManager | archipelago.js - v2.0.0
        @@ -13,7 +13,7 @@
        -

        Accessors

        Accessors

        Methods

        Accessors

        Methods

        Methods

        • If DeathLink is enabled, sends a DeathLink to all DeathLink enabled players, otherwise this method does nothing.

          Parameters

          • source: string

            The name of the player who died. Can be a slot name, but could also be a name from within a multiplayer game.

          • Optionalcause: string

            Optional text explaining the cause of death. When provided, this should include the player's name. @@ -39,9 +39,9 @@

          Returns void

          UnauthenticatedError If attempting to send a death link before authenticating to the server.

          DeathLinks sent from this client will not fire a DeathEvents.deathReceived event to avoid an infinite feedback loop of deaths.

          -
        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +

        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

          Type Parameters

          • Event extends "deathReceived"

          Parameters

          • event: Event

            The event name to listen for.

          • clearPredicate: ((...args: DeathEvents[Event]) => boolean) = ...

            An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

            -

          Returns Promise<DeathEvents[Event]>

        \ No newline at end of file +

        Returns Promise<DeathEvents[Event]>

        \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.EventBasedManager.html b/docs/v2.0.0/classes/index.EventBasedManager.html index 72864fa..00a921c 100644 --- a/docs/v2.0.0/classes/index.EventBasedManager.html +++ b/docs/v2.0.0/classes/index.EventBasedManager.html @@ -1,4 +1,4 @@ -EventBasedManager | archipelago.js - v2.0.0EventBasedManager | archipelago.js - v2.0.0
        @@ -14,7 +14,7 @@
        -

        Constructors

        Constructors

        Methods

        off on wait @@ -22,13 +22,13 @@

        Type Parameters

        • Event extends string

        Parameters

        • event: Event

          The event name associated with this listener to remove.

        • listener: ((...args: Events[Event]) => void)

          The callback function to remove.

            • (...args): void
            • Parameters

              Returns void

        Returns this

        This object.

        -
        • Add an event listener for a specific event.

          Type Parameters

          • Event extends string

          Parameters

          • event: Event

            The event name to listen for.

          • listener: ((...args: Events[Event]) => void)

            The callback function to fire when this event is received.

              • (...args): void
              • Parameters

                Returns void

          Returns this

          This object.

          -
        • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

          Type Parameters

          • Event extends string

          Parameters

          • event: Event

            The event name to listen for.

          • clearPredicate: ((...args: Events[Event]) => boolean) = ...

            An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

            -
              • (...args): boolean
              • Parameters

                Returns boolean

          Returns Promise<Events[Event]>

        \ No newline at end of file +
          • (...args): boolean
          • Parameters

            Returns boolean

        Returns Promise<Events[Event]>

        \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Hint.html b/docs/v2.0.0/classes/index.Hint.html index fb72fd1..cd0c47b 100644 --- a/docs/v2.0.0/classes/index.Hint.html +++ b/docs/v2.0.0/classes/index.Hint.html @@ -1,12 +1,12 @@ -Hint | archipelago.js - v2.0.0Hint | archipelago.js - v2.0.0

          Class Hint

          An abstraction of NetworkHint that exposes additional helper methods and accessors received hint data.

          -

          Accessors

          Accessors

          Accessors

          • get entrance(): string
          • Returns the entrance this location is at if entrance data is available, otherwise "Vanilla".

            -

            Returns string

          • get found(): boolean
          • Returns true if this item has been found.

            -

            Returns boolean

          \ No newline at end of file +

          Returns string

          • get found(): boolean
          • Returns true if this item has been found.

            +

            Returns boolean

          \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.IntermediateDataOperation.html b/docs/v2.0.0/classes/index.IntermediateDataOperation.html index 7bdaf6c..4240332 100644 --- a/docs/v2.0.0/classes/index.IntermediateDataOperation.html +++ b/docs/v2.0.0/classes/index.IntermediateDataOperation.html @@ -1,10 +1,10 @@ -IntermediateDataOperation | archipelago.js - v2.0.0IntermediateDataOperation | archipelago.js - v2.0.0

            Class IntermediateDataOperation<T>

            An intermediate abstract object holding an array of data storage operations to be performed in order by the server.

            Type Parameters

            Methods

            add +

            Methods

            add and ceiling commit @@ -26,40 +26,40 @@

            Methods

            Returns IntermediateDataOperation<T>

            • Commit the current operations to data store and return a Promise with the updated key, once fulfilled.

              +

            Returns IntermediateDataOperation<T>

            • Commit the current operations to data store and return a Promise with the updated key, once fulfilled.

              Parameters

              • awaitReply: true

                If true, a promise will be returned with the new value. Otherwise, immediately resolves.

                -

              Returns Promise<T>

            • Commit the current operations to data store.

              -

              Parameters

              • awaitReply: false

              Returns Promise<void>

            Returns Promise<T>

          • Commit the current operations to data store.

            +

            Parameters

            • awaitReply: false

            Returns Promise<void>

          • Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            • List or Dict only: for lists it will remove the index of the value given. For dicts it removes the element +

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            • Dict only: Updates the dictionary with the specified elements given in value creating new keys, or updating old +

            Returns IntermediateDataOperation<T>

            Returns IntermediateDataOperation<T>

            \ No newline at end of file +

            Returns IntermediateDataOperation<T>

            \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Item.html b/docs/v2.0.0/classes/index.Item.html index c29be01..7a14b51 100644 --- a/docs/v2.0.0/classes/index.Item.html +++ b/docs/v2.0.0/classes/index.Item.html @@ -1,9 +1,9 @@ -Item | archipelago.js - v2.0.0Item | archipelago.js - v2.0.0

              Class Item

              An abstraction of NetworkItem that exposes additional helper methods and accessors for this item data.

              -

              Accessors

              Accessors

              filler flags game id @@ -18,17 +18,17 @@ useful

              Methods

              Accessors

              • get filler(): boolean
              • Returns true if this item has no special flags.

                -

                Returns boolean

              • get flags(): number
              • Returns the item classification bitflags for this item.

                -

                Returns number

              • get locationGame(): string
              • Returns the game name for the location this item was contained.

                -

                Returns string

              • get locationId(): number
              • Returns the id of the location where this item was contained.

                -

                Returns number

              • get locationName(): string
              • Returns the name of the location where this item was contained.

                -

                Returns string

              • get progression(): boolean
              • Returns true if this item is flagged as progression.

                -

                Returns boolean

              • get trap(): boolean
              • Returns true if this item is flagged as a trap.

                -

                Returns boolean

              • get useful(): boolean
              • Returns true if this item is flagged as useful.

                -

                Returns boolean

              Methods

              \ No newline at end of file +

              Returns boolean

              • get flags(): number
              • Returns the item classification bitflags for this item.

                +

                Returns number

              • get locationGame(): string
              • Returns the game name for the location this item was contained.

                +

                Returns string

              • get locationId(): number
              • Returns the id of the location where this item was contained.

                +

                Returns number

              • get locationName(): string
              • Returns the name of the location where this item was contained.

                +

                Returns string

              • get progression(): boolean
              • Returns true if this item is flagged as progression.

                +

                Returns boolean

              • get trap(): boolean
              • Returns true if this item is flagged as a trap.

                +

                Returns boolean

              • get useful(): boolean
              • Returns true if this item is flagged as useful.

                +

                Returns boolean

              Methods

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ItemMessageNode.html b/docs/v2.0.0/classes/index.ItemMessageNode.html index d76dc05..bcbe6d1 100644 --- a/docs/v2.0.0/classes/index.ItemMessageNode.html +++ b/docs/v2.0.0/classes/index.ItemMessageNode.html @@ -1,4 +1,4 @@ -ItemMessageNode | archipelago.js - v2.0.0ItemMessageNode | archipelago.js - v2.0.0
              @@ -13,16 +13,16 @@
              -

              Properties

              Properties

              Accessors

              Methods

              Properties

              client: Client

              The client object containing additional context metadata.

              -
              item: Item

              The item this node is referring to.

              -

              The underlying message part component.

              -
              type: "item" = ...

              The type of this message node.

              -

              Accessors

              Methods

              \ No newline at end of file +
              item: Item

              The item this node is referring to.

              +

              The underlying message part component.

              +
              type: "item" = ...

              The type of this message node.

              +

              Accessors

              Methods

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.ItemsManager.html b/docs/v2.0.0/classes/index.ItemsManager.html index 70633a7..d7250e4 100644 --- a/docs/v2.0.0/classes/index.ItemsManager.html +++ b/docs/v2.0.0/classes/index.ItemsManager.html @@ -1,4 +1,4 @@ -ItemsManager | archipelago.js - v2.0.0ItemsManager | archipelago.js - v2.0.0
              @@ -13,29 +13,29 @@
              -

              Accessors

              Accessors

              Methods

              Accessors

              • get hints(): Hint[]
              • Returns a copy of all hints for this player.

                Returns Hint[]

                Hints may take a moment to populate after establishing connection to server, as it needs to wait for data storage to fetch all current hints. If you need hints right after connecting, listen for the ItemEvents.hintsInitialized event.

                -

              Methods

              • Removes an existing event listener.

                +

              Methods

              • Removes an existing event listener.

                Type Parameters

                • Event extends
                      | "itemsReceived"
                      | "hintReceived"
                      | "hintFound"
                      | "hintsInitialized"

                Parameters

                • event: Event

                  The event name associated with this listener to remove.

                • listener: ((...args: ItemEvents[Event]) => void)

                  The callback function to remove.

                Returns this

                This object.

                -
              • Add an event listener for a specific event.

                Type Parameters

                • Event extends
                      | "itemsReceived"
                      | "hintReceived"
                      | "hintFound"
                      | "hintsInitialized"

                Parameters

                • event: Event

                  The event name to listen for.

                • listener: ((...args: ItemEvents[Event]) => void)

                  The callback function to fire when this event is received.

                Returns this

                This object.

                -
              • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

                Type Parameters

                • Event extends
                      | "itemsReceived"
                      | "hintReceived"
                      | "hintFound"
                      | "hintsInitialized"

                Parameters

                • event: Event

                  The event name to listen for.

                • clearPredicate: ((...args: ItemEvents[Event]) => boolean) = ...

                  An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

                  -

                Returns Promise<ItemEvents[Event]>

              \ No newline at end of file +

              Returns Promise<ItemEvents[Event]>

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.LocationMessageNode.html b/docs/v2.0.0/classes/index.LocationMessageNode.html index 8819ecc..e630206 100644 --- a/docs/v2.0.0/classes/index.LocationMessageNode.html +++ b/docs/v2.0.0/classes/index.LocationMessageNode.html @@ -1,4 +1,4 @@ -LocationMessageNode | archipelago.js - v2.0.0LocationMessageNode | archipelago.js - v2.0.0
              @@ -13,16 +13,16 @@
              -

              Properties

              Properties

              Accessors

              Methods

              Properties

              client: Client

              The client object containing additional context metadata.

              -
              id: number

              The integer id of this location.

              -

              The underlying message part component.

              -
              type: "location" = ...

              The type of this message node.

              -

              Accessors

              Methods

              \ No newline at end of file +
              id: number

              The integer id of this location.

              +

              The underlying message part component.

              +
              type: "location" = ...

              The type of this message node.

              +

              Accessors

              Methods

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.MessageManager.html b/docs/v2.0.0/classes/index.MessageManager.html index 1eabddc..860b7de 100644 --- a/docs/v2.0.0/classes/index.MessageManager.html +++ b/docs/v2.0.0/classes/index.MessageManager.html @@ -1,4 +1,4 @@ -MessageManager | archipelago.js - v2.0.0MessageManager | archipelago.js - v2.0.0
              @@ -14,7 +14,7 @@
              -

              Accessors

              log +

              Accessors

              Methods

              off on say @@ -22,21 +22,21 @@

              Accessors

              Methods

              Methods

              • Removes an existing event listener.

                Type Parameters

                • Event extends
                      | "disconnected"
                      | "connected"
                      | "message"
                      | "itemSent"
                      | "itemCheated"
                      | "itemHinted"
                      | "chat"
                      | "serverChat"
                      | "tutorial"
                      | "tagsUpdated"
                      | "userCommand"
                      | "adminCommand"
                      | "goaled"
                      | "released"
                      | "collected"
                      | "countdown"

                Parameters

                • event: Event

                  The event name associated with this listener to remove.

                • listener: ((...args: MessageEvents[Event]) => void)

                  The callback function to remove.

                Returns this

                This object.

                -
              • Add an event listener for a specific event.

                Type Parameters

                • Event extends
                      | "disconnected"
                      | "connected"
                      | "message"
                      | "itemSent"
                      | "itemCheated"
                      | "itemHinted"
                      | "chat"
                      | "serverChat"
                      | "tutorial"
                      | "tagsUpdated"
                      | "userCommand"
                      | "adminCommand"
                      | "goaled"
                      | "released"
                      | "collected"
                      | "countdown"

                Parameters

                • event: Event

                  The event name to listen for.

                • listener: ((...args: MessageEvents[Event]) => void)

                  The callback function to fire when this event is received.

                Returns this

                This object.

                -
              • Sends a chat message to the server.

                Parameters

                • text: string

                  The textual message to broadcast to all connected clients.

                Returns Promise<void>

                A promise that resolves when the server has broadcast the chat message.

                UnauthenticatedError if attempting to send a chat message when not connected or authenticated.

                -
              • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +

              • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

                Type Parameters

                • Event extends
                      | "disconnected"
                      | "connected"
                      | "message"
                      | "itemSent"
                      | "itemCheated"
                      | "itemHinted"
                      | "chat"
                      | "serverChat"
                      | "tutorial"
                      | "tagsUpdated"
                      | "userCommand"
                      | "adminCommand"
                      | "goaled"
                      | "released"
                      | "collected"
                      | "countdown"

                Parameters

                • event: Event

                  The event name to listen for.

                • clearPredicate: ((...args: MessageEvents[Event]) => boolean) = ...

                  An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

                  -

                Returns Promise<MessageEvents[Event]>

              \ No newline at end of file +

              Returns Promise<MessageEvents[Event]>

              \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PackageMetadata.html b/docs/v2.0.0/classes/index.PackageMetadata.html index 98103ce..e581c2d 100644 --- a/docs/v2.0.0/classes/index.PackageMetadata.html +++ b/docs/v2.0.0/classes/index.PackageMetadata.html @@ -1,10 +1,10 @@ -PackageMetadata | archipelago.js - v2.0.0PackageMetadata | archipelago.js - v2.0.0

                Class PackageMetadata

                An abstraction of a GamePackage object which includes additional helper methods for interacting with a game's package.

                -

                Properties

                Properties

                checksum: string

                The SHA256 hexadecimal string representation of this game package.

                -
                game: string

                The name of the game this game package is for.

                -
                itemTable: Readonly<Record<string, number>>

                A record of names to ids for all items in this game package.

                -
                locationTable: Readonly<Record<string, number>>

                A record of names to ids for all locations in this game package.

                -
                reverseItemTable: Readonly<Record<number, string>>

                A record of ids to names for all items in this game package.

                -
                reverseLocationTable: Readonly<Record<number, string>>

                A record of ids to names for all locations in this game package.

                -

                Methods

                \ No newline at end of file +
                game: string

                The name of the game this game package is for.

                +
                itemTable: Readonly<Record<string, number>>

                A record of names to ids for all items in this game package.

                +
                locationTable: Readonly<Record<string, number>>

                A record of names to ids for all locations in this game package.

                +
                reverseItemTable: Readonly<Record<number, string>>

                A record of ids to names for all items in this game package.

                +
                reverseLocationTable: Readonly<Record<number, string>>

                A record of ids to names for all locations in this game package.

                +

                Methods

                \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.Player.html b/docs/v2.0.0/classes/index.Player.html index 02d620c..0cc7962 100644 --- a/docs/v2.0.0/classes/index.Player.html +++ b/docs/v2.0.0/classes/index.Player.html @@ -1,9 +1,9 @@ -Player | archipelago.js - v2.0.0Player | archipelago.js - v2.0.0

                  Class Player

                  A collection of metadata and helper methods for interacting with a particular player.

                  -

                  Accessors

                  Accessors

                  Accessors

                  • get alias(): string
                  • Returns the current nickname for this player or the slot name if not set.

                    -

                    Returns string

                  Methods

                  Methods

                  • Fetch this player's slot data over the network.

                    Type Parameters

                    • SlotData extends JSONRecord

                      The type of the slot data that is returned, for better typing information.

                    Returns Promise<SlotData>

                    This data is not tracked after running, so slot data should be cached to reduce additional network calls, if necessary.

                    -
                  \ No newline at end of file +
                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PlayerMessageNode.html b/docs/v2.0.0/classes/index.PlayerMessageNode.html index c5a7aa5..efb9507 100644 --- a/docs/v2.0.0/classes/index.PlayerMessageNode.html +++ b/docs/v2.0.0/classes/index.PlayerMessageNode.html @@ -1,4 +1,4 @@ -PlayerMessageNode | archipelago.js - v2.0.0PlayerMessageNode | archipelago.js - v2.0.0
                  @@ -13,16 +13,16 @@
                  -

                  Properties

                  Properties

                  Accessors

                  Methods

                  Properties

                  client: Client

                  The client object containing additional context metadata.

                  -

                  The underlying message part component.

                  -
                  player: Player

                  The player being referenced by this node.

                  -
                  type: "player" = ...

                  The type of this message node.

                  -

                  Accessors

                  Methods

                  \ No newline at end of file +

                  The underlying message part component.

                  +
                  player: Player

                  The player being referenced by this node.

                  +
                  type: "player" = ...

                  The type of this message node.

                  +

                  Accessors

                  Methods

                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.PlayersManager.html b/docs/v2.0.0/classes/index.PlayersManager.html index fc32290..0996d21 100644 --- a/docs/v2.0.0/classes/index.PlayersManager.html +++ b/docs/v2.0.0/classes/index.PlayersManager.html @@ -1,4 +1,4 @@ -PlayersManager | archipelago.js - v2.0.0PlayersManager | archipelago.js - v2.0.0
                  @@ -13,7 +13,7 @@
                  -

                  Accessors

                  self +

                  Accessors

                  Methods

                  findPlayer @@ -22,28 +22,28 @@
                  wait

                  Accessors

                  • get slots(): Readonly<Record<number, NetworkSlot>>
                  • Returns a record of basic information for each slot.

                    +
                  • get teams(): Player[][]
                  • Returns a 2D array of player metadata ranked by team number, then slot number.

                    -

                    Returns Player[][]

                    for (const team of client.players.teams) {
                    for (const player of team) {
                    console.log(player.alias);
                    }
                    } +
                  • get teams(): Player[][]
                  • Returns a 2D array of player metadata ranked by team number, then slot number.

                    +

                    Returns Player[][]

                    for (const team of client.players.teams) {
                    for (const player of team) {
                    console.log(player.alias);
                    }
                    }
                    -

                  Methods

                  Methods

                  • Attempt to find a player by their team or slot name.

                    Parameters

                    • slot: number

                      The slot id associated with the searched player.

                    • Optionalteam: number

                      The team id associated with the searched player. If omitted, defaults to the team of the client player.

                    Returns undefined | Player

                    The player's metadata or undefined if not found.

                    -
                  • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

                    Type Parameters

                    • Event extends "aliasUpdated"

                    Parameters

                    • event: Event

                      The event name to listen for.

                    • clearPredicate: ((...args: PlayerEvents[Event]) => boolean) = ...

                      An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

                      -

                    Returns Promise<PlayerEvents[Event]>

                  \ No newline at end of file +

                  Returns Promise<PlayerEvents[Event]>

                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.RoomStateManager.html b/docs/v2.0.0/classes/index.RoomStateManager.html index 870d221..dd3323d 100644 --- a/docs/v2.0.0/classes/index.RoomStateManager.html +++ b/docs/v2.0.0/classes/index.RoomStateManager.html @@ -1,4 +1,4 @@ -RoomStateManager | archipelago.js - v2.0.0RoomStateManager | archipelago.js - v2.0.0
                  @@ -14,7 +14,7 @@
                  -

                  Accessors

                  Accessors

                  • get generatorVersion(): {
                        build: number;
                        major: number;
                        minor: number;
                    }
                  • Returns the version of Archipelago the seed was generated from.

                    +

                    Returns number[]

                  • get generatorVersion(): {
                        build: number;
                        major: number;
                        minor: number;
                    }
                  • Returns the version of Archipelago the seed was generated from.

                    Returns {
                        build: number;
                        major: number;
                        minor: number;
                    }

                    • build: number
                    • major: number
                    • minor: number

                    All properties will be -1 prior to initial connection.

                    -
                  • get race(): boolean
                  • Experimental

                    Returns if this seed was generated with race mode enabled (to be used to obscure unnecessary details to make +

                  • get race(): boolean
                  • Experimental

                    Returns if this seed was generated with race mode enabled (to be used to obscure unnecessary details to make clients race legal depending on rules).

                    -

                    Returns boolean

                  • get seedName(): string
                  • Get the seed name for this room.

                    Returns string

                    In non-race seeds, this is based on the seed to generate this multi-world, but not exactly the same to prevent reverse engineering. In race seeds, this is completely random.

                    -
                  • get serverVersion(): {
                        build: number;
                        major: number;
                        minor: number;
                    }
                  • Returns the version of Archipelago the server is currently running.

                    +
                  • get serverVersion(): {
                        build: number;
                        major: number;
                        minor: number;
                    }
                  • Returns the version of Archipelago the server is currently running.

                    Returns {
                        build: number;
                        major: number;
                        minor: number;
                    }

                    • build: number
                    • major: number
                    • minor: number

                    All properties will be -1 prior to initial connection.

                    -

                  Methods

                  Methods

                  • Removes an existing event listener.

                    Type Parameters

                    • Event extends
                          | "passwordUpdated"
                          | "permissionsUpdated"
                          | "locationCheckPointsUpdated"
                          | "hintCostUpdated"
                          | "hintPointsUpdated"
                          | "locationsChecked"

                    Parameters

                    • event: Event

                      The event name associated with this listener to remove.

                    • listener: ((...args: RoomStateEvents[Event]) => void)

                      The callback function to remove.

                    Returns this

                    This object.

                    -
                  • Add an event listener for a specific event.

                    Type Parameters

                    • Event extends
                          | "passwordUpdated"
                          | "permissionsUpdated"
                          | "locationCheckPointsUpdated"
                          | "hintCostUpdated"
                          | "hintPointsUpdated"
                          | "locationsChecked"

                    Parameters

                    • event: Event

                      The event name to listen for.

                    • listener: ((...args: RoomStateEvents[Event]) => void)

                      The callback function to fire when this event is received.

                    Returns this

                    This object.

                    -
                  • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

                    Type Parameters

                    • Event extends
                          | "passwordUpdated"
                          | "permissionsUpdated"
                          | "locationCheckPointsUpdated"
                          | "hintCostUpdated"
                          | "hintPointsUpdated"
                          | "locationsChecked"

                    Parameters

                    • event: Event

                      The event name to listen for.

                    • clearPredicate: ((...args: RoomStateEvents[Event]) => boolean) = ...

                      An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

                      -

                    Returns Promise<RoomStateEvents[Event]>

                  \ No newline at end of file +

                  Returns Promise<RoomStateEvents[Event]>

                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.SocketManager.html b/docs/v2.0.0/classes/index.SocketManager.html index 1bfcec6..a04e4a7 100644 --- a/docs/v2.0.0/classes/index.SocketManager.html +++ b/docs/v2.0.0/classes/index.SocketManager.html @@ -1,4 +1,4 @@ -SocketManager | archipelago.js - v2.0.0SocketManager | archipelago.js - v2.0.0
                  @@ -14,7 +14,7 @@
                  -

                  Accessors

                  Accessors

                  Methods

                  connect disconnect @@ -23,8 +23,8 @@
                  send wait

                  Accessors

                  Methods

                  Methods

                  • Establish a connection to an Archipelago server before authenticating; useful if there might be tasked that are needed to be performed before authenticating, but after connecting (e.g., DataPackage).

                    Parameters

                    • url: string | URL

                      The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                    Returns Promise<RoomInfoPacket>

                    The RoomInfoPacket received on initial connection.

                    @@ -32,22 +32,22 @@

                  TypeError If provided URL is malformed or invalid protocol.

                  If the port is omitted, client will default to 38281.

                  If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                  -
                  • Removes an existing event listener.

                    Type Parameters

                    • Event extends
                          | "disconnected"
                          | "connected"
                          | "bounced"
                          | "connectionRefused"
                          | "dataPackage"
                          | "invalidPacket"
                          | "locationInfo"
                          | "printJSON"
                          | "receivedItems"
                          | "retrieved"
                          | "roomInfo"
                          | "roomUpdate"
                          | "setReply"
                          | "receivedPacket"
                          | "sentPackets"

                    Parameters

                    • event: Event

                      The event name associated with this listener to remove.

                    • listener: ((...args: SocketEvents[Event]) => void)

                      The callback function to remove.

                    Returns this

                    This object.

                    -
                  • Add an event listener for a specific event.

                    Type Parameters

                    • Event extends
                          | "disconnected"
                          | "connected"
                          | "bounced"
                          | "connectionRefused"
                          | "dataPackage"
                          | "invalidPacket"
                          | "locationInfo"
                          | "printJSON"
                          | "receivedItems"
                          | "retrieved"
                          | "roomInfo"
                          | "roomUpdate"
                          | "setReply"
                          | "receivedPacket"
                          | "sentPackets"

                    Parameters

                    • event: Event

                      The event name to listen for.

                    • listener: ((...args: SocketEvents[Event]) => void)

                      The callback function to fire when this event is received.

                    Returns this

                    This object.

                    -
                  • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments dispatched with the event.

                    Type Parameters

                    • Event extends
                          | "disconnected"
                          | "connected"
                          | "bounced"
                          | "connectionRefused"
                          | "dataPackage"
                          | "invalidPacket"
                          | "locationInfo"
                          | "printJSON"
                          | "receivedItems"
                          | "retrieved"
                          | "roomInfo"
                          | "roomUpdate"
                          | "setReply"
                          | "receivedPacket"
                          | "sentPackets"

                    Parameters

                    • event: Event

                      The event name to listen for.

                    • clearPredicate: ((...args: SocketEvents[Event]) => boolean) = ...

                      An optional predicate to check on incoming events to validate if the correct event has been received. If omitted, will return immediately on next event type received.

                      -

                    Returns Promise<SocketEvents[Event]>

                  \ No newline at end of file +

                  Returns Promise<SocketEvents[Event]>

                  \ No newline at end of file diff --git a/docs/v2.0.0/classes/index.TextualMessageNode.html b/docs/v2.0.0/classes/index.TextualMessageNode.html index d6a2531..53bf42f 100644 --- a/docs/v2.0.0/classes/index.TextualMessageNode.html +++ b/docs/v2.0.0/classes/index.TextualMessageNode.html @@ -1,4 +1,4 @@ -TextualMessageNode | archipelago.js - v2.0.0TextualMessageNode | archipelago.js - v2.0.0
                  @@ -13,15 +13,15 @@
                  -

                  Properties

                  Properties

                  Accessors

                  Methods

                  Properties

                  client: Client

                  The client object containing additional context metadata.

                  -

                  The underlying message part component.

                  -
                  type: "text" | "entrance"

                  The type of this message node.

                  -

                  Accessors

                  The underlying message part component.

                  +
                  type: "text" | "entrance"

                  The type of this message node.

                  +

                  Accessors

                  • get text(): string
                  • Returns the plaintext component of this message node.

                    Returns string

                    Same value returned from .toString().

                    -

                  Methods

                  \ No newline at end of file +

                  Methods

                  \ No newline at end of file diff --git a/docs/v2.0.0/documents/Installation.html b/docs/v2.0.0/documents/Installation.html new file mode 100644 index 0000000..56fca63 --- /dev/null +++ b/docs/v2.0.0/documents/Installation.html @@ -0,0 +1,43 @@ +Installation | archipelago.js - v2.0.0
                  +

                    Installation

                    archipelago.js supports all currently supported versions of Node, Bun, and +Deno. To install, follow the installation directions for your desired runtime and create a new +project directory.

                    +

                    Then, navigate to your new project directory and run npm install archipelago.js (or whatever your package +manager's flavor of doing the same thing is).

                    +
                    mkdir my-project
                    cd my-project
                    npm init
                    npm install archipelago.js +
                    + +
                    mkdir my-project
                    cd my-project
                    bun init
                    bun add archipelago.js +
                    + +
                    deno init my-project
                    cd my-project
                    deno add npm:archipelago.js +
                    + +

                    Then, in your JavaScript or TypeScript files, just import using ESM syntax.

                    +
                    import { /* ... */ } from "archipelag.js";

                    // Rest of your code here... +
                    + +

                    If you are planning to run in the browser without bundling your code first, you can import archipelago.js using +the ESM module syntax in your HTML files. See below for an example using the unpkg CDN as a source:

                    +
                    <script type="module">
                    import { /* ... */ } from "https://unpkg.com/archipelago.js/dist/archipelago.min.js";

                    // Rest of your code here...
                    </script> +
                    + +

                    If you package the archipelago.js files with your code, you can change the CDN url with a relative path to your +provided archipelago.js bundle.

                    +
                    \ No newline at end of file diff --git a/docs/v2.0.0/documents/Introduction.Guide_Improvements_or_Errors.html b/docs/v2.0.0/documents/Introduction.Guide_Improvements_or_Errors.html new file mode 100644 index 0000000..4a917f5 --- /dev/null +++ b/docs/v2.0.0/documents/Introduction.Guide_Improvements_or_Errors.html @@ -0,0 +1,26 @@ +Guide Improvements or Errors | archipelago.js - v2.0.0
                    +

                    Report Errors or Improvements to these Guides

                    These guides are created with the sole purpose of helping new or existing developers create Archipelago JavaScript +clients quickly and easily, but sometimes mistakes happen.

                    +

                    If you notice an issue with any of these guides, or want to request new content to help improve the existing +documentation, please create an issue on this project's GitHub repository. +Be sure it's titled appropriately and include as much information as possible inside the issue description.

                    +
                    + Also, if you prefer to make the improvements yourself, you can fork the repository and submit a pull request as well! +
                    +
                    \ No newline at end of file diff --git a/docs/v2.0.0/documents/Introduction.Quick_Start.html b/docs/v2.0.0/documents/Introduction.Quick_Start.html new file mode 100644 index 0000000..9896188 --- /dev/null +++ b/docs/v2.0.0/documents/Introduction.Quick_Start.html @@ -0,0 +1,62 @@ +Quick Start | archipelago.js - v2.0.0
                    +

                    Quick Start Guide

                    Before we begin, make sure you fulfil the following prerequisites:

                    +
                      +
                    • Have a basic understanding of JavaScript.
                    • +
                    • Have installed a JavaScript runtime or web server for starting in the web browser.
                    • +
                    • Have an Archipelago server to connect to.
                    • +
                    +

                    To start a new project with archipelago.js, you'll need to set up a project directory.

                    +

                    If you're using a runtime like Node, you can install archipelago.js by running the following command in your +project directory: npm install archipelago.js, then following the rest of this tutorial.

                    +

                    If you're looking to run this in a web browser without packaging as a part of a tool like vite or webpack, you +can add a <script type="module"> tag to your HTML to write your JavaScript in and replace any mention of

                    +
                    import { /* ... */ } from "archipelago.js";
                    +
                    + +

                    to

                    +
                    import { /* ... */ } from "https://unpkg.com/archipelago.js/dist/index.js";
                    // or any other path to archipelago.js as desired +
                    + +

                    as appropriate for your project and all the code examples will still work.

                    +

                    To create a basic client that can listen for chat messages and print them to the console, you can use the following +example:

                    +
                    import { Client } from "archipelago.js";

                    // Create a new instance of the Client class.
                    const client = new Client();

                    // Setup a listener for incoming chat messages and print them to the console.
                    client.messages.on("chat", (message, sender) => {
                    console.log(`${sender.alias}: ${message}`);
                    });

                    // Connect to the Archipelago server (replace url, slot name, and game as appropriate for your scenario).
                    await client.login("wss://archipelago.gg:38281", "Phar", "Pusche");

                    // Send a message after connecting.
                    client.messages.say("Hello, multiworld!") +
                    + +

                    Then, run this in your runtime of choice and see incoming messages print to console and your "Hello, multiworld!" +message get broadcast to all clients (and back to yourself).

                    +

                    You can also listen for events, such as when your client receives items from the server:

                    +
                    // Setup a listener for whenever items are received and log the details.
                    client.items.on("itemsReceived", (items) => {
                    for (const item of items) {
                    console.log(`Received item ${item.name} from player ${item.sender}.`);
                    }
                    });

                    // ... misc client code below ... +
                    + +

                    Or if another player changes their alias:

                    +
                    // Setup a listener for when a player's alias (name) changes.
                    client.players.on("aliasUpdated", (_, oldAlias, newAlias) => {
                    console.log(`${oldAlias} has changed their alias to ${newAlias}.`);
                    });

                    // ... misc client code below ... +
                    + +

                    Or if you're using the DeathLink mechanic and another player dies:

                    +
                    // Setup a listener for when another DeathLink player dies.
                    client.deathLink.on("deathReceived", (source, time, cause) => {
                    if (cause) {
                    console.log(`DeathLink received from ${source}: ${cause}`);
                    return;
                    }

                    // No cause was supplied.
                    console.log(`DeathLink received from ${source}!`);
                    });

                    // ... misc client code below ... +
                    + +

                    You can also inform the server of actions you take as a client, such as checking locations:

                    +
                    // Mark a list of location ids as checked.
                    client.check(1001, 1002, 1003); +
                    + +

                    Updating keys in the data storage:

                    +
                    // Add 1 to a data storage key.
                    client.storage
                    .prepare("my_key", 0) /* 0 is the default if the key doesn't exist yet. */
                    .add(1)
                    .commit() // Commit changes. +
                    + +

                    Or sending your own DeathLinks to other players if you die.

                    +
                    // Send a DeathLink to all DeathLink enabled players.
                    client.deathLink
                    .sendDeathLink("Phar", "Phar spontanously combusted after pressing a large red button."); +
                    + +

                    Congratulations! You are now a client developer and hopefully got a taste of what this library is capable of. For more +information, check out the rest of the API documentation for archipelago.js (Client might be a good one to start +with) and explore the available features.

                    +

                    If you encounter any issues or have any questions, you can reach out on the GitHub repository for support, or in the +Archipelago Discord, specifically in this +thread once you've joined. Thanks for checking +out my little pet project for Archipelago!

                    +
                    \ No newline at end of file diff --git a/docs/v2.0.0/documents/Introduction.Reports.html b/docs/v2.0.0/documents/Introduction.Reports.html new file mode 100644 index 0000000..d02da59 --- /dev/null +++ b/docs/v2.0.0/documents/Introduction.Reports.html @@ -0,0 +1,24 @@ +Reports | archipelago.js - v2.0.0
                    +

                    Report Errors or Improvements to these Guides

                    These guides are created with the sole purpose of helping new or existing developers create Archipelago JavaScript +clients quickly and easily, but sometimes mistakes happen.

                    +

                    If you notice an issue with any of these guides, or want to request new content to help improve the existing +documentation, please create an issue on this project's GitHub repository. +Be sure it's titled appropriately and include as much information as possible inside the issue description.

                    +

                    Also, if you prefer to make the improvements yourself, you can fork the repository and submit a pull request as well!

                    +
                    \ No newline at end of file diff --git a/docs/v2.0.0/documents/Introduction.html b/docs/v2.0.0/documents/Introduction.html new file mode 100644 index 0000000..9b9e2e6 --- /dev/null +++ b/docs/v2.0.0/documents/Introduction.html @@ -0,0 +1,39 @@ +Introduction | archipelago.js - v2.0.0
                    +

                      Introduction to archipelago.js

                      I'll assume if you're reading this, you're probably looking to develop a JavaScript client for Archipelago. Well +congratulations, you've come to the right place. These guides will teach you things such as:

                      +
                        +
                      • How to set up your developer environment for archipelago.js.
                      • +
                      • How to create a basic chat-based client.
                      • +
                      • How to create a more advanced client that can mark locations as "checked" and listens for received item events.
                      • +
                      • An in-depth explanation and examples for commonly performed actions (e.g., data package caching, message parsing, data +storage manipulation).
                      • +
                      • Additional features supported by archipelago.js.
                      • +
                      • Common errors and "gotchas" to be expected.
                      • +
                      • And much more.
                      • +
                      +

                      The archipelago.js library is developed for a JavaScript (or TypeScript) based client to run in the browser or via +a server-side runtime such as Node or Bun. This will require you to have +a decent grasp of JavaScript itself, including concepts such as (but not limited to):

                      +
                        +
                      • How classes, objects, functions, etc. works.
                      • +
                      • How Promises and async/await works.
                      • +
                      • How ECMAScript modules (import/export) work.
                      • +
                      • How this binding works.
                      • +
                      +

                      You can probably get along without being familiar with these concepts, but your developer experience will be more +challenging. Don't say I didn't warn you, at least.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/documents/Quick_Start.html b/docs/v2.0.0/documents/Quick_Start.html index 7bc91d9..48add76 100644 --- a/docs/v2.0.0/documents/Quick_Start.html +++ b/docs/v2.0.0/documents/Quick_Start.html @@ -1,4 +1,4 @@ -Quick Start | archipelago.js - v2.0.0Quick Start | archipelago.js - v2.0.0
                      diff --git a/docs/v2.0.0/hierarchy.html b/docs/v2.0.0/hierarchy.html index 74d2c77..3c4ad18 100644 --- a/docs/v2.0.0/hierarchy.html +++ b/docs/v2.0.0/hierarchy.html @@ -1,4 +1,4 @@ -archipelago.js - v2.0.0archipelago.js - v2.0.0
                      diff --git a/docs/v2.0.0/index.html b/docs/v2.0.0/index.html index f590763..871346d 100644 --- a/docs/v2.0.0/index.html +++ b/docs/v2.0.0/index.html @@ -1,4 +1,4 @@ -archipelago.js - v2.0.0archipelago.js - v2.0.0
                      diff --git a/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html b/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html index 06c70d7..6980b33 100644 --- a/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.AdminCommandResultJSONPacket.html @@ -1,12 +1,12 @@ -AdminCommandResultJSONPacket | archipelago.js - v2.0.0AdminCommandResultJSONPacket | archipelago.js - v2.0.0

                      Interface AdminCommandResultJSONPacket

                      Sent to relevant clients to broadcast the result of an admin command.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface AdminCommandResultJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "AdminCommandResult";
                      }

                      Properties

                      cmd +
                      interface AdminCommandResultJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "AdminCommandResult";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.BouncePacket.html b/docs/v2.0.0/interfaces/index.API.BouncePacket.html index 209af9f..18b9b80 100644 --- a/docs/v2.0.0/interfaces/index.API.BouncePacket.html +++ b/docs/v2.0.0/interfaces/index.API.BouncePacket.html @@ -1,17 +1,17 @@ -BouncePacket | archipelago.js - v2.0.0BouncePacket | archipelago.js - v2.0.0

                      Interface BouncePacket

                      Sent by the client to be broadcast from the server to all connected clients that match any one of the filter arguments.

                      Useful for commonly implemented features such as DeathLink.

                      -
                      interface BouncePacket {
                          cmd: "Bounce";
                          data: JSONRecord;
                          games?: string[];
                          slots?: number[];
                          tags?: string[];
                      }

                      Properties

                      cmd +
                      interface BouncePacket {
                          cmd: "Bounce";
                          data: JSONRecord;
                          games?: string[];
                          slots?: number[];
                          tags?: string[];
                      }

                      Properties

                      Properties

                      cmd

                      Any data you want to send.

                      -
                      games?: string[]

                      Optional. Games that should receive this message.

                      -
                      slots?: number[]

                      Optional. Player ids that should receive this message.

                      -
                      tags?: string[]

                      Optional. Client tags that should receive this message.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      Any data you want to send.

                      +
                      games?: string[]

                      Optional. Games that should receive this message.

                      +
                      slots?: number[]

                      Optional. Player ids that should receive this message.

                      +
                      tags?: string[]

                      Optional. Client tags that should receive this message.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.BouncedPacket.html b/docs/v2.0.0/interfaces/index.API.BouncedPacket.html index c46871d..1d9cbf2 100644 --- a/docs/v2.0.0/interfaces/index.API.BouncedPacket.html +++ b/docs/v2.0.0/interfaces/index.API.BouncedPacket.html @@ -1,15 +1,15 @@ -BouncedPacket | archipelago.js - v2.0.0BouncedPacket | archipelago.js - v2.0.0

                      Interface BouncedPacket

                      Sent to clients after a client requested this message be sent to them, more info in the BouncePacket.

                      -
                      interface BouncedPacket {
                          cmd: "Bounced";
                          data: JSONRecord;
                          games?: string[];
                          slots?: number[];
                          tags?: string[];
                      }

                      Properties

                      cmd +
                      interface BouncedPacket {
                          cmd: "Bounced";
                          data: JSONRecord;
                          games?: string[];
                          slots?: number[];
                          tags?: string[];
                      }

                      Properties

                      Properties

                      cmd

                      A verbatim copy of the data in the BouncePacket package.

                      -
                      games?: string[]

                      Optional. Game names this message is targeting.

                      -
                      slots?: number[]

                      Optional. Player slot IDs that this message is targeting.

                      -
                      tags?: string[]

                      Optional. Client tags this message is targeting.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      A verbatim copy of the data in the BouncePacket package.

                      +
                      games?: string[]

                      Optional. Game names this message is targeting.

                      +
                      slots?: number[]

                      Optional. Player slot IDs that this message is targeting.

                      +
                      tags?: string[]

                      Optional. Client tags this message is targeting.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html index 7be289f..6475736 100644 --- a/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ChatJSONPacket.html @@ -1,18 +1,18 @@ -ChatJSONPacket | archipelago.js - v2.0.0ChatJSONPacket | archipelago.js - v2.0.0

                      Interface ChatJSONPacket

                      Sent to clients to broadcast a normal chat message.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface ChatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          message: string;
                          slot: number;
                          team: number;
                          type: "Chat";
                      }

                      Properties

                      cmd +
                      interface ChatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          message: string;
                          slot: number;
                          team: number;
                          type: "Chat";
                      }

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      message: string

                      Original chat message without sender prefix.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      message: string

                      Original chat message without sender prefix.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html index 15d4247..a839a6f 100644 --- a/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.CollectJSONPacket.html @@ -1,16 +1,16 @@ -CollectJSONPacket | archipelago.js - v2.0.0CollectJSONPacket | archipelago.js - v2.0.0

                      Interface CollectJSONPacket

                      Sent to clients to broadcast a player has collected all their remaining items from the multi-world.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface CollectJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Collect";
                      }

                      Properties

                      cmd +
                      interface CollectJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Collect";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html index b21dfc3..e9afc5b 100644 --- a/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.CommandResultJSONPacket.html @@ -1,12 +1,12 @@ -CommandResultJSONPacket | archipelago.js - v2.0.0CommandResultJSONPacket | archipelago.js - v2.0.0

                      Interface CommandResultJSONPacket

                      Sent to relevant clients to broadcast the result of a chat command.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface CommandResultJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "CommandResult";
                      }

                      Properties

                      cmd +
                      interface CommandResultJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "CommandResult";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectPacket.html index 393c903..81db8c5 100644 --- a/docs/v2.0.0/interfaces/index.API.ConnectPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ConnectPacket.html @@ -1,9 +1,9 @@ -ConnectPacket | archipelago.js - v2.0.0ConnectPacket | archipelago.js - v2.0.0

                      Interface ConnectPacket

                      Sent by the client to authenticate a connection to an Archipelago session.

                      -
                      interface ConnectPacket {
                          cmd: "Connect";
                          game: string;
                          items_handling: number;
                          name: string;
                          password: string;
                          slot_data: boolean;
                          tags: string[];
                          uuid: string;
                          version: NetworkVersion;
                      }

                      Properties

                      cmd +
                      interface ConnectPacket {
                          cmd: "Connect";
                          game: string;
                          items_handling: number;
                          name: string;
                          password: string;
                          slot_data: boolean;
                          tags: string[];
                          uuid: string;
                          version: NetworkVersion;
                      }

                      Properties

                      cmd game items_handling name @@ -12,13 +12,13 @@ tags uuid version -

                      Properties

                      cmd
                      game: string

                      The name of the game the client is playing.

                      -
                      items_handling: number

                      Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for information +

                      Properties

                      cmd
                      game: string

                      The name of the game the client is playing.

                      +
                      items_handling: number

                      Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for information on individual flags.

                      -
                      name: string

                      The slot name for this client.

                      -
                      password: string

                      If the game session requires a password, it should be passed here.

                      -
                      slot_data: boolean

                      If true, the ConnectedPacket will contain slot data.

                      -
                      tags: string[]

                      Denotes special features or capabilities that the sender is currently capable of.

                      -
                      uuid: string

                      Unique identifier for player client.

                      -

                      An object representing the minimum Archipelago server version this client supports.

                      -
                      \ No newline at end of file +
                      name: string

                      The slot name for this client.

                      +
                      password: string

                      If the game session requires a password, it should be passed here.

                      +
                      slot_data: boolean

                      If true, the ConnectedPacket will contain slot data.

                      +
                      tags: string[]

                      Denotes special features or capabilities that the sender is currently capable of.

                      +
                      uuid: string

                      Unique identifier for player client.

                      +

                      An object representing the minimum Archipelago server version this client supports.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html index b4452d2..23aa5f5 100644 --- a/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html +++ b/docs/v2.0.0/interfaces/index.API.ConnectUpdatePacket.html @@ -1,12 +1,12 @@ -ConnectUpdatePacket | archipelago.js - v2.0.0ConnectUpdatePacket | archipelago.js - v2.0.0

                      Interface ConnectUpdatePacket

                      Update arguments from the Connect packet, currently only updating tags and items_handling is supported.

                      -
                      interface ConnectUpdatePacket {
                          cmd: "ConnectUpdate";
                          items_handling: number;
                          tags: string[];
                      }

                      Properties

                      cmd +
                      interface ConnectUpdatePacket {
                          cmd: "ConnectUpdate";
                          items_handling: number;
                          tags: string[];
                      }

                      Properties

                      Properties

                      cmd
                      items_handling: number

                      Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for additional +

                      Properties

                      cmd
                      items_handling: number

                      Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for additional information.

                      -
                      tags: string[]

                      Denotes special features or capabilities that the sender is currently capable of.

                      -
                      \ No newline at end of file +
                      tags: string[]

                      Denotes special features or capabilities that the sender is currently capable of.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html index fe576d8..84c93c0 100644 --- a/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ConnectedPacket.html @@ -1,9 +1,9 @@ -ConnectedPacket | archipelago.js - v2.0.0ConnectedPacket | archipelago.js - v2.0.0

                      Interface ConnectedPacket

                      Sent to clients when the connection handshake is successfully completed.

                      -
                      interface ConnectedPacket {
                          checked_locations: number[];
                          cmd: "Connected";
                          hint_points: number;
                          missing_locations: number[];
                          players: NetworkPlayer[];
                          slot: number;
                          slot_data: JSONSerializable;
                          slot_info: Record<string, NetworkSlot>;
                          team: number;
                      }

                      Properties

                      interface ConnectedPacket {
                          checked_locations: number[];
                          cmd: "Connected";
                          hint_points: number;
                          missing_locations: number[];
                          players: NetworkPlayer[];
                          slot: number;
                          slot_data: JSONSerializable;
                          slot_info: Record<string, NetworkSlot>;
                          team: number;
                      }

                      Properties

                      Properties

                      checked_locations: number[]

                      Contains integer ids of all locations that have been checked. Useful for trackers, among other things. Location ids are valid in the range of -2^53^ to +(2^53)-1 (inclusive), with negative values and zero reserved for Archipelago.

                      -
                      cmd
                      hint_points: number

                      Number of hint points that the current player has.

                      -
                      missing_locations: number[]

                      Contains integer ids of remaining locations that need to be checked. Useful for trackers, among other things.

                      -
                      players: NetworkPlayer[]

                      List denoting other players in the multi-world, whether connected or not.

                      -
                      slot: number

                      Your slot number on your team. See NetworkPlayer for more info on the slot number.

                      -
                      slot_data: JSONSerializable

                      Contains an object of slot related data, which differs per slot. If slot data was not requested in the +

                      cmd
                      hint_points: number

                      Number of hint points that the current player has.

                      +
                      missing_locations: number[]

                      Contains integer ids of remaining locations that need to be checked. Useful for trackers, among other things.

                      +
                      players: NetworkPlayer[]

                      List denoting other players in the multi-world, whether connected or not.

                      +
                      slot: number

                      Your slot number on your team. See NetworkPlayer for more info on the slot number.

                      +
                      slot_data: JSONSerializable

                      Contains an object of slot related data, which differs per slot. If slot data was not requested in the ConnectPacket, this value be an empty object.

                      -
                      slot_info: Record<string, NetworkSlot>

                      Object of each slot with their NetworkSlot information.

                      -
                      team: number

                      Your team number. See NetworkPlayer for more info on team number.

                      -
                      \ No newline at end of file +
                      slot_info: Record<string, NetworkSlot>

                      Object of each slot with their NetworkSlot information.

                      +
                      team: number

                      Your team number. See NetworkPlayer for more info on team number.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html b/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html index d131334..f90294f 100644 --- a/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ConnectionRefusedPacket.html @@ -1,10 +1,10 @@ -ConnectionRefusedPacket | archipelago.js - v2.0.0ConnectionRefusedPacket | archipelago.js - v2.0.0

                      Interface ConnectionRefusedPacket

                      Sent to clients when the server refuses connection. This is sent during the initial connection handshake.

                      -
                      interface ConnectionRefusedPacket {
                          cmd: "ConnectionRefused";
                          errors?: ConnectionError[];
                      }

                      Properties

                      cmd +
                      interface ConnectionRefusedPacket {
                          cmd: "ConnectionRefused";
                          errors?: ConnectionError[];
                      }

                      Properties

                      Properties

                      cmd
                      errors?: ConnectionError[]

                      Optional. When provided, should contain one or more ConnectionError values. See ConnectionError +

                      Properties

                      cmd
                      errors?: ConnectionError[]

                      Optional. When provided, should contain one or more ConnectionError values. See ConnectionError for additional information on what each error means.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html b/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html index 4270086..405e746 100644 --- a/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.CountdownJSONPacket.html @@ -1,14 +1,14 @@ -CountdownJSONPacket | archipelago.js - v2.0.0CountdownJSONPacket | archipelago.js - v2.0.0

                      Interface CountdownJSONPacket

                      Sent to clients to broadcast a countdown message, usually for counting down the start of a game.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface CountdownJSONPacket {
                          cmd: "PrintJSON";
                          countdown: number;
                          data: JSONMessagePart[];
                          type: "Countdown";
                      }

                      Properties

                      cmd +
                      interface CountdownJSONPacket {
                          cmd: "PrintJSON";
                          countdown: number;
                          data: JSONMessagePart[];
                          type: "Countdown";
                      }

                      Properties

                      Properties

                      cmd
                      countdown: number

                      Amount of seconds remaining on the countdown.

                      -

                      All the textual metadata for this packet.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      countdown: number

                      Amount of seconds remaining on the countdown.

                      +

                      All the textual metadata for this packet.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html b/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html index a12d39a..f201ea3 100644 --- a/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html +++ b/docs/v2.0.0/interfaces/index.API.DataPackagePacket.html @@ -1,11 +1,11 @@ -DataPackagePacket | archipelago.js - v2.0.0DataPackagePacket | archipelago.js - v2.0.0

                      Interface DataPackagePacket

                      Sent to clients to provide what is known as a 'data package' which contains information to enable a client to most easily communicate with the Archipelago server. Contents include things like location id to name mappings, among others; see DataPackage for more info.

                      -
                      interface DataPackagePacket {
                          cmd: "DataPackage";
                          data: DataPackage;
                      }

                      Properties

                      cmd +
                      interface DataPackagePacket {
                          cmd: "DataPackage";
                          data: DataPackage;
                      }

                      Properties

                      Properties

                      cmd

                      The data package as an object of DataPackage.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      The data package as an object of DataPackage.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html b/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html index 999f2ed..94bcd84 100644 --- a/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html +++ b/docs/v2.0.0/interfaces/index.API.GetDataPackagePacket.html @@ -1,10 +1,10 @@ -GetDataPackagePacket | archipelago.js - v2.0.0GetDataPackagePacket | archipelago.js - v2.0.0

                      Interface GetDataPackagePacket

                      Sent by the client to request the data package from the server. Does not require client authentication.

                      -
                      interface GetDataPackagePacket {
                          cmd: "GetDataPackage";
                          games?: string[];
                      }

                      Properties

                      cmd +
                      interface GetDataPackagePacket {
                          cmd: "GetDataPackage";
                          games?: string[];
                      }

                      Properties

                      Properties

                      cmd
                      games?: string[]

                      Optional. If specified, will only send back the specified data.

                      +

                      Properties

                      cmd
                      games?: string[]

                      Optional. If specified, will only send back the specified data.

                      It is recommended to only request required data to reduce network bandwidth costs.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GetPacket.html b/docs/v2.0.0/interfaces/index.API.GetPacket.html index fcb412a..6f3e222 100644 --- a/docs/v2.0.0/interfaces/index.API.GetPacket.html +++ b/docs/v2.0.0/interfaces/index.API.GetPacket.html @@ -1,4 +1,4 @@ -GetPacket | archipelago.js - v2.0.0GetPacket | archipelago.js - v2.0.0
                      @@ -18,7 +18,7 @@
                    • _read_race_mode: number - Returns 0 if race mode is disabled, 1 if it's enabled.
                    • interface GetPacket {
                          cmd: "Get";
                          keys: string[];
                          [p: string]: JSONSerializable;
                      }

                      Indexable

                      Properties

                      cmd +

                      Properties

                      Properties

                      cmd
                      keys: string[]

                      Keys to retrieve the values for.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      keys: string[]

                      Keys to retrieve the values for.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html b/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html index 4d2c3b2..e086f8c 100644 --- a/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.GoalJSONPacket.html @@ -1,16 +1,16 @@ -GoalJSONPacket | archipelago.js - v2.0.0GoalJSONPacket | archipelago.js - v2.0.0

                      Interface GoalJSONPacket

                      Sent to clients to broadcast a player has met their goal condition.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface GoalJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Goal";
                      }

                      Properties

                      cmd +
                      interface GoalJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Goal";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html b/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html index 077e579..0a97f0b 100644 --- a/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.HintJSONPacket.html @@ -1,18 +1,18 @@ -HintJSONPacket | archipelago.js - v2.0.0HintJSONPacket | archipelago.js - v2.0.0

                      Interface HintJSONPacket

                      Sent to relevant clients to broadcast item hint information.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface HintJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          found: boolean;
                          item: NetworkItem;
                          receiving: number;
                          type: "Hint";
                      }

                      Properties

                      cmd +
                      interface HintJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          found: boolean;
                          item: NetworkItem;
                          receiving: number;
                          type: "Hint";
                      }

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      found: boolean

                      Whether the location hinted for was checked.

                      -

                      Source player's identifier, location identifier, item identifier and item flags.

                      -
                      receiving: number

                      Destination player's identifier.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      found: boolean

                      Whether the location hinted for was checked.

                      +

                      Source player's identifier, location identifier, item identifier and item flags.

                      +
                      receiving: number

                      Destination player's identifier.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html b/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html index 17df910..0acf231 100644 --- a/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html +++ b/docs/v2.0.0/interfaces/index.API.InvalidArgumentsPacketPacket.html @@ -1,12 +1,12 @@ -InvalidArgumentsPacketPacket | archipelago.js - v2.0.0InvalidArgumentsPacketPacket | archipelago.js - v2.0.0

                      Interface InvalidArgumentsPacketPacket

                      Sent to clients if the server caught a problem with a given packet's arguments.

                      InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                      -
                      interface InvalidArgumentsPacketPacket {
                          cmd: "InvalidPacket";
                          text: string;
                          type: "arguments";
                      }

                      Properties

                      cmd +
                      interface InvalidArgumentsPacketPacket {
                          cmd: "InvalidPacket";
                          text: string;
                          type: "arguments";
                      }

                      Properties

                      Properties

                      cmd
                      text: string

                      A descriptive message of the problem at hand.

                      -
                      type

                      The type of problem that was detected in the packet.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      text: string

                      A descriptive message of the problem at hand.

                      +
                      type

                      The type of problem that was detected in the packet.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html b/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html index b4b7c4c..8aec6be 100644 --- a/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html +++ b/docs/v2.0.0/interfaces/index.API.InvalidCommandPacketPacket.html @@ -1,14 +1,14 @@ -InvalidCommandPacketPacket | archipelago.js - v2.0.0InvalidCommandPacketPacket | archipelago.js - v2.0.0

                      Interface InvalidCommandPacketPacket

                      Sent to clients if the server caught a problem with a given packet's cmd property.

                      InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                      -
                      interface InvalidCommandPacketPacket {
                          cmd: "InvalidPacket";
                          original_cmd: string;
                          text: string;
                          type: "cmd";
                      }

                      Properties

                      cmd +
                      interface InvalidCommandPacketPacket {
                          cmd: "InvalidPacket";
                          original_cmd: string;
                          text: string;
                          type: "cmd";
                      }

                      Properties

                      cmd
                      original_cmd: string

                      The cmd argument of the faulty packet.

                      -
                      text: string

                      A descriptive message of the problem at hand.

                      -
                      type

                      The type of problem that was detected in the packet.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      original_cmd: string

                      The cmd argument of the faulty packet.

                      +
                      text: string

                      A descriptive message of the problem at hand.

                      +
                      type

                      The type of problem that was detected in the packet.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html index f1aa164..5bd6ab8 100644 --- a/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ItemCheatJSONPacket.html @@ -1,18 +1,18 @@ -ItemCheatJSONPacket | archipelago.js - v2.0.0ItemCheatJSONPacket | archipelago.js - v2.0.0

                      Interface ItemCheatJSONPacket

                      Sent to clients to broadcast a player has received a cheated item (via !getitem).

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface ItemCheatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          item: NetworkItem;
                          receiving: number;
                          team: number;
                          type: "ItemCheat";
                      }

                      Properties

                      cmd +
                      interface ItemCheatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          item: NetworkItem;
                          receiving: number;
                          team: number;
                          type: "ItemCheat";
                      }

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -

                      Source player's identifier, location identifier, item identifier and item flags.

                      -
                      receiving: number

                      Destination player's identifier.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +

                      Source player's identifier, location identifier, item identifier and item flags.

                      +
                      receiving: number

                      Destination player's identifier.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html index 6bb121f..6982b70 100644 --- a/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ItemSendJSONPacket.html @@ -1,16 +1,16 @@ -ItemSendJSONPacket | archipelago.js - v2.0.0ItemSendJSONPacket | archipelago.js - v2.0.0

                      Interface ItemSendJSONPacket

                      Sent to clients to broadcast a player has received an item.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface ItemSendJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          item: NetworkItem;
                          receiving: number;
                          type: "ItemSend";
                      }

                      Properties

                      cmd +
                      interface ItemSendJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          item: NetworkItem;
                          receiving: number;
                          type: "ItemSend";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -

                      Source player's identifier, location identifier, item identifier and item flags.

                      -
                      receiving: number

                      Destination player's identifier.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +

                      Source player's identifier, location identifier, item identifier and item flags.

                      +
                      receiving: number

                      Destination player's identifier.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html b/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html index a67fcea..d10e523 100644 --- a/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.JoinJSONPacket.html @@ -1,18 +1,18 @@ -JoinJSONPacket | archipelago.js - v2.0.0JoinJSONPacket | archipelago.js - v2.0.0

                      Interface JoinJSONPacket

                      Sent to clients to broadcast a client has connected.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface JoinJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          tags: string[];
                          team: number;
                          type: "Join";
                      }

                      Properties

                      cmd +
                      interface JoinJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          tags: string[];
                          team: number;
                          type: "Join";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      tags: string[]

                      Tags of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      tags: string[]

                      Tags of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html b/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html index 56431ac..4fd5300 100644 --- a/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html +++ b/docs/v2.0.0/interfaces/index.API.LocationChecksPacket.html @@ -1,11 +1,11 @@ -LocationChecksPacket | archipelago.js - v2.0.0LocationChecksPacket | archipelago.js - v2.0.0

                      Interface LocationChecksPacket

                      Sent by the client to inform the server of locations that the client has checked. Used to inform the server of new checks that are made, as well as to sync state.

                      -
                      interface LocationChecksPacket {
                          cmd: "LocationChecks";
                          locations: number[];
                      }

                      Properties

                      cmd +
                      interface LocationChecksPacket {
                          cmd: "LocationChecks";
                          locations: number[];
                      }

                      Properties

                      Properties

                      cmd
                      locations: number[]

                      The ids of the locations checked by the client. May contain any number of checks, even ones sent before; +

                      Properties

                      cmd
                      locations: number[]

                      The ids of the locations checked by the client. May contain any number of checks, even ones sent before; duplicates do not cause issues with the Archipelago server.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html b/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html index b84fcd3..b7a5925 100644 --- a/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html +++ b/docs/v2.0.0/interfaces/index.API.LocationInfoPacket.html @@ -1,10 +1,10 @@ -LocationInfoPacket | archipelago.js - v2.0.0LocationInfoPacket | archipelago.js - v2.0.0

                      Interface LocationInfoPacket

                      Sent to clients to acknowledge a received LocationScoutsPacket and responds with the item in each location being scouted.

                      -
                      interface LocationInfoPacket {
                          cmd: "LocationInfo";
                          locations: NetworkItem[];
                      }

                      Properties

                      cmd +
                      interface LocationInfoPacket {
                          cmd: "LocationInfo";
                          locations: NetworkItem[];
                      }

                      Properties

                      Properties

                      cmd
                      locations: NetworkItem[]

                      Contains the list of item(s) in the location(s) scouted.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      locations: NetworkItem[]

                      Contains the list of item(s) in the location(s) scouted.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html b/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html index 57e1c99..faf70ab 100644 --- a/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html +++ b/docs/v2.0.0/interfaces/index.API.LocationScoutsPacket.html @@ -1,20 +1,20 @@ -LocationScoutsPacket | archipelago.js - v2.0.0LocationScoutsPacket | archipelago.js - v2.0.0

                      Interface LocationScoutsPacket

                      Sent by the client to inform the server of locations the client has seen, but not checked. Useful in cases in which the item may appear in the game world, but may not be immediately gettable. The server will always respond with a LocationInfoPacket with the items located in the scouted location.

                      -
                      interface LocationScoutsPacket {
                          cmd: "LocationScouts";
                          create_as_hint: 0 | 1 | 2;
                          locations: number[];
                      }

                      Properties

                      cmd +
                      interface LocationScoutsPacket {
                          cmd: "LocationScouts";
                          create_as_hint: 0 | 1 | 2;
                          locations: number[];
                      }

                      Properties

                      cmd
                      create_as_hint: 0 | 1 | 2
                        +

                      Properties

                      cmd
                      create_as_hint: 0 | 1 | 2
                      • If set to 0, this packet will not create hints for any locations in this packet.
                      • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all relevant clients.
                      • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to all relevant clients.
                      -
                      locations: number[]

                      The ids of the locations seen by the client. May contain any number of locations, even ones sent before; +

                      locations: number[]

                      The ids of the locations seen by the client. May contain any number of locations, even ones sent before; duplicates do not cause issues with the Archipelago server.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html b/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html index fb3a00a..9fecc17 100644 --- a/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.PartJSONPacket.html @@ -1,16 +1,16 @@ -PartJSONPacket | archipelago.js - v2.0.0PartJSONPacket | archipelago.js - v2.0.0

                      Interface PartJSONPacket

                      Sent to clients to broadcast a client has disconnected.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface PartJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Part";
                      }

                      Properties

                      cmd +
                      interface PartJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Part";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html b/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html index 340f671..c113f90 100644 --- a/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ReceivedItemsPacket.html @@ -1,11 +1,11 @@ -ReceivedItemsPacket | archipelago.js - v2.0.0ReceivedItemsPacket | archipelago.js - v2.0.0

                      Interface ReceivedItemsPacket

                      Sent to clients when they receive an item.

                      -
                      interface ReceivedItemsPacket {
                          cmd: "ReceivedItems";
                          index: number;
                          items: NetworkItem[];
                      }

                      Properties

                      cmd +
                      interface ReceivedItemsPacket {
                          cmd: "ReceivedItems";
                          index: number;
                          items: NetworkItem[];
                      }

                      Properties

                      Properties

                      cmd
                      index: number

                      The next empty slot in the list of items for the receiving client. Useful for tracking items.

                      -
                      items: NetworkItem[]

                      The items which the client is receiving.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      index: number

                      The next empty slot in the list of items for the receiving client. Useful for tracking items.

                      +
                      items: NetworkItem[]

                      The items which the client is receiving.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html index 2a1f4e5..0a80139 100644 --- a/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ReleaseJSONPacket.html @@ -1,16 +1,16 @@ -ReleaseJSONPacket | archipelago.js - v2.0.0ReleaseJSONPacket | archipelago.js - v2.0.0

                      Interface ReleaseJSONPacket

                      Sent to clients to broadcast a player has released all remaining items in their world.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface ReleaseJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Release";
                      }

                      Properties

                      cmd +
                      interface ReleaseJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          team: number;
                          type: "Release";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html b/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html index e1584e3..aae561a 100644 --- a/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html +++ b/docs/v2.0.0/interfaces/index.API.RetrievedPacket.html @@ -1,4 +1,4 @@ -RetrievedPacket | archipelago.js - v2.0.0RetrievedPacket | archipelago.js - v2.0.0
                      @@ -6,7 +6,7 @@

                      Additional arguments added to the GetPacket that triggered this RetrievedPacket will also be passed along.

                      interface RetrievedPacket {
                          cmd: "Retrieved";
                          keys: {
                              [key: string]: JSONSerializable;
                          };
                          [p: string]: JSONSerializable;
                      }

                      Indexable

                      Properties

                      cmd +

                      Properties

                      Properties

                      cmd
                      keys: {
                          [key: string]: JSONSerializable;
                      }

                      A key-value collection containing all the values for the keys requested in the GetPacket.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      keys: {
                          [key: string]: JSONSerializable;
                      }

                      A key-value collection containing all the values for the keys requested in the GetPacket.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html b/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html index 1d3cdf5..7f81fc5 100644 --- a/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html +++ b/docs/v2.0.0/interfaces/index.API.RoomInfoPacket.html @@ -1,9 +1,9 @@ -RoomInfoPacket | archipelago.js - v2.0.0RoomInfoPacket | archipelago.js - v2.0.0

                      Interface RoomInfoPacket

                      Sent to clients when they connect to an Archipelago server, but before they authenticate.

                      -
                      interface RoomInfoPacket {
                          cmd: "RoomInfo";
                          datapackage_checksums: Record<string, string>;
                          games: string[];
                          generator_version: NetworkVersion;
                          hint_cost: number;
                          location_check_points: number;
                          password: boolean;
                          permissions: PermissionTable;
                          seed_name: string;
                          tags: string[];
                          time: number;
                          version: NetworkVersion;
                      }

                      Properties

                      cmd +
                      interface RoomInfoPacket {
                          cmd: "RoomInfo";
                          datapackage_checksums: Record<string, string>;
                          games: string[];
                          generator_version: NetworkVersion;
                          hint_cost: number;
                          location_check_points: number;
                          password: boolean;
                          permissions: PermissionTable;
                          seed_name: string;
                          tags: string[];
                          time: number;
                          version: NetworkVersion;
                      }

                      Properties

                      cmd
                      datapackage_checksums: Record<string, string>

                      Checksum hash of the individual games' data packages the server will send. Used by newer clients to decide which +

                      Properties

                      cmd
                      datapackage_checksums: Record<string, string>

                      Checksum hash of the individual games' data packages the server will send. Used by newer clients to decide which games' caches are outdated. See DataPackage for more information on the data package.

                      -
                      games: string[]

                      List of games present in this multi-world.

                      -
                      generator_version: NetworkVersion

                      Object denoting the version of Archipelago which generated the multi-world.

                      -
                      hint_cost: number

                      The amount of points it costs to receive a hint from the server.

                      -
                      location_check_points: number

                      The amount of hint points you receive per item/location check completed.

                      -
                      password: boolean

                      Denoted whether a password is required to join this room.

                      -
                      permissions: PermissionTable

                      Mapping of restrict-able commands to their current PermissionValue level.

                      -
                      seed_name: string

                      Uniquely identifying name for this generation. Based on the seed, but not identical to prevent spoilers.

                      -
                      tags: string[]

                      Denotes special features or capabilities that the sender is capable of. Example: WebHost

                      -
                      time: number

                      Unix time stamp in seconds of "now". Sent for time synchronization if wanted for things like a DeathLink +

                      games: string[]

                      List of games present in this multi-world.

                      +
                      generator_version: NetworkVersion

                      Object denoting the version of Archipelago which generated the multi-world.

                      +
                      hint_cost: number

                      The amount of points it costs to receive a hint from the server.

                      +
                      location_check_points: number

                      The amount of hint points you receive per item/location check completed.

                      +
                      password: boolean

                      Denoted whether a password is required to join this room.

                      +
                      permissions: PermissionTable

                      Mapping of restrict-able commands to their current PermissionValue level.

                      +
                      seed_name: string

                      Uniquely identifying name for this generation. Based on the seed, but not identical to prevent spoilers.

                      +
                      tags: string[]

                      Denotes special features or capabilities that the sender is capable of. Example: WebHost

                      +
                      time: number

                      Unix time stamp in seconds of "now". Sent for time synchronization if wanted for things like a DeathLink BouncePacket.

                      -

                      Object denoting the version of Archipelago which the server is running.

                      -
                      \ No newline at end of file +

                      Object denoting the version of Archipelago which the server is running.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html index dcc984b..f5ee8b4 100644 --- a/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html +++ b/docs/v2.0.0/interfaces/index.API.RoomUpdatePacket.html @@ -1,11 +1,11 @@ -RoomUpdatePacket | archipelago.js - v2.0.0RoomUpdatePacket | archipelago.js - v2.0.0

                      Interface RoomUpdatePacket

                      Sent when there is a need to update information about the present game session. Generally useful for async games. Once authenticated, this may also contain data from ConnectedPacket.

                      All arguments for this packet are optional, only changes are sent.

                      -
                      interface RoomUpdatePacket {
                          checked_locations?: number[];
                          cmd: "RoomUpdate";
                          hint_cost?: number;
                          hint_points?: number;
                          location_check_points?: number;
                          password?: boolean;
                          permissions: PermissionTable;
                          players?: NetworkPlayer[];
                          tags?: string[];
                          time?: number;
                      }

                      Properties

                      interface RoomUpdatePacket {
                          checked_locations?: number[];
                          cmd: "RoomUpdate";
                          hint_cost?: number;
                          hint_points?: number;
                          location_check_points?: number;
                          password?: boolean;
                          permissions: PermissionTable;
                          players?: NetworkPlayer[];
                          tags?: string[];
                          time?: number;
                      }

                      Properties

                      Properties

                      checked_locations?: number[]

                      Might be a partial update, containing new locations that were checked, especially from a co-op partner in the same slot.

                      -
                      cmd
                      hint_cost?: number

                      The amount of points it costs to receive a hint from the server.

                      -
                      hint_points?: number

                      Number of hint points that the current player has.

                      -
                      location_check_points?: number

                      The amount of hint points you receive per item/location check completed.

                      -
                      password?: boolean

                      Denoted whether a password is required to join this room.

                      -
                      permissions: PermissionTable

                      Mapping of restrict-able commands to their current PermissionValue level.

                      -
                      players?: NetworkPlayer[]

                      Information on the players, whether connected or not.

                      -
                      tags?: string[]

                      Denotes special features or capabilities that the sender is capable of. Example: WebHost

                      -
                      time?: number

                      Unix time stamp of "now". Send for time synchronization if wanted for things like a DeathLink +

                      cmd
                      hint_cost?: number

                      The amount of points it costs to receive a hint from the server.

                      +
                      hint_points?: number

                      Number of hint points that the current player has.

                      +
                      location_check_points?: number

                      The amount of hint points you receive per item/location check completed.

                      +
                      password?: boolean

                      Denoted whether a password is required to join this room.

                      +
                      permissions: PermissionTable

                      Mapping of restrict-able commands to their current PermissionValue level.

                      +
                      players?: NetworkPlayer[]

                      Information on the players, whether connected or not.

                      +
                      tags?: string[]

                      Denotes special features or capabilities that the sender is capable of. Example: WebHost

                      +
                      time?: number

                      Unix time stamp of "now". Send for time synchronization if wanted for things like a DeathLink BouncePacket.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SayPacket.html b/docs/v2.0.0/interfaces/index.API.SayPacket.html index 691e7a6..3f981e3 100644 --- a/docs/v2.0.0/interfaces/index.API.SayPacket.html +++ b/docs/v2.0.0/interfaces/index.API.SayPacket.html @@ -1,9 +1,9 @@ -SayPacket | archipelago.js - v2.0.0SayPacket | archipelago.js - v2.0.0

                      Interface SayPacket

                      Basic chat-type packet which sends text to the server to be distributed to other clients.

                      -
                      interface SayPacket {
                          cmd: "Say";
                          text: string;
                      }

                      Properties

                      cmd +
                      interface SayPacket {
                          cmd: "Say";
                          text: string;
                      }

                      Properties

                      Properties

                      cmd
                      text: string

                      Text to send to others.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      text: string

                      Text to send to others.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html b/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html index b77d8d1..53eb1f4 100644 --- a/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.ServerChatJSONPacket.html @@ -1,14 +1,14 @@ -ServerChatJSONPacket | archipelago.js - v2.0.0ServerChatJSONPacket | archipelago.js - v2.0.0

                      Interface ServerChatJSONPacket

                      Sent to clients to broadcast a server-side chat message.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface ServerChatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          message: string;
                          type: "ServerChat";
                      }

                      Properties

                      cmd +
                      interface ServerChatJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          message: string;
                          type: "ServerChat";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      message: string

                      Original chat message without sender prefix.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      message: string

                      Original chat message without sender prefix.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html b/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html index 5ce7151..102261e 100644 --- a/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html +++ b/docs/v2.0.0/interfaces/index.API.SetNotifyPacket.html @@ -1,10 +1,10 @@ -SetNotifyPacket | archipelago.js - v2.0.0SetNotifyPacket | archipelago.js - v2.0.0

                      Interface SetNotifyPacket

                      Used to register your current session for receiving all SetReplyPackets of certain keys to allow your client to keep track of changes.

                      -
                      interface SetNotifyPacket {
                          cmd: "SetNotify";
                          keys: string[];
                      }

                      Properties

                      cmd +
                      interface SetNotifyPacket {
                          cmd: "SetNotify";
                          keys: string[];
                      }

                      Properties

                      Properties

                      cmd
                      keys: string[]

                      Keys to receive all SetReplyPackets for.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      keys: string[]

                      Keys to receive all SetReplyPackets for.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetPacket.html b/docs/v2.0.0/interfaces/index.API.SetPacket.html index f3b7ce0..4330719 100644 --- a/docs/v2.0.0/interfaces/index.API.SetPacket.html +++ b/docs/v2.0.0/interfaces/index.API.SetPacket.html @@ -1,4 +1,4 @@ -SetPacket | archipelago.js - v2.0.0SetPacket | archipelago.js - v2.0.0
                      @@ -7,14 +7,14 @@ SetNotifyPacket.

                      Additional arguments sent in this package will also be added to the SetReplyPacket it triggers.

                      interface SetPacket {
                          cmd: "Set";
                          default: JSONSerializable;
                          key: string;
                          operations: DataStorageOperation[];
                          want_reply: boolean;
                          [p: string]: JSONSerializable;
                      }

                      Indexable

                      Properties

                      cmd +

                      Properties

                      cmd

                      The default value to use in case the key has no value on the server.

                      -
                      key: string

                      The key to manipulate.

                      -
                      operations: DataStorageOperation[]

                      Operations to apply to the value, multiple operations can be present, and they will be executed in order of +

                      Properties

                      cmd

                      The default value to use in case the key has no value on the server.

                      +
                      key: string

                      The key to manipulate.

                      +
                      operations: DataStorageOperation[]

                      Operations to apply to the value, multiple operations can be present, and they will be executed in order of appearance. See DataStorageOperation for information on supported operations.

                      -
                      want_reply: boolean

                      If set, the server will send a SetReplyPacket back to the client.

                      -
                      \ No newline at end of file +
                      want_reply: boolean

                      If set, the server will send a SetReplyPacket back to the client.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html b/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html index b152df8..c4b8903 100644 --- a/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html +++ b/docs/v2.0.0/interfaces/index.API.SetReplyPacket.html @@ -1,4 +1,4 @@ -SetReplyPacket | archipelago.js - v2.0.0SetReplyPacket | archipelago.js - v2.0.0
                      @@ -8,11 +8,11 @@

                      Additional arguments added to the SetPacket that triggered this SetReplyPacket will also be passed along.

                      interface SetReplyPacket {
                          cmd: "SetReply";
                          key: string;
                          original_value: JSONSerializable;
                          value: JSONSerializable;
                          [p: string]: JSONSerializable;
                      }

                      Indexable

                      Properties

                      cmd +

                      Properties

                      cmd
                      key: string

                      The key that was updated.

                      -
                      original_value: JSONSerializable

                      The value the key had before it was updated.

                      -

                      The new value for the key.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd
                      key: string

                      The key that was updated.

                      +
                      original_value: JSONSerializable

                      The value the key had before it was updated.

                      +

                      The new value for the key.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html b/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html index e420ba8..5ae960d 100644 --- a/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html +++ b/docs/v2.0.0/interfaces/index.API.StatusUpdatePacket.html @@ -1,10 +1,10 @@ -StatusUpdatePacket | archipelago.js - v2.0.0StatusUpdatePacket | archipelago.js - v2.0.0

                      Interface StatusUpdatePacket

                      Sent to the server to update on the client's status. Examples include readiness or goal completion.

                      -
                      interface StatusUpdatePacket {
                          cmd: "StatusUpdate";
                          status:
                              | 0
                              | 5
                              | 10
                              | 20
                              | 30;
                      }

                      Properties

                      cmd +
                      interface StatusUpdatePacket {
                          cmd: "StatusUpdate";
                          status:
                              | 0
                              | 5
                              | 10
                              | 20
                              | 30;
                      }

                      Properties

                      Properties

                      cmd
                      status:
                          | 0
                          | 5
                          | 10
                          | 20
                          | 30

                      The new client status value to set this slot to. See clientStatuses for all known values.

                      +

                      Properties

                      cmd
                      status:
                          | 0
                          | 5
                          | 10
                          | 20
                          | 30

                      The new client status value to set this slot to. See clientStatuses for all known values.

                      This packet is ignored if the client status was set to clientStatuses.goal.

                      -
                      \ No newline at end of file +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.SyncPacket.html b/docs/v2.0.0/interfaces/index.API.SyncPacket.html index 5655576..22b5faf 100644 --- a/docs/v2.0.0/interfaces/index.API.SyncPacket.html +++ b/docs/v2.0.0/interfaces/index.API.SyncPacket.html @@ -1,4 +1,4 @@ -SyncPacket | archipelago.js - v2.0.0SyncPacket | archipelago.js - v2.0.0
                      @@ -6,5 +6,5 @@

                      In principle, a network desync of items should never occur, as if connection is broken and then re-established, the server will resend all items ever received on reconnection, so use of this packet should never be needed.

                      -
                      interface SyncPacket {
                          cmd: "Sync";
                      }

                      Properties

                      cmd -

                      Properties

                      cmd
                      \ No newline at end of file +
                      interface SyncPacket {
                          cmd: "Sync";
                      }

                      Properties

                      cmd +

                      Properties

                      cmd
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html b/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html index f204679..efa1b62 100644 --- a/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.TagsChangedJSONPacket.html @@ -1,18 +1,18 @@ -TagsChangedJSONPacket | archipelago.js - v2.0.0TagsChangedJSONPacket | archipelago.js - v2.0.0

                      Interface TagsChangedJSONPacket

                      Sent to clients to broadcast a client has changed their tags.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface TagsChangedJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          tags: string[];
                          team: number;
                          type: "TagsChanged";
                      }

                      Properties

                      cmd +
                      interface TagsChangedJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          slot: number;
                          tags: string[];
                          team: number;
                          type: "TagsChanged";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      slot: number

                      Slot of the triggering player.

                      -
                      tags: string[]

                      Tags of the triggering player.

                      -
                      team: number

                      Team of the triggering player.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      slot: number

                      Slot of the triggering player.

                      +
                      tags: string[]

                      Tags of the triggering player.

                      +
                      team: number

                      Team of the triggering player.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html b/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html index 3789dc3..7ad514c 100644 --- a/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html +++ b/docs/v2.0.0/interfaces/index.API.TutorialJSONPacket.html @@ -1,12 +1,12 @@ -TutorialJSONPacket | archipelago.js - v2.0.0TutorialJSONPacket | archipelago.js - v2.0.0

                      Interface TutorialJSONPacket

                      Sent to relevant clients to broadcast tutorial information, usually on first connection.

                      PrintJSONPacket for all possible PrintJSON packet subtypes.

                      -
                      interface TutorialJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "Tutorial";
                      }

                      Properties

                      cmd +
                      interface TutorialJSONPacket {
                          cmd: "PrintJSON";
                          data: JSONMessagePart[];
                          type: "Tutorial";
                      }

                      Properties

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      -
                      type

                      The PrintJSONPacket subtype.

                      -
                      \ No newline at end of file +

                      Properties

                      cmd

                      All the textual metadata for this packet.

                      +
                      type

                      The PrintJSONPacket subtype.

                      +
                      \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.ClientOptions.html b/docs/v2.0.0/interfaces/index.ClientOptions.html index 88bb672..7f1262a 100644 --- a/docs/v2.0.0/interfaces/index.ClientOptions.html +++ b/docs/v2.0.0/interfaces/index.ClientOptions.html @@ -1,30 +1,30 @@ -ClientOptions | archipelago.js - v2.0.0ClientOptions | archipelago.js - v2.0.0

                        Interface ClientOptions

                        An interface of client options that can be set on a Client object.

                        -
                        interface ClientOptions {
                            autoFetchDataPackage?: boolean;
                            debugLogVersions: boolean;
                            maximumMessages?: number;
                            timeout?: number;
                        }

                        Properties

                        interface ClientOptions {
                            autoFetchDataPackage?: boolean;
                            debugLogVersions: boolean;
                            maximumMessages?: number;
                            timeout?: number;
                        }

                        Properties

                        autoFetchDataPackage?: boolean

                        Automatically requests the DataPackage from the server during Client.login, if the packages are missing in the DataPackageManager.

                        -
                        true
                        +
                        true
                         
                        -
                        debugLogVersions: boolean

                        If enabled, logs the game, library version, and user agent to data storage, which can be used for debugging +

                        debugLogVersions: boolean

                        If enabled, logs the game, library version, and user agent to data storage, which can be used for debugging purposes.

                        -
                        true
                        +
                        true
                         
                        -
                        maximumMessages?: number

                        Determines the maximum number of chat messages to log in MessageManager.

                        -
                        1000
                        +
                        maximumMessages?: number

                        Determines the maximum number of chat messages to log in MessageManager.

                        +
                        1000
                         

                        If 0 or fewer, message logging will effectively be disabled.

                        -
                        timeout?: number

                        The maximum number of milliseconds to wait for a response from the server when awaiting a response to a client +

                        timeout?: number

                        The maximum number of milliseconds to wait for a response from the server when awaiting a response to a client packet.

                        -
                        10000
                        +
                        10000
                         
                        -
                        \ No newline at end of file +
                        \ No newline at end of file diff --git a/docs/v2.0.0/interfaces/index.ConnectionOptions.html b/docs/v2.0.0/interfaces/index.ConnectionOptions.html index a8793c1..20a9c32 100644 --- a/docs/v2.0.0/interfaces/index.ConnectionOptions.html +++ b/docs/v2.0.0/interfaces/index.ConnectionOptions.html @@ -1,9 +1,9 @@ -ConnectionOptions | archipelago.js - v2.0.0ConnectionOptions | archipelago.js - v2.0.0

                          Interface ConnectionOptions

                          An interface of additional connection arguments when authenticating to an Archipelago server.

                          -
                          interface ConnectionOptions {
                              items?: number;
                              password?: string;
                              slotData?: boolean;
                              tags?: string[];
                              uuid?: string;
                              version?: {
                                  build: number;
                                  major: number;
                                  minor: number;
                              };
                          }

                          Properties

                          interface ConnectionOptions {
                              items?: number;
                              password?: string;
                              slotData?: boolean;
                              tags?: string[];
                              uuid?: string;
                              version?: {
                                  build: number;
                                  major: number;
                                  minor: number;
                              };
                          }

                          Properties

                          items? password? slotData? tags? @@ -14,27 +14,27 @@

                          Defaults to request all received item events, so unless you need local-only functionality this property can usually be omitted.

                          -
                          password?: string

                          The room password, if the server requires a password to join. Otherwise, optional.

                          +
                          password?: string

                          The room password, if the server requires a password to join. Otherwise, optional.

                          ""
                           
                          -
                          slotData?: boolean

                          Request this slot's data during connection. If false, server will respond with an empty object ({}) instead.

                          -
                          true
                          +
                          slotData?: boolean

                          Request this slot's data during connection. If false, server will respond with an empty object ({}) instead.

                          +
                          true
                           
                          -
                          tags?: string[]

                          A list of strings that denote special features or capabilities this sender is currently capable of. A list of +

                          tags?: string[]

                          A list of strings that denote special features or capabilities this sender is currently capable of. A list of common tags is documented here:

                          https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#tags.

                          []
                           
                          -
                          uuid?: string

                          A unique identifier for this client.

                          +
                          uuid?: string

                          A unique identifier for this client.

                          Not currently used for anything server side, but may change or be deprecated in a future Archipelago update.

                          Defaults to a randomly generated v4 UUID.

                          -
                          version?: {
                              build: number;
                              major: number;
                              minor: number;
                          }

                          The version of Archipelago this client was designed for. This can be enforced on the server side to force a user +

                          version?: {
                              build: number;
                              major: number;
                              minor: number;
                          }

                          The version of Archipelago this client was designed for. This can be enforced on the server side to force a user to update their client, if a new version was released.

                          Type declaration

                          • Readonlybuild: number

                            The build version component.

                          • Readonlymajor: number

                            The major version component.

                          • Readonlyminor: number

                            The minor version component.

                          targetVersion

                          -
                          \ No newline at end of file +
                          \ No newline at end of file diff --git a/docs/v2.0.0/modules.html b/docs/v2.0.0/modules.html index f0d3a9f..3e8618c 100644 --- a/docs/v2.0.0/modules.html +++ b/docs/v2.0.0/modules.html @@ -1,4 +1,4 @@ -archipelago.js - v2.0.0archipelago.js - v2.0.0
                          @@ -9,7 +9,8 @@

                          -

                          Guides

                          Quick Start +

                          Installation

                          Introduction

                          Other

                          \ No newline at end of file diff --git a/docs/v2.0.0/modules/index.API.html b/docs/v2.0.0/modules/index.API.html index a12dac0..ed99079 100644 --- a/docs/v2.0.0/modules/index.API.html +++ b/docs/v2.0.0/modules/index.API.html @@ -1,4 +1,4 @@ -API | archipelago.js - v2.0.0API | archipelago.js - v2.0.0
                          @@ -9,7 +9,7 @@ API

                          Users of this library should utilize built-in helper methods and objects, whenever available, but these base types are still exposed, if needed.

                          -
                          +

                          Index diff --git a/docs/v2.0.0/modules/index.html b/docs/v2.0.0/modules/index.html index 07e29e9..b54ed04 100644 --- a/docs/v2.0.0/modules/index.html +++ b/docs/v2.0.0/modules/index.html @@ -1,8 +1,8 @@ -index | archipelago.js - v2.0.0index | archipelago.js - v2.0.0
                          -

                            Module index

                            +

                              Module index

                              Index diff --git a/docs/v2.0.0/sitemap.xml b/docs/v2.0.0/sitemap.xml index 9444737..d29e1ea 100644 --- a/docs/v2.0.0/sitemap.xml +++ b/docs/v2.0.0/sitemap.xml @@ -2,514 +2,522 @@ https://archipelago.js.org/modules.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/index.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/hierarchy.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z - https://archipelago.js.org/documents/Quick_Start.html - 2024-11-08T15:44:04.440Z + https://archipelago.js.org/documents/Introduction.html + 2024-11-10T09:14:00.822Z + + + https://archipelago.js.org/documents/Introduction.Reports.html + 2024-11-10T09:14:00.822Z + + + https://archipelago.js.org/documents/Installation.html + 2024-11-10T09:14:00.822Z https://archipelago.js.org/modules/index.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/modules/index.API.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.AdminCommandResultJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.BouncedPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.BouncePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ChatJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.CollectJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.CommandResultJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ConnectedPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ConnectionRefusedPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ConnectPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ConnectUpdatePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.CountdownJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.DataPackagePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.GetDataPackagePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.GetPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.GoalJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.HintJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.InvalidArgumentsPacketPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.InvalidCommandPacketPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ItemCheatJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ItemSendJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.JoinJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.LocationChecksPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.LocationInfoPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.LocationScoutsPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.PartJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ReceivedItemsPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ReleaseJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.RetrievedPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.RoomInfoPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.RoomUpdatePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.SayPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.ServerChatJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.SetNotifyPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.SetPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.SetReplyPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.StatusUpdatePacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.SyncPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.TagsChangedJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.API.TutorialJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.AddDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.AndDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.CeilingDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ClientPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ColorJSONMessagePart.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ConnectionError.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.DataPackage.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.DataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.DefaultDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.FloorDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.GamePackage.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.InvalidPacketPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ItemJSONMessagePart.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.JSONMessagePart.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.JSONRecord.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.JSONSerializable.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.LeftShiftDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.LocationJSONMessagePart.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.MaxDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.MinDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ModuloDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.MultiplyDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.NetworkHint.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.NetworkItem.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.NetworkPlayer.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.NetworkSlot.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.NetworkVersion.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.OrDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PermissionTable.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PermissionValue.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PopDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PowerDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PrintJSONPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.PrintJSONType.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.RemoveDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ReplaceDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.RightShiftDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ServerPacket.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.TextJSONMessagePart.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.UpdateDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ValidJSONColorType.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.ValidJSONMessagePartType.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.API.XorDataStorageOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.API.clientStatuses.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.API.itemClassifications.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.API.itemsHandlingFlags.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.API.permissions.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.API.slotTypes.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.BaseMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.Client.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.ColorMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.DataPackageManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.DataStorageManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.DeathLinkManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.EventBasedManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.Hint.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.IntermediateDataOperation.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.Item.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.ItemMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.ItemsManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.LocationMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.MessageManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.PackageMetadata.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.Player.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.PlayerMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.PlayersManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.RoomStateManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.SocketManager.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/classes/index.TextualMessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.ClientOptions.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/interfaces/index.ConnectionOptions.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.ClientStatus.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.DataChangeCallback.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.DeathEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.ItemEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.MessageEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.MessageLog.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.MessageNode.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.PlayerEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.RoomStateEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/types/index.SocketEvents.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.libraryVersion.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z https://archipelago.js.org/variables/index.targetVersion.html - 2024-11-08T15:44:04.440Z + 2024-11-10T09:14:00.822Z diff --git a/docs/v2.0.0/types/index.API.AddDataStorageOperation.html b/docs/v2.0.0/types/index.API.AddDataStorageOperation.html index 23c39d6..a153df5 100644 --- a/docs/v2.0.0/types/index.API.AddDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.AddDataStorageOperation.html @@ -1,4 +1,4 @@ -AddDataStorageOperation | archipelago.js - v2.0.0AddDataStorageOperation | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ appended to the current value.

                              Type declaration

                              • Readonlyoperation: "add"
                              • Readonlyvalue: number | JSONSerializable[]

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.AndDataStorageOperation.html b/docs/v2.0.0/types/index.API.AndDataStorageOperation.html index f4432a0..7b43f3f 100644 --- a/docs/v2.0.0/types/index.API.AndDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.AndDataStorageOperation.html @@ -1,8 +1,8 @@ -AndDataStorageOperation | archipelago.js - v2.0.0AndDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias AndDataStorageOperation

                              AndDataStorageOperation: {
                                  operation: "and";
                                  value: number;
                              }

                              Applies a bitwise AND to the current value of the key with value.

                              Type declaration

                              • Readonlyoperation: "and"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html b/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html index c8a15d0..5cd2d2f 100644 --- a/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.CeilingDataStorageOperation.html @@ -1,8 +1,8 @@ -CeilingDataStorageOperation | archipelago.js - v2.0.0CeilingDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias CeilingDataStorageOperation

                              CeilingDataStorageOperation: {
                                  operation: "ceil";
                                  value: null;
                              }

                              Rounds up the current value to the nearest integer.

                              Type declaration

                              • Readonlyoperation: "ceil"
                              • Readonlyvalue: null

                                Ignored for this operation.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ClientPacket.html b/docs/v2.0.0/types/index.API.ClientPacket.html index 1248615..ae96b24 100644 --- a/docs/v2.0.0/types/index.API.ClientPacket.html +++ b/docs/v2.0.0/types/index.API.ClientPacket.html @@ -1,5 +1,5 @@ -ClientPacket | archipelago.js - v2.0.0ClientPacket | archipelago.js - v2.0.0
                              -

                              Type Alias ClientPacket

                              ClientPacket:
                                  | BouncePacket
                                  | ConnectPacket
                                  | ConnectUpdatePacket
                                  | GetPacket
                                  | GetDataPackagePacket
                                  | LocationChecksPacket
                                  | LocationScoutsPacket
                                  | SayPacket
                                  | SetPacket
                                  | SetNotifyPacket
                                  | StatusUpdatePacket
                                  | SyncPacket
                              \ No newline at end of file +

                              Type Alias ClientPacket

                              ClientPacket:
                                  | BouncePacket
                                  | ConnectPacket
                                  | ConnectUpdatePacket
                                  | GetPacket
                                  | GetDataPackagePacket
                                  | LocationChecksPacket
                                  | LocationScoutsPacket
                                  | SayPacket
                                  | SetPacket
                                  | SetNotifyPacket
                                  | StatusUpdatePacket
                                  | SyncPacket
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html b/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html index 48916af..56765f5 100644 --- a/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html +++ b/docs/v2.0.0/types/index.API.ColorJSONMessagePart.html @@ -1,4 +1,4 @@ -ColorJSONMessagePart | archipelago.js - v2.0.0ColorJSONMessagePart | archipelago.js - v2.0.0
                              @@ -7,4 +7,4 @@
                            • Readonlytext: string

                              Used to supply text data for this node.

                            • Readonlytype: "color"

                              Used to denote the intent of the message part.

                            • JSONMessagePart for all possible message part node subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ConnectionError.html b/docs/v2.0.0/types/index.API.ConnectionError.html index f17ef23..d6ad88d 100644 --- a/docs/v2.0.0/types/index.API.ConnectionError.html +++ b/docs/v2.0.0/types/index.API.ConnectionError.html @@ -1,7 +1,7 @@ -ConnectionError | archipelago.js - v2.0.0ConnectionError | archipelago.js - v2.0.0

                              Type Alias ConnectionError

                              ConnectionError:
                                  | "InvalidSlot"
                                  | "InvalidGame"
                                  | "IncompatibleVersion"
                                  | "InvalidPassword"
                                  | "InvalidItemsHandling"

                              A union of known errors the Archipelago server can send back to the client when they receive a ConnectionRefusedPacket.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DataPackage.html b/docs/v2.0.0/types/index.API.DataPackage.html index 25e844f..9330630 100644 --- a/docs/v2.0.0/types/index.API.DataPackage.html +++ b/docs/v2.0.0/types/index.API.DataPackage.html @@ -1,4 +1,4 @@ -DataPackage | archipelago.js - v2.0.0DataPackage | archipelago.js - v2.0.0
                              @@ -11,4 +11,4 @@ and -2: Server (typically Remote Start Inventory).

                              Type declaration

                              • Readonlygames: Record<string, GamePackage>

                                Mapping of all Games and their respective data. See GamePackage for additional info.

                                -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DataStorageOperation.html b/docs/v2.0.0/types/index.API.DataStorageOperation.html index 63ff366..7a9f6fa 100644 --- a/docs/v2.0.0/types/index.API.DataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.DataStorageOperation.html @@ -1,4 +1,4 @@ -DataStorageOperation | archipelago.js - v2.0.0DataStorageOperation | archipelago.js - v2.0.0
                              @@ -9,7 +9,7 @@

                              Each operation object consists of an object containing both the operation to be applied, provided in the form of a string, and the value to be used for that operation,

                              See each DataStorage subtype for more details.

                              -
                              { "operation": "add", "value": 12 }
                              +
                              { "operation": "add", "value": 12 }
                               
                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html b/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html index ef37d0b..acc09a4 100644 --- a/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.DefaultDataStorageOperation.html @@ -1,4 +1,4 @@ -DefaultDataStorageOperation | archipelago.js - v2.0.0DefaultDataStorageOperation | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ ignored).

                              Type declaration

                              • Readonlyoperation: "default"
                              • Readonlyvalue: null

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html b/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html index fd1b4b0..7a7bee3 100644 --- a/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.FloorDataStorageOperation.html @@ -1,8 +1,8 @@ -FloorDataStorageOperation | archipelago.js - v2.0.0FloorDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias FloorDataStorageOperation

                              FloorDataStorageOperation: {
                                  operation: "floor";
                                  value: null;
                              }

                              Rounds down the current value to the nearest integer.

                              Type declaration

                              • Readonlyoperation: "floor"
                              • Readonlyvalue: null

                                Ignored for this operation.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.GamePackage.html b/docs/v2.0.0/types/index.API.GamePackage.html index eaa0912..380360e 100644 --- a/docs/v2.0.0/types/index.API.GamePackage.html +++ b/docs/v2.0.0/types/index.API.GamePackage.html @@ -1,4 +1,4 @@ -GamePackage | archipelago.js - v2.0.0GamePackage | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@

                              Type declaration

                              • Readonlychecksum: string

                                SHA1 checksum of this game's data.

                              • Readonlyitem_name_to_id: Record<string, number>

                                Mapping of all item names to their respective id.

                              • Readonlylocation_name_to_id: Record<string, number>

                                Mapping of all location names to their respective id.

                                -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.InvalidPacketPacket.html b/docs/v2.0.0/types/index.API.InvalidPacketPacket.html index 13096ab..8e69554 100644 --- a/docs/v2.0.0/types/index.API.InvalidPacketPacket.html +++ b/docs/v2.0.0/types/index.API.InvalidPacketPacket.html @@ -1,4 +1,4 @@ -InvalidPacketPacket | archipelago.js - v2.0.0InvalidPacketPacket | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ packet subtype for more details.

                              This only occurs for errors that are explicitly checked for. All other errors will cause the server to drop the connection instead.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html b/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html index 427da2c..de2e1b7 100644 --- a/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html +++ b/docs/v2.0.0/types/index.API.ItemJSONMessagePart.html @@ -1,4 +1,4 @@ -ItemJSONMessagePart | archipelago.js - v2.0.0ItemJSONMessagePart | archipelago.js - v2.0.0
                              @@ -8,4 +8,4 @@
                            • Readonlytext: string

                              Used to supply text data for this node.

                            • Readonlytype: "item_id" | "item_name"

                              Used to denote the intent of the message part.

                            • JSONMessagePart for all possible message part node subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONMessagePart.html b/docs/v2.0.0/types/index.API.JSONMessagePart.html index 6840894..45c5923 100644 --- a/docs/v2.0.0/types/index.API.JSONMessagePart.html +++ b/docs/v2.0.0/types/index.API.JSONMessagePart.html @@ -1,8 +1,8 @@ -JSONMessagePart | archipelago.js - v2.0.0JSONMessagePart | archipelago.js - v2.0.0

                              Type Alias JSONMessagePart

                              JSONMessagePart:
                                  | ItemJSONMessagePart
                                  | LocationJSONMessagePart
                                  | ColorJSONMessagePart
                                  | TextJSONMessagePart

                              A union of all message node subtypes sent along with PrintJSONPacket, which can be reconstructed into a legible message. Each node is intended to be read in the order provided in the packet.

                              See each subtype for more specific information.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONRecord.html b/docs/v2.0.0/types/index.API.JSONRecord.html index 3100765..d217126 100644 --- a/docs/v2.0.0/types/index.API.JSONRecord.html +++ b/docs/v2.0.0/types/index.API.JSONRecord.html @@ -1,6 +1,6 @@ -JSONRecord | archipelago.js - v2.0.0JSONRecord | archipelago.js - v2.0.0

                              Type Alias JSONRecord

                              JSONRecord: {
                                  [p: string]: JSONSerializable;
                              }

                              A record of JSON-serializable data.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.JSONSerializable.html b/docs/v2.0.0/types/index.API.JSONSerializable.html index 071e7d3..773f4b4 100644 --- a/docs/v2.0.0/types/index.API.JSONSerializable.html +++ b/docs/v2.0.0/types/index.API.JSONSerializable.html @@ -1,6 +1,6 @@ -JSONSerializable | archipelago.js - v2.0.0JSONSerializable | archipelago.js - v2.0.0

                              Type Alias JSONSerializable

                              JSONSerializable:
                                  | string
                                  | number
                                  | boolean
                                  | null
                                  | JSONRecord
                                  | JSONSerializable[]

                              A type union of all basic JSON-compatible types.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html b/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html index 28d5d95..61e15da 100644 --- a/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.LeftShiftDataStorageOperation.html @@ -1,8 +1,8 @@ -LeftShiftDataStorageOperation | archipelago.js - v2.0.0LeftShiftDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias LeftShiftDataStorageOperation

                              LeftShiftDataStorageOperation: {
                                  operation: "left_shift";
                                  value: number;
                              }

                              Applies a bitwise left-shift to the current value of the key by value.

                              Type declaration

                              • Readonlyoperation: "left_shift"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html b/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html index 68d1686..b7b99bb 100644 --- a/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html +++ b/docs/v2.0.0/types/index.API.LocationJSONMessagePart.html @@ -1,4 +1,4 @@ -LocationJSONMessagePart | archipelago.js - v2.0.0LocationJSONMessagePart | archipelago.js - v2.0.0
                              @@ -7,4 +7,4 @@
                            • Readonlytext: string

                              Used to supply text data for this node.

                            • Readonlytype: "location_id" | "location_name"

                              Used to denote the intent of the message part.

                            • JSONMessagePart for all possible message part node subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html b/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html index 7b1664b..7196e4d 100644 --- a/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.MaxDataStorageOperation.html @@ -1,8 +1,8 @@ -MaxDataStorageOperation | archipelago.js - v2.0.0MaxDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias MaxDataStorageOperation

                              MaxDataStorageOperation: {
                                  operation: "max";
                                  value: number;
                              }

                              Sets the current value of the key to value if value is bigger.

                              Type declaration

                              • Readonlyoperation: "max"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MinDataStorageOperation.html b/docs/v2.0.0/types/index.API.MinDataStorageOperation.html index 03e0acf..78a3df0 100644 --- a/docs/v2.0.0/types/index.API.MinDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.MinDataStorageOperation.html @@ -1,8 +1,8 @@ -MinDataStorageOperation | archipelago.js - v2.0.0MinDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias MinDataStorageOperation

                              MinDataStorageOperation: {
                                  operation: "min";
                                  value: number;
                              }

                              Sets the current value of the key to value if value is lower.

                              Type declaration

                              • Readonlyoperation: "min"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html b/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html index 75c7dcf..61ed973 100644 --- a/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.ModuloDataStorageOperation.html @@ -1,8 +1,8 @@ -ModuloDataStorageOperation | archipelago.js - v2.0.0ModuloDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias ModuloDataStorageOperation

                              ModuloDataStorageOperation: {
                                  operation: "mod";
                                  value: number;
                              }

                              Sets the current value of the key to the remainder after division by value.

                              Type declaration

                              • Readonlyoperation: "mod"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html b/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html index 1ba05f9..2b22e25 100644 --- a/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.MultiplyDataStorageOperation.html @@ -1,8 +1,8 @@ -MultiplyDataStorageOperation | archipelago.js - v2.0.0MultiplyDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias MultiplyDataStorageOperation

                              MultiplyDataStorageOperation: {
                                  operation: "mul";
                                  value: number;
                              }

                              Multiplies the current value of the key by value.

                              Type declaration

                              • Readonlyoperation: "mul"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkHint.html b/docs/v2.0.0/types/index.API.NetworkHint.html index 6c5bac3..b4b98f7 100644 --- a/docs/v2.0.0/types/index.API.NetworkHint.html +++ b/docs/v2.0.0/types/index.API.NetworkHint.html @@ -1,4 +1,4 @@ -NetworkHint | archipelago.js - v2.0.0NetworkHint | archipelago.js - v2.0.0
                              @@ -10,4 +10,4 @@
                            • Readonlyitem_flags: number

                              The classification bit flags for this item. See itemsHandlingFlags for known flags.

                            • Readonlylocation: number

                              The id of the location for this item.

                            • Readonlyreceiving_player: number

                              The id of the player who owns this item.

                              -
                            • \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkItem.html b/docs/v2.0.0/types/index.API.NetworkItem.html index fa6eae5..dc21dc9 100644 --- a/docs/v2.0.0/types/index.API.NetworkItem.html +++ b/docs/v2.0.0/types/index.API.NetworkItem.html @@ -1,4 +1,4 @@ -NetworkItem | archipelago.js - v2.0.0NetworkItem | archipelago.js - v2.0.0
                              @@ -8,4 +8,4 @@
                            • Readonlylocation: number

                              The location id of the location inside the world. Location ids are in the range of -2^53 to +2^53 - 1.

                            • Readonlyplayer: number

                              The slot id for the player whose world the item was located in, except when inside a LocationInfoPacket, then it will be the slot id of the player the item belongs to.

                              -
                            • \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkPlayer.html b/docs/v2.0.0/types/index.API.NetworkPlayer.html index c066585..2f2c36d 100644 --- a/docs/v2.0.0/types/index.API.NetworkPlayer.html +++ b/docs/v2.0.0/types/index.API.NetworkPlayer.html @@ -1,4 +1,4 @@ -NetworkPlayer | archipelago.js - v2.0.0NetworkPlayer | archipelago.js - v2.0.0
                              @@ -9,4 +9,4 @@
                            • Readonlyslot: number

                              Determines the slot id for this player. Slot numbers are unique per team and start at 1. Slot number 0 refers to the Archipelago server; this may appear in instances where the server grants the player an item.

                            • Readonlyteam: number

                              Determines the team the player is on. Useful for competitive seeds. Team numbers start at 0.

                              -
                            • \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkSlot.html b/docs/v2.0.0/types/index.API.NetworkSlot.html index ebbd314..d5191df 100644 --- a/docs/v2.0.0/types/index.API.NetworkSlot.html +++ b/docs/v2.0.0/types/index.API.NetworkSlot.html @@ -1,4 +1,4 @@ -NetworkSlot | archipelago.js - v2.0.0NetworkSlot | archipelago.js - v2.0.0
                              @@ -7,4 +7,4 @@
                            • Readonlygroup_members: number[]

                              Contains a list of player ids, if the type is slotTypes.group. Used for item links, otherwise empty.

                            • Readonlyname: string

                              The original slot name as defined by the player's configuration file. Individual names are unique among players.

                            • Readonlytype: typeof slotTypes[keyof typeof slotTypes]

                              The type of slot this is. See slotTypes for known slot types.

                              -
                            • \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.NetworkVersion.html b/docs/v2.0.0/types/index.API.NetworkVersion.html index 415578f..46528d3 100644 --- a/docs/v2.0.0/types/index.API.NetworkVersion.html +++ b/docs/v2.0.0/types/index.API.NetworkVersion.html @@ -1,4 +1,4 @@ -NetworkVersion | archipelago.js - v2.0.0NetworkVersion | archipelago.js - v2.0.0
                              @@ -9,4 +9,4 @@
                            • Readonlymajor: number

                              The major component of the version number. (e.g., X.0.0)

                            • Readonlyminor: number

                              The minor component of the version number. (e.g., 0.X.0)

                            • Archipelago does not follow a semver versioning standard.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.OrDataStorageOperation.html b/docs/v2.0.0/types/index.API.OrDataStorageOperation.html index af4c0f2..ec85149 100644 --- a/docs/v2.0.0/types/index.API.OrDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.OrDataStorageOperation.html @@ -1,8 +1,8 @@ -OrDataStorageOperation | archipelago.js - v2.0.0OrDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias OrDataStorageOperation

                              OrDataStorageOperation: {
                                  operation: "or";
                                  value: number;
                              }

                              Applies a bitwise OR to the current value of the key with value.

                              Type declaration

                              • Readonlyoperation: "or"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PermissionTable.html b/docs/v2.0.0/types/index.API.PermissionTable.html index 2817e6e..e1c509b 100644 --- a/docs/v2.0.0/types/index.API.PermissionTable.html +++ b/docs/v2.0.0/types/index.API.PermissionTable.html @@ -1,4 +1,4 @@ -PermissionTable | archipelago.js - v2.0.0PermissionTable | archipelago.js - v2.0.0
                              @@ -32,4 +32,4 @@
                            • permissions.disabled: All remaining item query modes disabled.
                            • This command cannot have the permissions.auto or permissions.autoEnabled permission.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PermissionValue.html b/docs/v2.0.0/types/index.API.PermissionValue.html index 5717aae..ae9d753 100644 --- a/docs/v2.0.0/types/index.API.PermissionValue.html +++ b/docs/v2.0.0/types/index.API.PermissionValue.html @@ -1,6 +1,6 @@ -PermissionValue | archipelago.js - v2.0.0PermissionValue | archipelago.js - v2.0.0

                              Type Alias PermissionValue

                              PermissionValue: typeof permissions[keyof typeof permissions]

                              The type for a given permission value.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PopDataStorageOperation.html b/docs/v2.0.0/types/index.API.PopDataStorageOperation.html index a36bfa6..ad62f51 100644 --- a/docs/v2.0.0/types/index.API.PopDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.PopDataStorageOperation.html @@ -1,4 +1,4 @@ -PopDataStorageOperation | archipelago.js - v2.0.0PopDataStorageOperation | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ the specified key of value.

                              Type declaration

                              • Readonlyoperation: "pop"
                              • Readonlyvalue: JSONSerializable

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html b/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html index 4ee935c..b688811 100644 --- a/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.PowerDataStorageOperation.html @@ -1,8 +1,8 @@ -PowerDataStorageOperation | archipelago.js - v2.0.0PowerDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias PowerDataStorageOperation

                              PowerDataStorageOperation: {
                                  operation: "pow";
                                  value: number;
                              }

                              Multiplies the current value of the key to the power of value.

                              Type declaration

                              • Readonlyoperation: "pow"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PrintJSONPacket.html b/docs/v2.0.0/types/index.API.PrintJSONPacket.html index 111a85e..e7c39b4 100644 --- a/docs/v2.0.0/types/index.API.PrintJSONPacket.html +++ b/docs/v2.0.0/types/index.API.PrintJSONPacket.html @@ -1,4 +1,4 @@ -PrintJSONPacket | archipelago.js - v2.0.0PrintJSONPacket | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ message types provide additional arguments, clients only need to evaluate the data argument to construct the human-readable message text. All other arguments may be ignored safely.

                              Only some of these attributes are present on each subtype, see each subtype for more information.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.PrintJSONType.html b/docs/v2.0.0/types/index.API.PrintJSONType.html index 5bfea05..189dd55 100644 --- a/docs/v2.0.0/types/index.API.PrintJSONType.html +++ b/docs/v2.0.0/types/index.API.PrintJSONType.html @@ -1,6 +1,6 @@ -PrintJSONType | archipelago.js - v2.0.0PrintJSONType | archipelago.js - v2.0.0

                              Type Alias PrintJSONType

                              PrintJSONType:
                                  | "ItemSend"
                                  | "ItemCheat"
                                  | "Hint"
                                  | "Join"
                                  | "Part"
                                  | "Chat"
                                  | "ServerChat"
                                  | "Tutorial"
                                  | "TagsChanged"
                                  | "CommandResult"
                                  | "AdminCommandResult"
                                  | "Goal"
                                  | "Release"
                                  | "Collect"
                                  | "Countdown"

                              A union of all known PrintJSONPacket types.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html b/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html index f3de005..7375b69 100644 --- a/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.RemoveDataStorageOperation.html @@ -1,8 +1,8 @@ -RemoveDataStorageOperation | archipelago.js - v2.0.0RemoveDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias RemoveDataStorageOperation

                              RemoveDataStorageOperation: {
                                  operation: "remove";
                                  value: JSONSerializable;
                              }

                              List only: removes the first instance of value found in the list.

                              Type declaration

                              • Readonlyoperation: "remove"
                              • Readonlyvalue: JSONSerializable

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html b/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html index 1bf8816..3ebdb50 100644 --- a/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.ReplaceDataStorageOperation.html @@ -1,8 +1,8 @@ -ReplaceDataStorageOperation | archipelago.js - v2.0.0ReplaceDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias ReplaceDataStorageOperation

                              ReplaceDataStorageOperation: {
                                  operation: "replace";
                                  value: JSONSerializable;
                              }

                              Sets the current value of the key to value.

                              Type declaration

                              • Readonlyoperation: "replace"
                              • Readonlyvalue: JSONSerializable

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html b/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html index fb4e737..0309c5d 100644 --- a/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.RightShiftDataStorageOperation.html @@ -1,8 +1,8 @@ -RightShiftDataStorageOperation | archipelago.js - v2.0.0RightShiftDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias RightShiftDataStorageOperation

                              RightShiftDataStorageOperation: {
                                  operation: "right_shift";
                                  value: number;
                              }

                              Applies a bitwise right-shift to the current value of the key by value.

                              Type declaration

                              • Readonlyoperation: "right_shift"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ServerPacket.html b/docs/v2.0.0/types/index.API.ServerPacket.html index 7bd6516..5f6b05c 100644 --- a/docs/v2.0.0/types/index.API.ServerPacket.html +++ b/docs/v2.0.0/types/index.API.ServerPacket.html @@ -1,5 +1,5 @@ -ServerPacket | archipelago.js - v2.0.0ServerPacket | archipelago.js - v2.0.0
                              -

                              Type Alias ServerPacket

                              ServerPacket:
                                  | BouncedPacket
                                  | ConnectedPacket
                                  | ConnectionRefusedPacket
                                  | DataPackagePacket
                                  | InvalidPacketPacket
                                  | LocationInfoPacket
                                  | PrintJSONPacket
                                  | ReceivedItemsPacket
                                  | RetrievedPacket
                                  | RoomInfoPacket
                                  | RoomUpdatePacket
                                  | SetReplyPacket
                              \ No newline at end of file +

                              Type Alias ServerPacket

                              ServerPacket:
                                  | BouncedPacket
                                  | ConnectedPacket
                                  | ConnectionRefusedPacket
                                  | DataPackagePacket
                                  | InvalidPacketPacket
                                  | LocationInfoPacket
                                  | PrintJSONPacket
                                  | ReceivedItemsPacket
                                  | RetrievedPacket
                                  | RoomInfoPacket
                                  | RoomUpdatePacket
                                  | SetReplyPacket
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.TextJSONMessagePart.html b/docs/v2.0.0/types/index.API.TextJSONMessagePart.html index 9b032ea..67339e6 100644 --- a/docs/v2.0.0/types/index.API.TextJSONMessagePart.html +++ b/docs/v2.0.0/types/index.API.TextJSONMessagePart.html @@ -1,4 +1,4 @@ -TextJSONMessagePart | archipelago.js - v2.0.0TextJSONMessagePart | archipelago.js - v2.0.0
                              @@ -7,4 +7,4 @@
                            • Optional Readonlytype?:
                                  | "text"
                                  | "entrance_name"
                                  | "player_id"
                                  | "player_name"

                              Used to denote the intent of the message part.

                              If type is omitted, it should be treated as the text type.

                            • JSONMessagePart for all possible message part node subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html b/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html index a2ccf48..d821e4e 100644 --- a/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.UpdateDataStorageOperation.html @@ -1,4 +1,4 @@ -UpdateDataStorageOperation | archipelago.js - v2.0.0UpdateDataStorageOperation | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ ones if they previously existed.

                              Type declaration

                              • Readonlyoperation: "update"
                              • Readonlyvalue: JSONSerializable

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ValidJSONColorType.html b/docs/v2.0.0/types/index.API.ValidJSONColorType.html index 840f471..1b939dd 100644 --- a/docs/v2.0.0/types/index.API.ValidJSONColorType.html +++ b/docs/v2.0.0/types/index.API.ValidJSONColorType.html @@ -1,4 +1,4 @@ -ValidJSONColorType | archipelago.js - v2.0.0ValidJSONColorType | archipelago.js - v2.0.0
                              @@ -6,4 +6,4 @@ sent if the type is color. This is limited to console colors due to backwards compatibility needs with games such as A Link to the Past. Although background colors as well as foreground colors are listed, only one may be applied to a JSONMessagePart at a time.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html b/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html index 5249afa..fc7db66 100644 --- a/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html +++ b/docs/v2.0.0/types/index.API.ValidJSONMessagePartType.html @@ -1,4 +1,4 @@ -ValidJSONMessagePartType | archipelago.js - v2.0.0ValidJSONMessagePartType | archipelago.js - v2.0.0
                              @@ -15,4 +15,4 @@
                            • entrance_name: Entrance name. No id mapping exists.
                            • color: Regular text that should be colored. Only type that will contain color data.
                            • -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.API.XorDataStorageOperation.html b/docs/v2.0.0/types/index.API.XorDataStorageOperation.html index 9d2e8d5..cbd10db 100644 --- a/docs/v2.0.0/types/index.API.XorDataStorageOperation.html +++ b/docs/v2.0.0/types/index.API.XorDataStorageOperation.html @@ -1,8 +1,8 @@ -XorDataStorageOperation | archipelago.js - v2.0.0XorDataStorageOperation | archipelago.js - v2.0.0

                              Type Alias XorDataStorageOperation

                              XorDataStorageOperation: {
                                  operation: "xor";
                                  value: number;
                              }

                              Applies a bitwise XOR to the current value of the key with value.

                              Type declaration

                              • Readonlyoperation: "xor"
                              • Readonlyvalue: number

                                A value for the operation to apply against the current data storage value.

                              DataStorageOperation for all possible operation subtypes.

                              -
                              \ No newline at end of file +
                              \ No newline at end of file diff --git a/docs/v2.0.0/types/index.ClientStatus.html b/docs/v2.0.0/types/index.ClientStatus.html index bbbfec6..160adff 100644 --- a/docs/v2.0.0/types/index.ClientStatus.html +++ b/docs/v2.0.0/types/index.ClientStatus.html @@ -1,6 +1,6 @@ -ClientStatus | archipelago.js - v2.0.0ClientStatus | archipelago.js - v2.0.0

                                Type Alias ClientStatus

                                ClientStatus: typeof clientStatuses[keyof typeof clientStatuses]

                                A type alias for any known client status. See clientStatuses for more information.

                                -
                                \ No newline at end of file +
                                \ No newline at end of file diff --git a/docs/v2.0.0/types/index.DataChangeCallback.html b/docs/v2.0.0/types/index.DataChangeCallback.html index 76eae28..2dd5c75 100644 --- a/docs/v2.0.0/types/index.DataChangeCallback.html +++ b/docs/v2.0.0/types/index.DataChangeCallback.html @@ -1,6 +1,6 @@ -DataChangeCallback | archipelago.js - v2.0.0DataChangeCallback | archipelago.js - v2.0.0

                                  Type Alias DataChangeCallback

                                  DataChangeCallback: ((key: string, value: JSONSerializable, oldValue?: JSONSerializable) => void)

                                  A callback that fires when a monitored key is updated in data storage.

                                  -
                                  \ No newline at end of file +
                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/index.DeathEvents.html b/docs/v2.0.0/types/index.DeathEvents.html index 7973a69..07c0db0 100644 --- a/docs/v2.0.0/types/index.DeathEvents.html +++ b/docs/v2.0.0/types/index.DeathEvents.html @@ -1,4 +1,4 @@ -DeathEvents | archipelago.js - v2.0.0DeathEvents | archipelago.js - v2.0.0
                                  @@ -9,4 +9,4 @@

                                  The timestamp this player died. Time is in number of milliseconds from unix epoch (same timestamp system in JavaScript).

                                  Optional description detailing the specific cause of death.

                                  -
                                  \ No newline at end of file +
                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/index.ItemEvents.html b/docs/v2.0.0/types/index.ItemEvents.html index 168d1bf..d72e969 100644 --- a/docs/v2.0.0/types/index.ItemEvents.html +++ b/docs/v2.0.0/types/index.ItemEvents.html @@ -1,4 +1,4 @@ -ItemEvents | archipelago.js - v2.0.0ItemEvents | archipelago.js - v2.0.0
                                  @@ -13,4 +13,4 @@
                                • itemsReceived: [items: Item[], startingIndex: number]

                                  Fired when items have been received.

                                  An array of item metadata in the order they are sent.

                                  The ItemsManager.received index for the first item in the items array.

                                  -
                                • \ No newline at end of file +
                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageEvents.html b/docs/v2.0.0/types/index.MessageEvents.html index c67732b..2796084 100644 --- a/docs/v2.0.0/types/index.MessageEvents.html +++ b/docs/v2.0.0/types/index.MessageEvents.html @@ -1,4 +1,4 @@ -MessageEvents | archipelago.js - v2.0.0MessageEvents | archipelago.js - v2.0.0
                                  @@ -70,4 +70,4 @@
                                • userCommand: [text: string, nodes: MessageNode[]]

                                  Fires on the result of running a user command, such as !status.

                                  The plaintext message content.

                                  An array of message nodes in this message with additional context for each textual component.

                                  -
                                • \ No newline at end of file +
                                  \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageLog.html b/docs/v2.0.0/types/index.MessageLog.html index 2bb6364..03de2f4 100644 --- a/docs/v2.0.0/types/index.MessageLog.html +++ b/docs/v2.0.0/types/index.MessageLog.html @@ -1,6 +1,6 @@ -MessageLog | archipelago.js - v2.0.0MessageLog | archipelago.js - v2.0.0

                                    Type Alias MessageLog

                                    MessageLog: {
                                        nodes: MessageNode[];
                                        text: string;
                                    }[]

                                    A type for logged messages on MessageManager.

                                    -
                                    \ No newline at end of file +
                                    \ No newline at end of file diff --git a/docs/v2.0.0/types/index.MessageNode.html b/docs/v2.0.0/types/index.MessageNode.html index 1ec4cec..7c70090 100644 --- a/docs/v2.0.0/types/index.MessageNode.html +++ b/docs/v2.0.0/types/index.MessageNode.html @@ -1,6 +1,6 @@ -MessageNode | archipelago.js - v2.0.0MessageNode | archipelago.js - v2.0.0

                                      Type Alias MessageNode

                                      MessageNode:
                                          | ItemMessageNode
                                          | LocationMessageNode
                                          | ColorMessageNode
                                          | TextualMessageNode
                                          | PlayerMessageNode

                                      A type union of all known message node types. See each type for more information.

                                      -
                                      \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/index.PlayerEvents.html b/docs/v2.0.0/types/index.PlayerEvents.html index e0cdf48..d7d81d2 100644 --- a/docs/v2.0.0/types/index.PlayerEvents.html +++ b/docs/v2.0.0/types/index.PlayerEvents.html @@ -1,4 +1,4 @@ -PlayerEvents | archipelago.js - v2.0.0PlayerEvents | archipelago.js - v2.0.0
                                      @@ -6,4 +6,4 @@

                                      The Player for this player with the changes applied.

                                      The player's previous alias.

                                      The player's new alias.

                                      -
                                      \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/index.RoomStateEvents.html b/docs/v2.0.0/types/index.RoomStateEvents.html index 798887c..10d55fc 100644 --- a/docs/v2.0.0/types/index.RoomStateEvents.html +++ b/docs/v2.0.0/types/index.RoomStateEvents.html @@ -1,4 +1,4 @@ -RoomStateEvents | archipelago.js - v2.0.0RoomStateEvents | archipelago.js - v2.0.0
                                      @@ -22,4 +22,4 @@
                                    • permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable]

                                      Fires when command permissions have been updated.

                                      The previous command permissions table.

                                      The new command permissions table.

                                      -
                                    • \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/types/index.SocketEvents.html b/docs/v2.0.0/types/index.SocketEvents.html index cace8c0..0aa2e7f 100644 --- a/docs/v2.0.0/types/index.SocketEvents.html +++ b/docs/v2.0.0/types/index.SocketEvents.html @@ -1,4 +1,4 @@ -SocketEvents | archipelago.js - v2.0.0SocketEvents | archipelago.js - v2.0.0
                                      @@ -39,7 +39,7 @@

                                      An array of ClientPacket sent to the server.

                                    • setReply: [packet: SetReplyPacket]

                                      Fires when the client receives a SetReplyPacket.

                                      The raw SetReplyPacket.

                                      -
                                    • // Print all chat messages to the console when received.
                                      client.socket.on("PrintJSON", (packet, message) => {
                                      console.log(message);
                                      });

                                      // Warn when lost connection.
                                      client.socket.on("Disconnect", () => {
                                      console.warn("Lost connection to the server!");
                                      } +
                                      // Print all chat messages to the console when received.
                                      client.socket.on("PrintJSON", (packet, message) => {
                                      console.log(message);
                                      });

                                      // Warn when lost connection.
                                      client.socket.on("Disconnect", () => {
                                      console.warn("Lost connection to the server!");
                                      }
                                      -
                                      \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.clientStatuses.html b/docs/v2.0.0/variables/index.API.clientStatuses.html index 3f97ea8..d0bd6b7 100644 --- a/docs/v2.0.0/variables/index.API.clientStatuses.html +++ b/docs/v2.0.0/variables/index.API.clientStatuses.html @@ -1,4 +1,4 @@ -clientStatuses | archipelago.js - v2.0.0clientStatuses | archipelago.js - v2.0.0
                                      @@ -9,4 +9,4 @@
                                    • Readonlygoal: 30

                                      Client has completed their goal. Once set, cannot be changed.

                                    • Readonlyplaying: 20

                                      Client is currently playing.

                                    • Readonlyready: 10

                                      Client is ready to start, but hasn't started playing yet.

                                      -
                                    • \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.itemClassifications.html b/docs/v2.0.0/variables/index.API.itemClassifications.html index d1412b7..a0a272a 100644 --- a/docs/v2.0.0/variables/index.API.itemClassifications.html +++ b/docs/v2.0.0/variables/index.API.itemClassifications.html @@ -1,4 +1,4 @@ -itemClassifications | archipelago.js - v2.0.0itemClassifications | archipelago.js - v2.0.0
                                      @@ -7,4 +7,4 @@
                                    • Readonlyprogression: 1

                                      If set, indicates the item may unlock logical advancement.

                                    • Readonlytrap: 4

                                      If set, indicates the item can inconvenience a player.

                                    • Readonlyuseful: 2

                                      If set, indicates the item is classified as useful to have.

                                      -
                                    • \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html b/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html index 97ce7e7..2bb1848 100644 --- a/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html +++ b/docs/v2.0.0/variables/index.API.itemsHandlingFlags.html @@ -1,4 +1,4 @@ -itemsHandlingFlags | archipelago.js - v2.0.0itemsHandlingFlags | archipelago.js - v2.0.0
                                      @@ -8,4 +8,4 @@
                                    • Readonlyothers: 1

                                      Indicates the client get items sent from other worlds.

                                    • Readonlyown: 2

                                      Indicates the client get items sent from your own world. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                    • Readonlystarting: 4

                                      Indicates the client get your starting inventory sent. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                      -
                                    • \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.permissions.html b/docs/v2.0.0/variables/index.API.permissions.html index 59c004a..86685ce 100644 --- a/docs/v2.0.0/variables/index.API.permissions.html +++ b/docs/v2.0.0/variables/index.API.permissions.html @@ -1,4 +1,4 @@ -permissions | archipelago.js - v2.0.0permissions | archipelago.js - v2.0.0
                                      @@ -11,4 +11,4 @@
                                    • Readonlydisabled: 0

                                      Prevents players from using this command at any time.

                                    • Readonlyenabled: 1

                                      Allows players to use this command manually at any time.

                                    • Readonlygoal: 2

                                      Allows players to use this command manually after they have completed their goal.

                                      -
                                    • \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.API.slotTypes.html b/docs/v2.0.0/variables/index.API.slotTypes.html index 6b38826..809bca2 100644 --- a/docs/v2.0.0/variables/index.API.slotTypes.html +++ b/docs/v2.0.0/variables/index.API.slotTypes.html @@ -1,4 +1,4 @@ -slotTypes | archipelago.js - v2.0.0slotTypes | archipelago.js - v2.0.0
                                      @@ -6,4 +6,4 @@

                                      Type declaration

                                      • Readonlygroup: 2

                                        This client is an item links group containing at least 1 player with active item links.

                                      • Readonlyplayer: 1

                                        This client is a player and is participating in the current game.

                                      • Readonlyspectator: 0

                                        This client is a spectator and not participating in the current game.

                                        -
                                      \ No newline at end of file +
                                      \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.libraryVersion.html b/docs/v2.0.0/variables/index.libraryVersion.html index 1642476..9680a32 100644 --- a/docs/v2.0.0/variables/index.libraryVersion.html +++ b/docs/v2.0.0/variables/index.libraryVersion.html @@ -1,5 +1,5 @@ -libraryVersion | archipelago.js - v2.0.0libraryVersion | archipelago.js - v2.0.0
                                      -

                                        Variable libraryVersionConst

                                        libraryVersion = "2.0.0"
                                        \ No newline at end of file +

                                          Variable libraryVersionConst

                                          libraryVersion = "2.0.0"
                                          \ No newline at end of file diff --git a/docs/v2.0.0/variables/index.targetVersion.html b/docs/v2.0.0/variables/index.targetVersion.html index 6c66a78..7a38a2e 100644 --- a/docs/v2.0.0/variables/index.targetVersion.html +++ b/docs/v2.0.0/variables/index.targetVersion.html @@ -1,7 +1,7 @@ -targetVersion | archipelago.js - v2.0.0targetVersion | archipelago.js - v2.0.0

                                            Variable targetVersionConst

                                            targetVersion: {
                                                build: number;
                                                major: number;
                                                minor: number;
                                            } = ...

                                            Archipelago version this library attempts to target. Support for older versions of the Archipelago API is not guaranteed and some newer enhancements may no longer work or be supported.

                                            -
                                            \ No newline at end of file +
                                            \ No newline at end of file diff --git a/docs/v2.0.1/CNAME b/docs/v2.0.1/CNAME new file mode 100644 index 0000000..698729d --- /dev/null +++ b/docs/v2.0.1/CNAME @@ -0,0 +1 @@ +archipelago.js.org \ No newline at end of file diff --git a/docs/v2.0.1/assets/dmt/dmt-component-data.js b/docs/v2.0.1/assets/dmt/dmt-component-data.js new file mode 100644 index 0000000..67500be --- /dev/null +++ b/docs/v2.0.1/assets/dmt/dmt-component-data.js @@ -0,0 +1 @@ +globalThis.dmtComponentDataBCMP = 'pVvdchNHFlaybFUqz7AXCoQASfCPLBxnr2JsfpzFRis57NbebI1n2lLHoxnVzMjGe8Uj7NY+QWIbW9gWBJMQCCFV5DbOVW6oSvlZcnp+pP6bUR9zY4znO993pvv06dPd0yeld3vU9r1b1FsLT0pv74YkWKc2+f9J6U+7TjuqWVHrewYIx9Mn400atborYx2vuRPRyCX7N2h0s7tSrpOOv9UN3NeXWlHUCf86niFtvz2+3CK1lhWMW4Hdoh3iWk1/7EsQHIg8E0UcGtp+4AxVDuaTv5TnWlbEZJ5nKhm02Ryf+df0lav1Ckf7rUjrddqc40u1xXLNstesJokd/zij3NjYGAPol2HseyeBSL5vd4H0v70OPFnwHHIXGq/XoiRgqM3+4LexVtR2d9u+03VJeJD+G//xYfKfhTB14dVDz1qnTSuivpcx7rWtYM3xN7z/nZT+vB2Ru9H+37vUXis3IiuItjvwhs8d3+62iReF4/Gjf8ePYoXtNeo5v5bulUo7tmuF4W+l0h68gusExIPf74d+N7DJ76XLGfnWbG0hJv0udXQcCMjdMfjzkPCMSvZ76R8ZRd92KTgDTkTQQGHM9vq8nu6chE3c/SzH3UzhiEakPccAdJXacXOlMh/myOgMzLQeM9PwpuU5LvWa16HrU6lLBVIS3kxpv0OCNgUXB29zNkeCB5px90LXj5Y3O1l3lHOYhzAz3hezTpt6c367DS9cJ2HXjT5v3F5i8UyS4Hw9Tb2IBKuWLagV2Q0D7fitYvnDq37Xs4nD613Q6glAc4GDxI7n/6CAH0vfZ6lMbrCLWgERaS7xzZzvusRWVD7Sq8hgc6GnhVEwmSP3hgHwcM73PHBYDIFLOWICFPVmsSWMtzpZhTwliOW9mdYEEdopw+jQFoDmAkep3Rcdx4qECL9cJMPDUWJdL2LTmBwYeWIKHBHy81ZkpVPq6JBXwOZCT26QKEdrTKulw5vL9cCc1ziXp4FOQzd8yzVLQyISIXET6MwkRKS5xIsFb91yqTMbNJNqKCEYPRcV2ZnLP09p0pymileLxDVWiNG1wMqbFlHnEv3o0sDNxR4z6wbxHFnr41wtEY0Ims99qiQMfdCISMQQvuUn9SC0h72Wdn3RENbhEY2XmS94q/7oxlPRp3izhu13s6A2eTMej+irGqw5zPpKRCLCvE5sQteJw2JKeCF9mGvgiEmkTlxihcSsblLAiBKmTqKAEvBzdAkjQRG9U/f9thxz+t4RkeYSj5ihWkx8mCtyukqi17A2R0+CAxBivDRgh4AEuopcP150eES3N0i05Ed0VXgbfbdLUExjmVQMAxAinsAGdntcwXl9PIlIRKpMNgXUiNKnShVtLvWgsenZvMT7eokBypz622XYAIAY8ZpEmTCBWqOiNUA023I38gOq1nP6ZlPRiHXRrOOwcrYBFFDO3oZtiXgCSfUito8gLPm1aH6fqjxiu+HprIdS1KMxij/MEco2cvJVJ2TVAguM8sFcvDXGd+F7ihQHwXA/gXW+H7A+XyRhGC9F0r3E15cUDQ0Uo5Ut0eH1rwWBH6QjTJURUBiFfW5NlW5vyewcAtVO+d2utNMbR9o8WbVgGwQRaQUWGOVn113fD/J1x2TdXDyq125Y7ThT5/cah8AwH6VrKnUJdlFW0CBxSlBaaoeRqqQiUaNIq6KMojdQeMBsoWSGg5SY/Ccdd/IcQ/uImUGpBHMM/Y+14qZ9fV7HzsMwGj/eIqtRo0VXCwZPRRYstEFNStnCSdtFyqSUg0YpLlp3EdNgDhqnSD2Moh6NUXy+yE4o/HzRcUU01wCj+2IRMiqFejVfeVJRLjBBpcQlEm34wRrbActJiRziNMwsCxUzMwSG+TC1q7nWJkkn97M53AnmNH434Fyq2G+GwDD3U7s7JGAHaen6KIc8BWH4v7tdMKN+JOvowagJojY4FFweplllgpBQp1S4Y7nd0QoxCpVlan4HkWVy0KjSp+ZvEEzpk4vHtWSg2Q1XW1JEoUblwJad5uaMSgGDys110vbXCSI35xugSmS2kQALWESJXGCBUX5Zp83WqBJjShEvNEItBpPNpsLFIA9BFbHL8MOsiNUgUXGTbM8g4ibfAKP7GDIRjXdT4sXscEhckPVUIEbn+4E510BDtcu5ahIclTP/WbR0U3JmDhqVW7KDMm45X44Nhko8Ysj9y73itHgVttDTpljynSxtidQSxpj8frJXEnM+EymTJ8ZMj+LYUPyET5kEUglkTP+Y26tYtDz4mbbxeVFAheEk0hAYJSHCzBtpHo4XW+ybQkFAaiQZZEz/zbV16DIWC47A/77Ir6CMBbYHNfhTkVKsvEewPFtge65t4tA0i8nDU+TORZu7PSjwJbfFsn7UQGToUQNRwhiTH8THcXyv/aQSZ8+NWY+yZbXi9gciuwZnLPLglt+k3C7mjzJ19tSYsZ+6IQTxeyKtCDHvxCw5kMiCSdTSdqKEMc+m3HJPyqbyIm/USE7wSrdJI1lBmTdxYipEnNzEIsQ8ybFjTHbwJPaflORkkDH9fsNntdww3l6KxNxjY87DxEjwV5q8BYT5nMJqw67lKh0pzSkqzFjiyRee1Y1akNLZN7zE4eqPC6KIDmjeREk9cLvDfVesHpwKINTnmNk5hyCgftqnABFfrSbOJUeiSabi60D+KaqMZnNScjQ5Z7nuCuQOzbaJCsKd5bCSIJ63E89fCNzDh6itbTalcJw/8JzDZ6giOA1gjvUlzyo8RvmaWsJkovo6fIZqU3lMCm2qHYkGK9IkZ3LvL8QY/xS1NTLIlhyzuOknIXDL6CRl5jjNP0XtJepuPJxbt+A0A/bYMnYRNOQvn/Kuw0VZQIM0Vcm95XBBJyICTTX6Ll2BGzGb4o6rzC+CTLnVuxNlmZhDmLJKtyZeypSDx6aEh3Axp0kioQXOyqwCZhRzHz4vZ1/sA/RvADop/eWram8Jzk1DuLNEvprZvuZ1219PVfbupCpfT1f3rsNdBWaxNVmZ2YkjZqtyZboXLz/YFLR1ZbKyD/NPGAVdG9Z/25MTlepeLfChDaPN7cpEdeY+lIwt39mZqnwyPdODjQuQBOv7lenKZLW6N2vDRBb6wW5l4tNPJq9UeqyZZl1qhbvVyU+rUxPVHjhO4B1ssjszNTMzPTGzN59eYxr6fyZ2/52B8+WB658lfv9yb+g1zIq808dvlwYuH58ppQ4fv1Maent8rzTw9NfSmVJp6GY86Ic+xjdhBg7GF6oOQ8Kud6WTM7uptdp1Xeb6qx2Xtmn0bj8kUQSjZAB5q2d5tB2PzJ/7YcvfiI+syAJcUHt1EFKHrFhBeg2v1A+ThXctIB34fPYI7niFl8X7Z38A'; \ No newline at end of file diff --git a/docs/v2.0.1/assets/dmt/dmt-components.css b/docs/v2.0.1/assets/dmt/dmt-components.css new file mode 100644 index 0000000..9788431 --- /dev/null +++ b/docs/v2.0.1/assets/dmt/dmt-components.css @@ -0,0 +1,20 @@ +label.svelte-1y7unmi{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none;width:fit-content}input.svelte-1y7unmi{cursor:pointer;height:1.5em;opacity:0;position:absolute;width:1.5em}svg.svelte-1y7unmi{border-radius:.33em;cursor:pointer;height:1.5em;margin-right:.5em;opacity:.99;width:1.5em} +section.svelte-20evnz{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem} +details.svelte-1jmqrcb.svelte-1jmqrcb{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-1jmqrcb.svelte-1jmqrcb{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0 0 0 -.4em);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-1jmqrcb.svelte-1jmqrcb::-webkit-details-marker{display:none}.default-cursor.svelte-1jmqrcb.svelte-1jmqrcb{cursor:default}summary.svelte-1jmqrcb svg.svelte-1jmqrcb{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,currentColor);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;height:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em));margin:var(--tjs-folder-summary-chevron-margin,0);opacity:var(--tjs-folder-summary-chevron-opacity,.2);transform:var(--tjs-folder-summary-chevron-rotate-closed,rotate(-90deg));transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-size,var(--tjs-folder-summary-font-size,1.25em))}summary.svelte-1jmqrcb.svelte-1jmqrcb:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-1jmqrcb:focus-visible .label.svelte-1jmqrcb{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-1jmqrcb:focus-visible .tjs-folder-focus-indicator.svelte-1jmqrcb{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-1jmqrcb:focus-visible svg.svelte-1jmqrcb{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-1jmqrcb:focus-visible svg.focus-chevron.svelte-1jmqrcb{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-1jmqrcb.svelte-1jmqrcb{outline:none}summary.svelte-1jmqrcb:hover svg.svelte-1jmqrcb{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-1jmqrcb.svelte-1jmqrcb{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}details[open].svelte-1jmqrcb>summary.svelte-1jmqrcb{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}[open].svelte-1jmqrcb:not(details[data-closing=true])>summary svg.svelte-1jmqrcb{transform:rotate(var(--tjs-folder-summary-chevron-rotate-open,0))}.contents.svelte-1jmqrcb.svelte-1jmqrcb{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-1jmqrcb.svelte-1jmqrcb:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-1jmqrcb.svelte-1jmqrcb{display:none}.label.svelte-1jmqrcb.svelte-1jmqrcb{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-1jmqrcb:focus-visible+.contents.svelte-1jmqrcb:before{height:100%;top:0} +details.svelte-3v63ql.svelte-3v63ql{margin-left:var(--tjs-folder-details-margin-left,-.4em);padding-left:var(--tjs-folder-details-padding-left,.4em)}summary.svelte-3v63ql.svelte-3v63ql{align-items:center;background:var(--tjs-folder-summary-background,none);background-blend-mode:var(--tjs-folder-summary-background-blend-mode,initial);border:var(--tjs-folder-summary-border,none);border-radius:var(--tjs-folder-summary-border-radius,0);border-width:var(--tjs-folder-summary-border-width,initial);cursor:var(--tjs-folder-summary-cursor,pointer);display:flex;font-family:var(--tjs-folder-summary-font-family,inherit);font-size:var(--tjs-folder-summary-font-size,inherit);font-weight:var(--tjs-folder-summary-font-weight,bold);gap:var(--tjs-folder-summary-gap,.125em);list-style:none;margin:var(--tjs-folder-summary-margin,0);padding:var(--tjs-folder-summary-padding,.25em) 0;position:relative;transition:var(--tjs-folder-summary-transition,background .1s);-webkit-user-select:none;user-select:none;width:var(--tjs-folder-summary-width,fit-content)}summary.svelte-3v63ql.svelte-3v63ql::-webkit-details-marker{display:none}summary.svelte-3v63ql i.svelte-3v63ql{border-radius:var(--tjs-folder-summary-chevron-border-radius,0);color:var(--tjs-folder-summary-chevron-color,inherit);cursor:var(--tjs-folder-summary-cursor,pointer);flex-shrink:0;margin:var(--tjs-folder-summary-chevron-margin,0 0 0 .25em);opacity:var(--tjs-folder-summary-chevron-opacity,1);transition:var(--tjs-folder-summary-chevron-transition,opacity .2s,transform .1s);width:var(--tjs-folder-summary-chevron-width,1.25em)}summary.svelte-3v63ql.svelte-3v63ql:focus-visible{box-shadow:var(--tjs-folder-summary-box-shadow-focus-visible,var(--tjs-default-box-shadow-focus-visible));outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert));transition:var(--tjs-folder-summary-transition-focus-visible,var(--tjs-default-transition-focus-visible))}summary.svelte-3v63ql:focus-visible .label.svelte-3v63ql{text-shadow:var(--tjs-folder-summary-label-text-shadow-focus-visible,var(--tjs-default-text-shadow-focus-hover,revert))}summary.svelte-3v63ql:focus-visible .tjs-folder-focus-indicator.svelte-3v63ql{background:var(--tjs-folder-summary-focus-indicator-background,var(--tjs-default-focus-indicator-background,#fff))}summary.svelte-3v63ql:focus-visible i.svelte-3v63ql{opacity:var(--tjs-folder-summary-chevron-opacity-focus-visible,1)}summary.svelte-3v63ql:focus-visible i.focus-chevron.svelte-3v63ql:before{outline:var(--tjs-folder-summary-outline-focus-visible,var(--tjs-default-outline-focus-visible,revert))}summary:focus-visible.remove-focus-visible.svelte-3v63ql.svelte-3v63ql{outline:none}summary.svelte-3v63ql:hover i.svelte-3v63ql{opacity:var(--tjs-folder-summary-chevron-opacity-hover,1)}.tjs-folder-focus-indicator.svelte-3v63ql.svelte-3v63ql{align-self:var(--tjs-folder-summary-focus-indicator-align-self,var(--tjs-default-focus-indicator-align-self,stretch));border:var(--tjs-folder-summary-focus-indicator-border,var(--tjs-default-focus-indicator-border));border-radius:var(--tjs-folder-summary-focus-indicator-border-radius,var(--tjs-default-focus-indicator-border-radius,.1em));flex:0 0 var(--tjs-folder-summary-focus-indicator-width,var(--tjs-default-focus-indicator-width,0.25em));height:var(--tjs-folder-summary-focus-indicator-height,var(--tjs-default-focus-indicator-height));pointer-events:none;transition:var(--tjs-folder-summary-focus-indicator-transition,var(--tjs-default-focus-indicator-transition))}.default-cursor.svelte-3v63ql.svelte-3v63ql{cursor:default}details[open].svelte-3v63ql>summary.svelte-3v63ql{background:var(--tjs-folder-summary-background-open,var(--tjs-folder-summary-background,inherit))}.contents.svelte-3v63ql.svelte-3v63ql{background:var(--tjs-folder-contents-background,none);background-blend-mode:var(--tjs-folder-contents-background-blend-mode,initial);border:var(--tjs-folder-contents-border,none);border-left:var(--tjs-folder-contents-border-left,none);display:var(--tjs-folder-contents-display,flex);flex-direction:var(--tjs-folder-contents-flex-direction,column);gap:var(--tjs-folder-contents-gap);margin:var(--tjs-folder-contents-margin,0 0 0 -.4em);padding:var(--tjs-folder-contents-padding,0 0 0 calc(var(--tjs-folder-summary-font-size, 1em)*.8));position:relative}.contents.svelte-3v63ql.svelte-3v63ql:before{content:"";height:calc(100% + .65em);left:0;position:absolute;top:-.65em;width:0}.contents.hidden.svelte-3v63ql.svelte-3v63ql{display:none}.label.svelte-3v63ql.svelte-3v63ql{overflow:var(--tjs-folder-summary-label-overflow,hidden);text-overflow:var(--tjs-folder-summary-label-text-overflow,ellipsis);white-space:var(--tjs-folder-summary-label-white-space,nowrap);width:var(--tjs-folder-summary-label-width,fit-content)}summary.svelte-3v63ql:focus-visible+.contents.svelte-3v63ql:before{height:100%;top:0} +a.svelte-14yttr0{width:fit-content}a.svelte-14yttr0,span.svelte-14yttr0{margin-right:.25rem}span.svelte-14yttr0,svg.svelte-14yttr0{pointer-events:none}.indent-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-icon,28px)}.indent-no-icon.svelte-14yttr0{margin-left:var(--dmt-nav-entry-indent-no-icon,18px)}.indent-none.svelte-14yttr0{margin-left:.25rem} +.dmt-navigation-content.svelte-cugiyd{display:flex;flex-direction:column;--tjs-folder-summary-font-weight:normal;--tjs-folder-summary-font-size:1em;--tjs-folder-summary-margin:0;--tjs-folder-summary-padding:0;--tjs-folder-summary-width:100%;--tjs-folder-contents-margin:var(--dmt-nav-folder-contents-margin,0 0 0 7px);--tjs-folder-contents-border-left:var(--dmt-nav-folder-contents-border-left,2px solid var(--dmt-nav-folder-contents-border-color,#0003));--tjs-folder-contents-padding:var(--dmt-nav-folder-contents-padding,0 0 0 9px);outline:#0000;overflow-x:auto;padding-left:var(--dmt-nav-tree-padding-left,3px);padding-top:var(--dmt-nav-tree-padding-top,.25rem);touch-action:pan-x pan-y}.dmt-navigation-content.svelte-cugiyd>:last-child{margin-bottom:var(--dmt-nav-tree-bottom-margin,.25rem)} +hr.svelte-wwxcg7{border:unset;border-bottom:var(--dmt-container-border);margin:.25rem .5rem 0 0}section.svelte-wwxcg7{--tjs-folder-summary-margin:0 0.25rem;--tjs-folder-summary-width:100%;background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);margin:0 1rem 0 0;padding-bottom:.25rem} +a.svelte-ietkuq{display:block;overflow:var(--dmt-sidebarlinks-overflow,unset);text-overflow:var(--dmt-sidebarlinks-text-overflow,ellipsis);white-space:var(--dmt-sidebarlinks-white-space,normal)}section.svelte-ietkuq{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);display:flex;flex-direction:column;gap:.25em;margin:0 1rem 0 0;padding:.25rem} +div.svelte-1uxeem0{background:var(--dmt-overlay-panel-background);border-bottom:1px solid #0003;border-left:1px solid #0003;border-radius:0 0 .25rem .25rem;border-right:1px solid #0003;box-shadow:-.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),.25rem 0 .25rem -.25rem var(--dmt-box-shadow-color),0 .75rem .75rem -.75rem var(--dmt-box-shadow-color);display:flex;flex-direction:column;gap:.25rem;height:fit-content;padding:.5rem;position:absolute;top:2.6rem;width:calc(100% - 1.5rem)}span.svelte-1uxeem0{align-items:center;display:flex;gap:.5rem}svg.svelte-1uxeem0{margin:0}.key.svelte-1uxeem0{background:#ffffff40;border:1px solid #999;border-radius:.25rem;box-shadow:1px 1px var(--dmt-help-panel-key-box-shadow-color);min-width:52px;padding:0 3px;text-align:center}.reflection-kinds.svelte-1uxeem0{display:grid;grid-template-columns:1fr 1fr;grid-row-gap:.1rem}.title.svelte-1uxeem0{-webkit-text-decoration:underline;text-decoration:underline}:root[data-theme=dark]{--dmt-help-panel-key-box-shadow-color:#aaa}:root[data-theme=light]{--dmt-help-panel-key-box-shadow-color:#444}@media(prefers-color-scheme:dark){:root{--dmt-help-panel-key-box-shadow-color:#aaa}}@media(prefers-color-scheme:light){:root{--dmt-help-panel-key-box-shadow-color:#444}} +button.svelte-1xrvgp2{background:#0000;border-radius:50%;cursor:pointer;height:2rem;line-height:0;width:2rem}section.svelte-1xrvgp2{align-items:center;background:var(--color-background);border-bottom:var(--dmt-container-border);display:flex;gap:.5rem;height:fit-content;padding:.25rem 1rem .25rem 0;position:sticky;top:0;width:inherit;z-index:10}svg.svelte-1xrvgp2{height:1rem;width:1rem;fill:currentColor;stroke:currentColor;overflow:hidden}.flipped-vertical.svelte-1xrvgp2{transform:scaleY(-1)} +section.svelte-13h1skr{--dmt-nav-tree-bottom-margin:1rem} +button.svelte-10arjs8{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:0 3px 3px;width:33px} +li.svelte-5rxzhp{align-items:center;background-color:var(--color-background);cursor:pointer;display:flex;gap:.25rem;overflow:hidden;padding:0 10px;text-overflow:ellipsis;transition:background .15s ease-in-out}li.selected.svelte-5rxzhp{background:var(--dmt-menu-item-background-selected)}li.svelte-5rxzhp:hover{background:var(--dmt-menu-item-background-hover)}li.svelte-5rxzhp:not(:last-child){border-bottom:var(--dmt-container-separator-border)}li.svelte-5rxzhp:nth-child(2n):not(:hover):not(.selected){background-color:var(--color-background-secondary)}ul.svelte-5rxzhp{border:var(--dmt-container-floating-border);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;box-shadow:var(--dmt-container-floating-box-shadow);list-style:none;margin:0 0 0 -4px;overflow:hidden;padding:0;position:absolute;top:calc(var(--dmt-header-height) - 2px);width:calc(100% - 4px)} +#dmt-search-field.svelte-tuln0o,#tsd-search .field input{background:revert;border:1px solid var(--color-accent);border-radius:.5em;box-sizing:border-box;color:var(--color-text);font-size:16px;height:35px;opacity:1;outline:2px solid #0000;padding:revert;position:relative;right:4px;top:0;width:100%;z-index:10} +div.svelte-wmon9h{box-sizing:border-box;line-height:0;padding:4px 0;position:absolute;right:-40px;width:40px}.dmt-widget.svelte-wmon9h{display:inline-block;height:40px;opacity:.8;overflow:hidden;transition:opacity .1s,background-color .2s;vertical-align:bottom} +div.svelte-kjcljd{flex:0;height:0;width:0}div.svelte-kjcljd:focus{outline:none} +section.svelte-1pcybcf.svelte-1pcybcf{background:var(--color-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:0 0 6px #000;height:max-content;left:50%;overflow:hidden;padding:.25rem;position:absolute;top:calc(100% + 10px);transform:translateX(-50%);width:max-content;z-index:1}div.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;gap:.5rem}section.svelte-1pcybcf.svelte-1pcybcf:focus-visible{outline:2px solid #0000}a.svelte-1pcybcf.svelte-1pcybcf{align-items:center;display:flex;flex-shrink:0}a.svelte-1pcybcf:focus-visible img.svelte-1pcybcf{filter:brightness(1.5)}img.svelte-1pcybcf.svelte-1pcybcf{max-height:24px;width:auto}img.svelte-1pcybcf.svelte-1pcybcf:hover{filter:brightness(1.5)} +button.svelte-1ebh1s9{background:#0000;border-radius:50%;cursor:pointer;height:33px;line-height:0;margin:1px 3px 0;width:33px}section.svelte-1ebh1s9{display:flex;margin-left:auto;min-width:fit-content;position:relative}svg.svelte-1ebh1s9{fill:var(--color-text)} +a.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-shrink:0;margin:4px}a.svelte-1f93d1m:focus-visible img.svelte-1f93d1m{filter:brightness(1.5)}img.svelte-1f93d1m.svelte-1f93d1m{height:24px;width:auto}img.svelte-1f93d1m.svelte-1f93d1m:hover{filter:brightness(1.5)}section.svelte-1f93d1m.svelte-1f93d1m{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem;margin-left:auto;min-width:0;overflow:hidden} +section.svelte-j9157o{align-items:center;display:flex;flex-wrap:nowrap;height:100%;margin-right:.5rem;width:100%} \ No newline at end of file diff --git a/docs/v2.0.1/assets/dmt/dmt-components.js b/docs/v2.0.1/assets/dmt/dmt-components.js new file mode 100644 index 0000000..b4202c5 --- /dev/null +++ b/docs/v2.0.1/assets/dmt/dmt-components.js @@ -0,0 +1,67 @@ +/** + * @module @typhonjs-typedoc/typedoc-theme-dmt + * @license MPL-2.0 + * @see https://github.com/typhonjs-typedoc/typedoc-theme-dmt + */ +import"./dmt-component-data.js";var e,t,n;try{e=new TextDecoder}catch(e){}var r,o,s,i,a,l=0,c={},u=0,f=0,d=[],h={useRecords:!1,mapsAsObjects:!0};class p{}const g=new p;g.name="MessagePack 0xC1";var m=!1,y=2;try{new Function("")}catch(e){y=1/0}class b{constructor(e){e&&(!1===e.useRecords&&void 0===e.mapsAsObjects&&(e.mapsAsObjects=!0),e.sequential&&!1!==e.trusted&&(e.trusted=!0,e.structures||0==e.useRecords||(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,i){if(t)return W((()=>(J(),this?this.unpack(e,i):b.prototype.unpack.call(h,e,i))));e.buffer||e.constructor!==ArrayBuffer||(e="undefined"!=typeof Buffer?Buffer.from(e):new Uint8Array(e)),"object"==typeof i?(n=i.end||e.length,l=i.start||0):(l=0,n=i>-1?i:e.length),f=0,o=null,s=null,t=e;try{a=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(n){if(t=null,e instanceof Uint8Array)throw n;throw new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof b){if(c=this,this.structures)return r=this.structures,v(i);(!r||r.length>0)&&(r=[])}else c=h,(!r||r.length>0)&&(r=[]);return v(i)}unpackMultiple(e,t){let n,r=0;try{m=!0;let o=e.length,s=this?this.unpack(e,o):G.unpack(e,o);if(!t){for(n=[s];le.slice(0))));for(let t=0,n=e.length;t=32&&(n.highByte=t-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let r=e[n],o=t[n];o&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=o)}return this.structures=e}decode(e,t){return this.unpack(e,t)}}function v(e){try{if(!c.trusted&&!m){let e=r.sharedLength||0;en)throw new Error("Unexpected end of MessagePack data");if(!m){let t;try{t=JSON.stringify(e,((e,t)=>"bigint"==typeof t?`${t}n`:t)).slice(0,100)}catch(e){t="(JSON view not available "+e+")"}throw new Error("Data read, but end of buffer not reached "+t)}}return e}catch(e){throw r&&r.restoreStructures&&w(),J(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||l>n)&&(e.incomplete=!0),e}}function w(){for(let e in r.restoreStructures)r[e]=r.restoreStructures[e];r.restoreStructures=null}function x(){let e=t[l++];if(e<160){if(e<128){if(e<64)return e;{let t=r[63&e]||c.getStructures&&T()[63&e];return t?(t.read||(t.read=$(t,63&e)),t.read()):e}}if(e<144){if(e-=128,c.mapsAsObjects){let t={};for(let n=0;n=l)return o.slice(l-u,(l+=t)-u);if(0==f&&n<140){let e=t<16?R(t):D(t);if(null!=e)return e}return E(t)}{let n;switch(e){case 192:return null;case 193:return s?(n=x(),n>0?s[1].slice(s.position1,s.position1+=n):s[0].slice(s.position0,s.position0-=n)):g;case 194:return!1;case 195:return!0;case 196:if(n=t[l++],void 0===n)throw new Error("Unexpected end of buffer");return N(n);case 197:return n=a.getUint16(l),l+=2,N(n);case 198:return n=a.getUint32(l),l+=4,N(n);case 199:return U(t[l++]);case 200:return n=a.getUint16(l),l+=2,U(n);case 201:return n=a.getUint32(l),l+=4,U(n);case 202:if(n=a.getFloat32(l),c.useFloat32>2){let e=K[(127&t[l])<<1|t[l+1]>>7];return l+=4,(e*n+(n>0?.5:-.5)|0)/e}return l+=4,n;case 203:return n=a.getFloat64(l),l+=8,n;case 204:return t[l++];case 205:return n=a.getUint16(l),l+=2,n;case 206:return n=a.getUint32(l),l+=4,n;case 207:return"number"===c.int64AsType?(n=4294967296*a.getUint32(l),n+=a.getUint32(l+4)):"string"===c.int64AsType?n=a.getBigUint64(l).toString():"auto"===c.int64AsType?(n=a.getBigUint64(l),n<=BigInt(2)<=BigInt(-2)<=l?o.slice(l-u,(l+=n)-u):C(n);case 218:return n=a.getUint16(l),f>=(l+=2)?o.slice(l-u,(l+=n)-u):L(n);case 219:return n=a.getUint32(l),f>=(l+=4)?o.slice(l-u,(l+=n)-u):P(n);case 220:return n=a.getUint16(l),l+=2,I(n);case 221:return n=a.getUint32(l),l+=4,I(n);case 222:return n=a.getUint16(l),l+=2,A(n);case 223:return n=a.getUint32(l),l+=4,A(n);default:if(e>=224)return e-256;if(void 0===e){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}throw new Error("Unknown MessagePack token "+e)}}}const S=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function $(e,t){function n(){if(n.count++>y){let n=e.read=new Function("r","return function(){return "+(c.freezeData?"Object.freeze":"")+"({"+e.map((e=>"__proto__"===e?"__proto_:r()":S.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()")).join(",")+"})}")(x);return 0===e.highByte&&(e.read=k(t,e.read)),n()}let r={};for(let t=0,n=e.length;tfunction(){let o=t[l++];if(0===o)return n();let s=e<32?-(e+(o<<5)):e+(o<<5),i=r[s]||T()[s];if(!i)throw new Error("Record id is not defined for "+s);return i.read||(i.read=$(i,e)),i.read()};function T(){let e=W((()=>(t=null,c.getStructures())));return r=c._mergeStructures(e,r)}var E=O,C=O,L=O,P=O;function O(n){let r;if(n<16&&(r=R(n)))return r;if(n>64&&e)return e.decode(t.subarray(l,l+=n));const o=l+n,s=[];for(r="";l65535&&(n-=65536,s.push(n>>>10&1023|55296),n=56320|1023&n),s.push(n)}else s.push(e);else s.push(e);s.length>=4096&&(r+=M.apply(String,s),s.length=0)}return s.length>0&&(r+=M.apply(String,s)),r}function I(e){let t=new Array(e);for(let n=0;n0)return void(l=n);r[o]=e}return M.apply(String,r)}function R(e){if(e<4){if(e<2){if(0===e)return"";{let e=t[l++];return(128&e)>1?void(l-=1):M(e)}}{let n=t[l++],r=t[l++];if((128&n)>0||(128&r)>0)return void(l-=2);if(e<3)return M(n,r);let o=t[l++];return(128&o)>0?void(l-=3):M(n,r,o)}}{let n=t[l++],r=t[l++],o=t[l++],s=t[l++];if((128&n)>0||(128&r)>0||(128&o)>0||(128&s)>0)return void(l-=4);if(e<6){if(4===e)return M(n,r,o,s);{let e=t[l++];return(128&e)>0?void(l-=5):M(n,r,o,s,e)}}if(e<8){let i=t[l++],a=t[l++];if((128&i)>0||(128&a)>0)return void(l-=6);if(e<7)return M(n,r,o,s,i,a);let c=t[l++];return(128&c)>0?void(l-=7):M(n,r,o,s,i,a,c)}{let i=t[l++],a=t[l++],c=t[l++],u=t[l++];if((128&i)>0||(128&a)>0||(128&c)>0||(128&u)>0)return void(l-=8);if(e<10){if(8===e)return M(n,r,o,s,i,a,c,u);{let e=t[l++];return(128&e)>0?void(l-=9):M(n,r,o,s,i,a,c,u,e)}}if(e<12){let f=t[l++],d=t[l++];if((128&f)>0||(128&d)>0)return void(l-=10);if(e<11)return M(n,r,o,s,i,a,c,u,f,d);let h=t[l++];return(128&h)>0?void(l-=11):M(n,r,o,s,i,a,c,u,f,d,h)}{let f=t[l++],d=t[l++],h=t[l++],p=t[l++];if((128&f)>0||(128&d)>0||(128&h)>0||(128&p)>0)return void(l-=12);if(e<14){if(12===e)return M(n,r,o,s,i,a,c,u,f,d,h,p);{let e=t[l++];return(128&e)>0?void(l-=13):M(n,r,o,s,i,a,c,u,f,d,h,p,e)}}{let g=t[l++],m=t[l++];if((128&g)>0||(128&m)>0)return void(l-=14);if(e<15)return M(n,r,o,s,i,a,c,u,f,d,h,p,g,m);let y=t[l++];return(128&y)>0?void(l-=15):M(n,r,o,s,i,a,c,u,f,d,h,p,g,m,y)}}}}}function F(){let e,n=t[l++];if(n<192)e=n-160;else switch(n){case 217:e=t[l++];break;case 218:e=a.getUint16(l),l+=2;break;case 219:e=a.getUint32(l),l+=4;break;default:throw new Error("Expected string")}return O(e)}function N(e){return c.copyBuffers?Uint8Array.prototype.slice.call(t,l,l+=e):t.subarray(l,l+=e)}function U(e){let n=t[l++];if(d[n]){let r;return d[n](t.subarray(l,r=l+=e),(e=>{l=e;try{return x()}finally{l=r}}))}throw new Error("Unknown extension type "+n)}var j=new Array(4096);function _(){let e=t[l++];if(!(e>=160&&e<192))return l--,Q(x());if(e-=160,f>=l)return o.slice(l-u,(l+=e)-u);if(!(0==f&&n<180))return E(e);let r,s=4095&(e<<5^(e>1?a.getUint16(l):e>0?t[l]:0)),i=j[s],c=l,d=l+e-3,h=0;if(i&&i.bytes==e){for(;c{let n=x().map(Q),o=e;void 0!==t&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let s=r[e];return s&&(s.isShared||m)&&((r.restoreStructures||(r.restoreStructures=[]))[e]=s),r[e]=n,n.read=$(n,o),n.read()};d[0]=()=>{},d[0].noBuffer=!0,d[66]=e=>{let t=e.length,n=BigInt(128&e[0]?e[0]-256:e[0]);for(let r=1;r{let e=x();return(z[e[0]]||Error)(e[1],{cause:e[2]})},d[105]=e=>{if(!1===c.structuredClone)throw new Error("Structured clone extension is disabled");let n=a.getUint32(l-4);i||(i=new Map);let r,o=t[l];r=o>=144&&o<160||220==o||221==o?[]:{};let s={target:r};i.set(n,s);let u=x();return s.used?Object.assign(r,u):(s.target=u,u)},d[112]=e=>{if(!1===c.structuredClone)throw new Error("Structured clone extension is disabled");let t=a.getUint32(l-4),n=i.get(t);return n.used=!0,n.target},d[115]=()=>new Set(x());const H=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map((e=>e+"Array"));let q="object"==typeof globalThis?globalThis:window;d[116]=e=>{let t=e[0],n=H[t];if(!n){if(16===t){let t=new ArrayBuffer(e.length-1);return new Uint8Array(t).set(e.subarray(1)),t}throw new Error("Could not find typed array for code "+t)}return new q[n](Uint8Array.prototype.slice.call(e,1).buffer)},d[120]=()=>{let e=x();return new RegExp(e[0],e[1])};const V=[];function W(e){let d=n,h=l,p=u,g=f,y=o,b=i,v=s,w=new Uint8Array(t.slice(0,n)),x=r,S=r.slice(0,r.length),$=c,k=m,T=e();return n=d,l=h,u=p,f=g,o=y,i=b,s=v,t=w,m=k,(r=x).splice(0,r.length,...S),c=$,a=new DataView(t.buffer,t.byteOffset,t.byteLength),T}function J(){t=null,i=null,r=null}d[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=l;return l+=t-e.length,s=V,(s=[F(),F()]).position0=0,s.position1=0,s.postBundlePosition=l,l=n,x()},d[255]=e=>4==e.length?new Date(1e3*(16777216*e[0]+(e[1]<<16)+(e[2]<<8)+e[3])):8==e.length?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+1e3*(4294967296*(3&e[3])+16777216*e[4]+(e[5]<<16)+(e[6]<<8)+e[7])):12==e.length?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+1e3*((128&e[4]?-281474976710656:0)+1099511627776*e[6]+4294967296*e[7]+16777216*e[8]+(e[9]<<16)+(e[10]<<8)+e[11])):new Date("invalid");const K=new Array(147);for(let e=0;e<256;e++)K[e]=+("1e"+Math.floor(45.15-.30103*e));var G=new b({useRecords:!1});const Z=G.unpack;G.unpackMultiple,G.unpack;let Y,X,ee,te=new Float32Array(1);new Uint8Array(te.buffer,0,4);try{Y=new TextEncoder}catch(e){}const ne="undefined"!=typeof Buffer,re=ne?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,oe=ne?Buffer:Uint8Array,se=ne?4294967296:2144337920;let ie,ae,le,ce,ue=0,fe=null;const de=/[\u0080-\uFFFF]/,he=Symbol("record-id");function pe(e,t,n,r){let o=e.byteLength;if(o+1<256){var{target:s,position:i}=n(4+o);s[i++]=199,s[i++]=o+1}else if(o+1<65536){var{target:s,position:i}=n(5+o);s[i++]=200,s[i++]=o+1>>8,s[i++]=o+1&255}else{var{target:s,position:i,targetView:a}=n(7+o);s[i++]=201,a.setUint32(i,o+1),i+=4}s[i++]=116,s[i++]=t,e.buffer||(e=new Uint8Array(e)),s.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i)}function ge(e,t){let n=e.byteLength;var r,o;if(n<256){var{target:r,position:o}=t(n+2);r[o++]=196,r[o++]=n}else if(n<65536){var{target:r,position:o}=t(n+3);r[o++]=197,r[o++]=n>>8,r[o++]=255&n}else{var{target:r,position:o,targetView:s}=t(n+5);r[o++]=198,s.setUint32(o,n),o+=4}r.set(e,o)}function me(e,t,n,r){let o=e.length;switch(o){case 1:t[n++]=212;break;case 2:t[n++]=213;break;case 4:t[n++]=214;break;case 8:t[n++]=215;break;case 16:t[n++]=216;break;default:o<256?(t[n++]=199,t[n++]=o):o<65536?(t[n++]=200,t[n++]=o>>8,t[n++]=255&o):(t[n++]=201,t[n++]=o>>24,t[n++]=o>>16&255,t[n++]=o>>8&255,t[n++]=255&o)}return t[n++]=r,t.set(e,n),n+=o}function ye(e,t,n){if(fe.length>0){le.setUint32(fe.position+e,ue+n-fe.position-e),fe.stringsPosition=ue-e;let r=fe;fe=null,t(r[0]),t(r[1])}}ee=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,p],X=[{pack(e,t,n){let r=e.getTime()/1e3;if((this.useTimestamp32||0===e.getMilliseconds())&&r>=0&&r<4294967296){let{target:e,targetView:n,position:o}=t(6);e[o++]=214,e[o++]=255,n.setUint32(o,r)}else if(r>0&&r<4294967296){let{target:n,targetView:o,position:s}=t(10);n[s++]=215,n[s++]=255,o.setUint32(s,4e6*e.getMilliseconds()+(r/1e3/4294967296|0)),o.setUint32(s+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return t(0),n(this.onInvalidDate());let{target:e,targetView:r,position:o}=t(3);e[o++]=212,e[o++]=255,e[o++]=255}else{let{target:n,targetView:o,position:s}=t(15);n[s++]=199,n[s++]=12,n[s++]=255,o.setUint32(s,1e6*e.getMilliseconds()),o.setBigInt64(s+4,BigInt(Math.floor(r)))}}},{pack(e,t,n){if(this.setAsEmptyObject)return t(0),n({});let r=Array.from(e),{target:o,position:s}=t(this.moreTypes?3:0);this.moreTypes&&(o[s++]=212,o[s++]=115,o[s++]=0),n(r)}},{pack(e,t,n){let{target:r,position:o}=t(this.moreTypes?3:0);this.moreTypes&&(r[o++]=212,r[o++]=101,r[o++]=0),n([e.name,e.message,e.cause])}},{pack(e,t,n){let{target:r,position:o}=t(this.moreTypes?3:0);this.moreTypes&&(r[o++]=212,r[o++]=120,r[o++]=0),n([e.source,e.flags])}},{pack(e,t){this.moreTypes?pe(e,16,t):ge(ne?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==oe&&this.moreTypes?pe(e,H.indexOf(n.name),t):ge(e,t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];let be=new class extends b{constructor(e){let t,n,r,o;super(e),this.offset=0;let s=oe.prototype.utf8Write?function(e,t){return ie.utf8Write(e,t,4294967295)}:!(!Y||!Y.encodeInto)&&function(e,t){return Y.encodeInto(e,ie.subarray(t)).written},i=this;e||(e={});let a=e&&e.sequential,l=e.structures||e.saveStructures,c=e.maxSharedStructures;if(null==c&&(c=l?32:0),c>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&null==e.moreTypes&&(this.moreTypes=!0);let u=e.maxOwnStructures;null==u&&(u=l?32:64),this.structures||0==e.useRecords||(this.structures=[]);let f=c>32||u+c>64,d=c+64,h=c+u+64;if(h>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let p=[],g=0,m=0;this.pack=this.encode=function(e,s){if(ie||(ie=new re(8192),le=ie.dataView||(ie.dataView=new DataView(ie.buffer,0,8192)),ue=0),ce=ie.length-10,ce-ue<2048?(ie=new re(ie.length),le=ie.dataView||(ie.dataView=new DataView(ie.buffer,0,ie.length)),ce=ie.length-10,ue=0):ue=ue+7&2147483640,t=ue,s&xe&&(ue+=255&s),o=i.structuredClone?new Map:null,i.bundleStrings&&"string"!=typeof e?(fe=[],fe.size=1/0):fe=null,r=i.structures,r){r.uninitialized&&(r=i._mergeStructures(i.getStructures()));let e=r.sharedLength||0;if(e>c)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+r.sharedLength);if(!r.transitions){r.transitions=Object.create(null);for(let t=0;te.offset>t.offset?1:-1)),r=e.length,s=-1;for(;n&&r>0;){let o=e[--r].offset+t;on.position+t?s>=0&&(s+=6):(s>=0&&(le.setUint32(n.position+t,le.getUint32(n.position+t)+s),s=-1),n=n.previous,r++)}s>=0&&n&&le.setUint32(n.position+t,le.getUint32(n.position+t)+s),ue+=6*e.length,ue>ce&&k(ue),i.offset=ue;let a=function(e,t){let n,r=6*t.length,o=e.length-r;for(;n=t.pop();){let t=n.offset,s=n.id;e.copyWithin(t+r,t,o),r-=6;let i=t+r;e[i++]=214,e[i++]=105,e[i++]=s>>24,e[i++]=s>>16&255,e[i++]=s>>8&255,e[i++]=255&s,o=t}return e}(ie.subarray(t,ue),e);return o=null,a}return i.offset=ue,s&ve?(ie.start=t,ie.end=ue,ie):ie.subarray(t,ue)}catch(e){throw l=e,e}finally{if(r&&(y(),n&&i.saveStructures)){let n=r.sharedLength||0,o=ie.subarray(t,ue),a=function(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}(r,i);if(!l)return!1===i.saveStructures(a,a.isCompatible)?i.pack(e,s):(i.lastNamedStructuresLength=n,ie.length>1073741824&&(ie=null),o)}ie.length>1073741824&&(ie=null),s&we&&(ue=t)}};const y=()=>{m<10&&m++;let e=r.sharedLength||0;if(r.length>e&&!a&&(r.length=e),g>1e4)r.transitions=null,m=0,g=0,p.length>0&&(p=[]);else if(p.length>0&&!a){for(let e=0,t=p.length;e{var t=e.length;t<16?ie[ue++]=144|t:t<65536?(ie[ue++]=220,ie[ue++]=t>>8,ie[ue++]=255&t):(ie[ue++]=221,le.setUint32(ue,t),ue+=4);for(let n=0;n{ue>ce&&(ie=k(ue));var n,r=typeof e;if("string"===r){let r,o=e.length;if(fe&&o>=4&&o<4096){if((fe.size+=o)>21760){let e,n,r=(fe[0]?3*fe[0].length+fe[1].length:0)+10;ue+r>ce&&(ie=k(ue+r)),fe.position?(n=fe,ie[ue]=200,ue+=3,ie[ue++]=98,e=ue-t,ue+=4,ye(t,v,0),le.setUint16(e+t-3,ue-t-e)):(ie[ue++]=214,ie[ue++]=98,e=ue-t,ue+=4),fe=["",""],fe.previous=n,fe.size=0,fe.position=e}let n=de.test(e);return fe[n?0:1]+=e,ie[ue++]=193,void v(n?-o:o)}r=o<32?1:o<256?2:o<65536?3:5;let i=3*o;if(ue+i>ce&&(ie=k(ue+i)),o<64||!s){let t,s,i,a=ue+r;for(t=0;t>6|192,ie[a++]=63&s|128):55296==(64512&s)&&56320==(64512&(i=e.charCodeAt(t+1)))?(s=65536+((1023&s)<<10)+(1023&i),t++,ie[a++]=s>>18|240,ie[a++]=s>>12&63|128,ie[a++]=s>>6&63|128,ie[a++]=63&s|128):(ie[a++]=s>>12|224,ie[a++]=s>>6&63|128,ie[a++]=63&s|128);n=a-ue-r}else n=s(e,ue+r);n<32?ie[ue++]=160|n:n<256?(r<2&&ie.copyWithin(ue+2,ue+1,ue+1+n),ie[ue++]=217,ie[ue++]=n):n<65536?(r<3&&ie.copyWithin(ue+3,ue+2,ue+2+n),ie[ue++]=218,ie[ue++]=n>>8,ie[ue++]=255&n):(r<5&&ie.copyWithin(ue+5,ue+3,ue+3+n),ie[ue++]=219,le.setUint32(ue,n),ue+=4),ue+=n}else if("number"===r)if(e>>>0===e)e<32||e<128&&!1===this.useRecords||e<64&&!this.randomAccessStructure?ie[ue++]=e:e<256?(ie[ue++]=204,ie[ue++]=e):e<65536?(ie[ue++]=205,ie[ue++]=e>>8,ie[ue++]=255&e):(ie[ue++]=206,le.setUint32(ue,e),ue+=4);else if((e|0)===e)e>=-32?ie[ue++]=256+e:e>=-128?(ie[ue++]=208,ie[ue++]=e+256):e>=-32768?(ie[ue++]=209,le.setInt16(ue,e),ue+=2):(ie[ue++]=210,le.setInt32(ue,e),ue+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){let n;if(ie[ue++]=202,le.setFloat32(ue,e),t<4||((n=e*K[(127&ie[ue])<<1|ie[ue+1]>>7])|0)===n)return void(ue+=4);ue--}ie[ue++]=203,le.setFloat64(ue,e),ue+=8}else if("object"===r||"function"===r)if(e){if(o){let n=o.get(e);if(n){if(!n.id){let e=o.idsToInsert||(o.idsToInsert=[]);n.id=e.push(n)}return ie[ue++]=214,ie[ue++]=112,le.setUint32(ue,n.id),void(ue+=4)}o.set(e,{offset:ue-t})}let s=e.constructor;if(s===Object)$(e);else if(s===Array)b(e);else if(s===Map)if(this.mapAsEmptyObject)ie[ue++]=128;else{(n=e.size)<16?ie[ue++]=128|n:n<65536?(ie[ue++]=222,ie[ue++]=n>>8,ie[ue++]=255&n):(ie[ue++]=223,le.setUint32(ue,n),ue+=4);for(let[t,n]of e)v(t),v(n)}else{for(let t=0,n=X.length;t(ie=o,o=null,ue+=e,ue>ce&&k(ue),{target:ie,targetView:le,position:ue-e})),v)}finally{o&&(ie=o,le=s,ue=i,ce=ie.length-10)}return void(r&&(r.length+ue>ce&&k(r.length+ue),ue=me(r,ie,ue,n.type)))}}if(Array.isArray(e))b(e);else{if(e.toJSON){const t=e.toJSON();if(t!==e)return v(t)}if("function"===r)return v(this.writeFunction&&this.writeFunction(e));$(e)}}}else ie[ue++]=192;else if("boolean"===r)ie[ue++]=e?195:194;else if("bigint"===r){if(e=-(BigInt(1)<0)ie[ue++]=207,le.setBigUint64(ue,e);else{if(!this.largeBigIntToFloat){if(this.useBigIntExtension&&e<2n**1023n&&e>-(2n**1023n)){ie[ue++]=199,ue++,ie[ue++]=66;let t,n=[];do{let r=0xffn&e;t=(0x80n&r)===(e<0n?0x80n:0n),n.push(r),e>>=8n}while(0n!==e&&-1n!==e||!t);ie[ue-2]=n.length;for(let e=n.length;e>0;)ie[ue++]=Number(n[--e]);return}throw new RangeError(e+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension or set largeBigIntToFloat to convert to float-64")}ie[ue++]=203,le.setFloat64(ue,Number(e))}ue+=8}else{if("undefined"!==r)throw new Error("Unknown type: "+r);this.encodeUndefinedAsNil?ie[ue++]=192:(ie[ue++]=212,ie[ue++]=0,ie[ue++]=0)}},w=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?e=>{let t;if(this.skipValues){t=[];for(let n in e)"function"==typeof e.hasOwnProperty&&!e.hasOwnProperty(n)||this.skipValues.includes(e[n])||t.push(n)}else t=Object.keys(e);let n,r=t.length;if(r<16?ie[ue++]=128|r:r<65536?(ie[ue++]=222,ie[ue++]=r>>8,ie[ue++]=255&r):(ie[ue++]=223,le.setUint32(ue,r),ue+=4),this.coercibleKeyAsNumber)for(let o=0;o{ie[ue++]=222;let n=ue-t;ue+=2;let r=0;for(let t in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);ie[n+++t]=r>>8,ie[n+t]=255&r},x=!1===this.useRecords?w:e.progressiveRecords&&!f?e=>{let n,o,s=r.transitions||(r.transitions=Object.create(null)),i=ue++-t;for(let a in e)if("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(a)){if(n=s[a],n)s=n;else{let l=Object.keys(e),c=s;s=r.transitions;let u=0;for(let e=0,t=l.length;e{let t,n=r.transitions||(r.transitions=Object.create(null)),o=0;for(let r in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(r))&&(t=n[r],t||(t=n[r]=Object.create(null),o++),n=t);let s=n[he];s?s>=96&&f?(ie[ue++]=96+(31&(s-=96)),ie[ue++]=s>>5):ie[ue++]=s:T(n,n.__keys__||Object.keys(e),o);for(let t in e)("function"!=typeof e.hasOwnProperty||e.hasOwnProperty(t))&&v(e[t])},S="function"==typeof this.useRecords&&this.useRecords,$=S?e=>{S(e)?x(e):w(e)}:x,k=e=>{let n;if(e>16777216){if(e-t>se)throw new Error("Packed buffer would be larger than maximum buffer size");n=Math.min(se,4096*Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096))}else n=1+(Math.max(e-t<<2,ie.length-1)>>12)<<12;let r=new re(n);return le=r.dataView||(r.dataView=new DataView(r.buffer,0,n)),e=Math.min(e,ie.length),ie.copy?ie.copy(r,0,t,e):r.set(ie.slice(t,e)),ue-=t,t=0,ce=r.length-10,ie=r},T=(e,t,o)=>{let s=r.nextId;s||(s=64),s=h&&(s=d),r.nextId=s+1);let i=t.highByte=s>=96&&f?s-96>>5:-1;e[he]=s,e.__keys__=t,r[s-64]=t,s=0?(ie[ue++]=96+(31&s),ie[ue++]=i):ie[ue++]=s):(i>=0?(ie[ue++]=213,ie[ue++]=114,ie[ue++]=96+(31&s),ie[ue++]=i):(ie[ue++]=212,ie[ue++]=114,ie[ue++]=s),o&&(g+=m*o),p.length>=u&&(p.shift()[he]=0),p.push(e),v(t))},E=(e,n,r,o)=>{let s=ie,i=ue,a=ce,l=t;ie=ae,ue=0,t=0,ie||(ae=ie=new re(8192)),ce=ie.length-10,T(e,n,o),ae=ie;let c=ue;if(ie=s,ue=i,ce=a,t=l,c>1){let e=ue+c-1;e>ce&&k(e);let n=r+t;ie.copyWithin(n+c,n+1,ue),ie.set(ae.slice(0,c),n),ue=e}else ie[r+t]=ae[0]},C=e=>{let o=undefined(e,ie,t,ue,r,k,((e,t,r)=>{if(r)return n=!0;ue=t;let o=ie;return v(e),y(),o!==ie?{position:ue,targetView:le,target:ie}:ue}),this);if(0===o)return $(e);ue=o}}useBuffer(e){ie=e,ie.dataView||(ie.dataView=new DataView(ie.buffer,ie.byteOffset,ie.byteLength)),ue=0}set position(e){ue=e}get position(){return ue}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}}({useRecords:!1});be.pack,be.pack;const ve=512,we=1024,xe=2048;var Se=Uint8Array,$e=Uint16Array,ke=Int32Array,Te=new Se([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ee=new Se([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ce=new Se([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Le=function(e,t){for(var n=new $e(31),r=0;r<31;++r)n[r]=t+=1<>1|(21845&De)<<1;Re=(61680&(Re=(52428&Re)>>2|(13107&Re)<<2))>>4|(3855&Re)<<4,Me[De]=((65280&Re)>>8|(255&Re)<<8)>>1}var Fe=function(e,t,n){for(var r=e.length,o=0,s=new $e(t);o>l]=c}else for(i=new $e(r),o=0;o>15-e[o]);return i},Ne=new Se(288);for(De=0;De<144;++De)Ne[De]=8;for(De=144;De<256;++De)Ne[De]=9;for(De=256;De<280;++De)Ne[De]=7;for(De=280;De<288;++De)Ne[De]=8;var Ue=new Se(32);for(De=0;De<32;++De)Ue[De]=5;var je=Fe(Ne,9,1),_e=Fe(Ue,5,1),Qe=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},Be=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},ze=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},He=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],qe=function(e,t,n){var r=new Error(t||He[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,qe),!n)throw r;return r},Ve=function(e,t,n,r){var o=e.length,s=r?r.length:0;if(!o||t.f&&!t.l)return n||new Se(0);var i=!n,a=i||2!=t.i,l=t.i;i&&(n=new Se(3*o));var c=function(e){var t=n.length;if(e>t){var r=new Se(Math.max(2*t,e));r.set(n),n=r}},u=t.f||0,f=t.p||0,d=t.b||0,h=t.l,p=t.d,g=t.m,m=t.n,y=8*o;do{if(!h){u=Be(e,f,1);var b=Be(e,f+1,3);if(f+=3,!b){var v=e[(O=4+((f+7)/8|0))-4]|e[O-3]<<8,w=O+v;if(w>o){l&&qe(0);break}a&&c(d+v),n.set(e.subarray(O,w),d),t.b=d+=v,t.p=f=8*w,t.f=u;continue}if(1==b)h=je,p=_e,g=9,m=5;else if(2==b){var x=Be(e,f,31)+257,S=Be(e,f+10,15)+4,$=x+Be(e,f+5,31)+1;f+=14;for(var k=new Se($),T=new Se(19),E=0;E>4)<16)k[E++]=O;else{var A=0,M=0;for(16==O?(M=3+Be(e,f,3),f+=2,A=k[E-1]):17==O?(M=3+Be(e,f,7),f+=3):18==O&&(M=11+Be(e,f,127),f+=7);M--;)k[E++]=A}}var D=k.subarray(0,x),R=k.subarray(x);g=Qe(D),m=Qe(R),h=Fe(D,g,1),p=Fe(R,m,1)}else qe(1);if(f>y){l&&qe(0);break}}a&&c(d+131072);for(var F=(1<>4;if((f+=15&A)>y){l&&qe(0);break}if(A||qe(2),j<256)n[d++]=j;else{if(256==j){U=f,h=null;break}var _=j-254;if(j>264){var Q=Te[E=j-257];_=Be(e,f,(1<>4;B||qe(3),f+=15&B;R=Ae[z];if(z>3){Q=Ee[z];R+=ze(e,f)&(1<y){l&&qe(0);break}a&&c(d+131072);var H=d+_;if(de.length)&&(n=e.length),new Se(e.subarray(t,n))}(n,0,d):n.subarray(0,d)},We=new Se(0);function Je(e,t){return Ve(e,{i:2},t&&t.out,t&&t.dictionary)}var Ke="undefined"!=typeof TextDecoder&&new TextDecoder;try{Ke.decode(We,{stream:!0})}catch(e){}const Ge="function"==typeof Buffer;"function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder&&new TextEncoder;const Ze=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),Ye=(()=>{let e={};return Ze.forEach(((t,n)=>e[t]=n)),e})(),Xe=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,et=String.fromCharCode.bind(String),tt="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),nt=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),rt="function"==typeof atob?e=>atob(nt(e)):Ge?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!Xe.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,n,r,o="";for(let s=0;s>16&255):64===r?et(t>>16&255,t>>8&255):et(t>>16&255,t>>8&255,255&t);return o},ot=Ge?e=>tt(Buffer.from(e,"base64")):e=>tt(rt(e).split("").map((e=>e.charCodeAt(0)))),st=e=>nt(e.replace(/[-_]/g,(e=>"-"==e?"+":"/")));function it(e){if(null==e)return!1;switch(typeof e){case"function":case"object":return"function"==typeof e.subscribe&&"function"==typeof e.set}return!1}function at(e){if(null==e)return!1;switch(typeof e){case"function":case"object":return"function"==typeof e.subscribe&&"function"==typeof e.set&&"function"==typeof e.update}return!1}function lt(e,t,n){let r=!1;return e.subscribe((e=>{r?n(e):(r=!0,t(e))}))}function ct(e){return null!=e&&"object"==typeof e&&Symbol.iterator in e}function ut(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function ft(e,t,n){if("object"!=typeof e)return n;if("string"!=typeof t)return n;const r=t.split(".");for(let t=0;t{for(const t of e){const e=this.#t.get(t?.target);if(Array.isArray(e)){const n=t.contentRect.width,r=t.contentRect.height;for(const t of e)ht.#o(t,n,r)}}}))}add(e,t){if(!(e instanceof HTMLElement))throw new TypeError("ResizeObserverManager.add error: 'el' is not a HTMLElement.");if(this.#s(e,t))return;const n=ht.#i(t);if(0===n)throw new Error("ResizeObserverManager.add error: 'target' is not a valid ResizeObserverManager target.");const r=globalThis.getComputedStyle(e),o=dt.pixels(e.style.borderBottom)??dt.pixels(r.borderBottom)??0,s=dt.pixels(e.style.borderLeft)??dt.pixels(r.borderLeft)??0,i=dt.pixels(e.style.borderRight)??dt.pixels(r.borderRight)??0,a=dt.pixels(e.style.borderTop)??dt.pixels(r.borderTop)??0,l=dt.pixels(e.style.paddingBottom)??dt.pixels(r.paddingBottom)??0,c={updateType:n,target:t,contentWidth:0,contentHeight:0,styles:{additionalWidth:s+i+(dt.pixels(e.style.paddingLeft)??dt.pixels(r.paddingLeft)??0)+(dt.pixels(e.style.paddingRight)??dt.pixels(r.paddingRight)??0),additionalHeight:a+o+(dt.pixels(e.style.paddingTop)??dt.pixels(r.paddingTop)??0)+l}};if(this.#t.has(e)){this.#t.get(e).push(c)}else this.#t.set(e,[c]);this.#n.observe(e)}clear(){for(const e of this.#t.keys())this.#n.unobserve(e);this.#t.clear()}remove(e,t=void 0){const n=this.#t.get(e);if(Array.isArray(n)){if(void 0!==t){const e=n.findIndex((e=>e.target===t));e>=0&&n.splice(e,1)}else n.length=0;0===n.length&&(this.#t.delete(e),this.#n.unobserve(e))}}updateCache(e){const t=this.#t.get(e);if(Array.isArray(t)){const n=globalThis.getComputedStyle(e),r=dt.pixels(e.style.borderBottom)??dt.pixels(n.borderBottom)??0,o=dt.pixels(e.style.borderLeft)??dt.pixels(n.borderLeft)??0,s=dt.pixels(e.style.borderRight)??dt.pixels(n.borderRight)??0,i=dt.pixels(e.style.borderTop)??dt.pixels(n.borderTop)??0,a=dt.pixels(e.style.paddingBottom)??dt.pixels(n.paddingBottom)??0,l=o+s+(dt.pixels(e.style.paddingLeft)??dt.pixels(n.paddingLeft)??0)+(dt.pixels(e.style.paddingRight)??dt.pixels(n.paddingRight)??0),c=i+r+(dt.pixels(e.style.paddingTop)??dt.pixels(n.paddingTop)??0)+a;for(const e of t)e.styles.additionalWidth=l,e.styles.additionalHeight=c,ht.#o(e,e.contentWidth,e.contentHeight)}}static#i(e){if("function"==typeof e?.resizeObserved)return this.#r.resizeObserved;if("function"==typeof e?.setDimension)return this.#r.setDimension;if("function"==typeof e?.setContentBounds)return this.#r.setContentBounds;const t=typeof e;if(null!==t&&("object"===t||"function"===t)){if(at(e.resizeObserved))return this.#r.storeObject;const t=e?.stores;if((ut(t)||"function"==typeof t)&&at(t.resizeObserved))return this.#r.storesObject}return null!==t&&"object"===t?this.#r.attribute:"function"===t?this.#r.function:this.#r.none}#s(e,t){if(null==t)return!1;const n=this.#t.get(e);return!!Array.isArray(n)&&n.findIndex((e=>e.target===t))>=0}static#o(e,t,n){const r=e.styles;e.contentWidth=t,e.contentHeight=n;const o=Number.isFinite(t)?t+r.additionalWidth:void 0,s=Number.isFinite(n)?n+r.additionalHeight:void 0,i=e.target;switch(e.updateType){case this.#r.attribute:i.contentWidth=t,i.contentHeight=n,i.offsetWidth=o,i.offsetHeight=s;break;case this.#r.function:i?.(o,s,t,n);break;case this.#r.resizeObserved:i.resizeObserved?.(o,s,t,n);break;case this.#r.setContentBounds:i.setContentBounds?.(t,n);break;case this.#r.setDimension:i.setDimension?.(o,s);break;case this.#r.storeObject:i.resizeObserved.update((e=>(e.contentHeight=n,e.contentWidth=t,e.offsetHeight=s,e.offsetWidth=o,e)));break;case this.#r.storesObject:i.stores.resizeObserved.update((e=>(e.contentHeight=n,e.contentWidth=t,e.offsetHeight=s,e.offsetWidth=o,e)))}}}const pt=new ht;function gt(e,t){return pt.add(e,t),{update:n=>{pt.remove(e,t),t=n,pt.add(e,t)},destroy:()=>{pt.remove(e,t)}}}gt.updateCache=function(e){pt.updateCache(e)};class mt{constructor(){throw new Error("Timing constructor: This is a static class and should not be constructed.")}static debounce(e,t){if("function"!=typeof e)throw new TypeError("'callback' must be a function.");if(!Number.isInteger(t)||t<0)throw new TypeError("'delay' must be a positive integer representing milliseconds.");let n;return function(...r){globalThis.clearTimeout(n),n=globalThis.setTimeout((()=>{e.apply(this,r)}),t)}}static doubleClick({single:e,double:t,delay:n=400}){if(void 0!==e&&"function"!=typeof e)throw new TypeError("'single' must be a function.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("'double' must be a function.");if(!Number.isInteger(n)||n<0)throw new TypeError("'delay' must be a positive integer representing milliseconds.");let r,o=0;return s=>{globalThis.clearTimeout(r),o++,1===o?r=globalThis.setTimeout((()=>{"function"==typeof e&&e(s),o=0}),n):("function"==typeof t&&t(s),o=0)}}}function yt(){}const bt=e=>e;function vt(e,t){for(const n in t)e[n]=t[n];return e}function wt(e){return e()}function xt(){return Object.create(null)}function St(e){e.forEach(wt)}function $t(e){return"function"==typeof e}function kt(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let Tt;function Et(e,t){return e===t||(Tt||(Tt=document.createElement("a")),Tt.href=t,e===Tt.href)}function Ct(e,...t){if(null==e){for(const e of t)e(void 0);return yt}const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function Lt(e){let t;return Ct(e,(e=>t=e))(),t}function Pt(e,t,n){e.$$.on_destroy.push(Ct(t,n))}function Ot(e,t,n,r){if(e){const o=It(e,t,n,r);return e[0](o)}}function It(e,t,n,r){return e[1]&&r?vt(n.ctx.slice(),e[1](r(t))):n.ctx}function At(e,t,n,r){if(e[2]&&r){const o=e[2](r(n));if(void 0===t.dirty)return o;if("object"==typeof o){const e=[],n=Math.max(t.dirty.length,o.length);for(let r=0;r32){const t=[],n=e.ctx.length/32;for(let e=0;ewindow.performance.now():()=>Date.now(),_t=Ut?e=>requestAnimationFrame(e):yt;const Qt=new Set;function Bt(e){Qt.forEach((t=>{t.c(e)||(Qt.delete(t),t.f())})),0!==Qt.size&&_t(Bt)}const zt="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;function Ht(e,t){e.appendChild(t)}function qt(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function Vt(e){const t=Kt("style");return t.textContent="/* empty */",function(e,t){Ht(e.head||e,t),t.sheet}(qt(e),t),t.sheet}function Wt(e,t,n){e.insertBefore(t,n||null)}function Jt(e){e.parentNode&&e.parentNode.removeChild(e)}function Kt(e){return document.createElement(e)}function Gt(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function Zt(e){return document.createTextNode(e)}function Yt(){return Zt(" ")}function Xt(){return Zt("")}function en(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function tn(e){return function(t){return t.stopPropagation(),e.call(this,t)}}function nn(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function rn(e,t){t=""+t,e.data!==t&&(e.data=t)}function on(e,t){e.value=null==t?"":t}function sn(e,t,n,r){null==n?e.style.removeProperty(t):e.style.setProperty(t,n,"")}function an(e,t,n){e.classList.toggle(t,!!n)}function ln(e,t){return new e(t)}const cn=new Map;let un,fn=0;function dn(e,t,n,r,o,s,i,a=0){const l=16.666/r;let c="{\n";for(let e=0;e<=1;e+=l){const r=t+(n-t)*s(e);c+=100*e+`%{${i(r,1-r)}}\n`}const u=c+`100% {${i(n,1-n)}}\n}`,f=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${a}`,d=qt(e),{stylesheet:h,rules:p}=cn.get(d)||function(e,t){const n={stylesheet:Vt(t),rules:{}};return cn.set(e,n),n}(d,e);p[f]||(p[f]=!0,h.insertRule(`@keyframes ${f} ${u}`,h.cssRules.length));const g=e.style.animation||"";return e.style.animation=`${g?`${g}, `:""}${f} ${r}ms linear ${o}ms 1 both`,fn+=1,f}function hn(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),o=n.length-r.length;o&&(e.style.animation=r.join(", "),fn-=o,fn||_t((()=>{fn||(cn.forEach((e=>{const{ownerNode:t}=e.stylesheet;t&&Jt(t)})),cn.clear())})))}function pn(e){un=e}function gn(){if(!un)throw new Error("Function called outside component initialization");return un}function mn(e){gn().$$.on_mount.push(e)}function yn(e,t){return gn().$$.context.set(e,t),t}function bn(e){return gn().$$.context.get(e)}function vn(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach((e=>e.call(this,t)))}const wn=[],xn=[];let Sn=[];const $n=[],kn=Promise.resolve();let Tn=!1;function En(){Tn||(Tn=!0,kn.then(An))}function Cn(){return En(),kn}function Ln(e){Sn.push(e)}const Pn=new Set;let On,In=0;function An(){if(0!==In)return;const e=un;do{try{for(;In{Rn.delete(e),r&&(n&&e.d(1),r())})),e.o(t)}else r&&r()}const Qn={duration:0};function Bn(e,t,n,r){let o,s=t(e,n,{direction:"both"}),i=r?0:1,a=null,l=null,c=null;function u(){c&&hn(e,c)}function f(e,t){const n=e.b-i;return t*=Math.abs(n),{a:i,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function d(t){const{delay:n=0,duration:r=300,easing:d=bt,tick:h=yt,css:p}=s||Qn,g={start:jt()+n,b:t};t||(g.group=Fn,Fn.r+=1),"inert"in e&&(t?void 0!==o&&(e.inert=o):(o=e.inert,e.inert=!0)),a||l?l=g:(p&&(u(),c=dn(e,i,t,r,n,d,p)),t&&h(0,1),a=f(g,r),Ln((()=>Dn(e,t,"start"))),function(e){let t;0===Qt.size&&_t(Bt),new Promise((n=>{Qt.add(t={c:e,f:n})}))}((t=>{if(l&&t>l.start&&(a=f(l,r),l=null,Dn(e,a.b,"start"),p&&(u(),c=dn(e,i,a.b,a.duration,0,d,s.css))),a)if(t>=a.end)h(i=a.b,1-i),Dn(e,a.b,"end"),l||(a.b?u():--a.group.r||St(a.group.c)),a=null;else if(t>=a.start){const e=t-a.start;i=a.a+a.d*d(e/a.duration),h(i,1-i)}return!(!a&&!l)})))}return{run(e){$t(s)?(On||(On=Promise.resolve(),On.then((()=>{On=null}))),On).then((()=>{s=s({direction:e?"in":"out"}),d(e)})):d(e)},end(){u(),a=l=null}}}function zn(e){return void 0!==e?.length?e:Array.from(e)}function Hn(e,t){e.d(1),t.delete(e.key)}function qn(e,t){_n(e,1,1,(()=>{t.delete(e.key)}))}function Vn(e,t,n,r,o,s,i,a,l,c,u,f){let d=e.length,h=s.length,p=d;const g={};for(;p--;)g[e[p].key]=p;const m=[],y=new Map,b=new Map,v=[];for(p=h;p--;){const e=f(o,s,p),r=n(e);let a=i.get(r);a?v.push((()=>a.p(e,t))):(a=c(r,e),a.c()),y.set(r,m[p]=a),r in g&&b.set(r,Math.abs(p-g[r]))}const w=new Set,x=new Set;function S(e){jn(e,1),e.m(a,u),i.set(e.key,e),u=e.first,h--}for(;d&&h;){const t=m[h-1],n=e[d-1],r=t.key,o=n.key;t===n?(u=t.first,d--,h--):y.has(o)?!i.has(r)||w.has(r)?S(t):x.has(o)?d--:b.get(r)>b.get(o)?(x.add(r),S(t)):(w.add(o),d--):(l(n,i),d--)}for(;d--;){const t=e[d];y.has(t.key)||l(t,i)}for(;h;)S(m[h-1]);return St(v),m}function Wn(e,t){const n={},r={},o={$$scope:1};let s=e.length;for(;s--;){const i=e[s],a=t[s];if(a){for(const e in i)e in a||(r[e]=1);for(const e in a)o[e]||(n[e]=a[e],o[e]=1);e[s]=a}else for(const e in i)o[e]=1}for(const e in r)e in n||(n[e]=void 0);return n}function Jn(e){return"object"==typeof e&&null!==e?e:{}}function Kn(e){e&&e.c()}function Gn(e,t,n){const{fragment:r,after_update:o}=e.$$;r&&r.m(t,n),Ln((()=>{const t=e.$$.on_mount.map(wt).filter($t);e.$$.on_destroy?e.$$.on_destroy.push(...t):St(t),e.$$.on_mount=[]})),o.forEach(Ln)}function Zn(e,t){const n=e.$$;null!==n.fragment&&(!function(e){const t=[],n=[];Sn.forEach((r=>-1===e.indexOf(r)?t.push(r):n.push(r))),n.forEach((e=>e())),Sn=t}(n.after_update),St(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function Yn(e,t,n,r,o,s,i=null,a=[-1]){const l=un;pn(e);const c=e.$$={fragment:null,ctx:[],props:s,update:yt,not_equal:o,bound:xt(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(l?l.$$.context:[])),callbacks:xt(),dirty:a,skip_bound:!1,root:t.target||l.$$.root};i&&i(c.root);let u=!1;if(c.ctx=n?n(e,t.props||{},((t,n,...r)=>{const s=r.length?r[0]:n;return c.ctx&&o(c.ctx[t],c.ctx[t]=s)&&(!c.skip_bound&&c.bound[t]&&c.bound[t](s),u&&function(e,t){-1===e.$$.dirty[0]&&(wn.push(e),En(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}function er(e,{store:t,animate:n=!0,clickActive:r=!0}={}){e.dataset.closing="false";const o=e.querySelector("summary");let s,i=null;for(const t of e.children)if("SUMMARY"!==t.tagName){i=t;break}let a,l=e.open;function c(t,r,o){const a=Math.max(0,30*Math.log(Math.abs(r-t)+Number.EPSILON));n?(e.style.overflow="hidden",i&&(i.style.overflow="hidden"),s=e.animate({height:[`${t}px`,`${r}px`]},{duration:a,easing:"ease-out"}),s.onfinish=()=>{e.open=o,e.dataset.closing="false",e.style.overflow=null,i&&(i.style.overflow=null)}):(e.open=o,e.dataset.closing="false",e.style.overflow=null,i&&(i.style.overflow=null))}function u(){if(n)if(l){const t=e.offsetHeight;s&&s.cancel(),e.open=!0;c(t,e.offsetHeight,!0)}else{const t=e.offsetHeight;s&&s.cancel();const n=o.offsetHeight;e.dataset.closing="true",c(t,n,!1)}else e.open=l}function f(e){r&&(e.preventDefault(),t.set(!l))}return t&&(a=lt(t,(t=>{l=t,e.open=l}),(async e=>{l=e,await Cn(),u()}))),o.addEventListener("click",f),{update(o){it(o.store)&&o.store!==t&&("function"==typeof a&&a(),t=o.store,a=lt(t,(t=>{l=t,e.open=l}),(async e=>{l=e,await Cn(),u()}))),"boolean"==typeof o.animate&&(n=o.animate),"boolean"==typeof o.clickActive&&(r=o.clickActive)},destroy(){"function"==typeof a&&a(),o.removeEventListener("click",f)}}}const tr=[];function nr(e,t){return{subscribe:rr(e,t).subscribe}}function rr(e,t=yt){let n;const r=new Set;function o(t){if(kt(e,t)&&(e=t,n)){const t=!tr.length;for(const t of r)t[1](),tr.push(t,e);if(t){for(let e=0;e{r.delete(l),0===r.size&&n&&(n(),n=null)}}}}function or({storage:e,serialize:t=JSON.stringify,deserialize:n=JSON.parse}){function r(e,t,n){return{subscribe:o(e,t,n).subscribe}}function o(r,o,s){if(e){const s=e.getItem(r);try{s&&(o=n(s))}catch(e){}e.setItem(r,t(o))}const i=rr(o,s?function(n){return s((function(o){return e&&e.setItem(r,t(o)),n(o)}),(function(e){a(e(Lt(i)))}))}:void 0);function a(n){e&&e.setItem(r,t(n)),i.set(n)}return{set:a,update:function(e){a(e(Lt(i)))},subscribe:function(e,t){return i.subscribe(e,t)}}}return{readable:r,writable:o,derived:function(t,o,s,i){const a=!Array.isArray(o),l=a?[o]:o;if(e&&e.getItem(t))try{i=n(e.getItem(t))}catch(e){}return r(t,i,((e,t)=>{let n=!1;const r=[];let o,i=0;const c=()=>{if(i)return;o?.();const n=a?r[0]:r;if(s.length<2)e(s(n));else{const r=s(n,e,t);"function"==typeof r&&(o=r)}},u=l.map(((e,t)=>e.subscribe((e=>{r[t]=e,i&=~(1<{i|=1<e())),o?.()}}))},storage:e,serialize:t,deserialize:n}}const sr=or({storage:globalThis?.localStorage}),ir=or({storage:globalThis?.sessionStorage});class ar{#a;#l=new Map;constructor(e){this.#a=e}#c(e,t=void 0,n){try{const r=this.#a.storage.getItem(e);if(null!==r){t=(n?.deserialize??this.#a.deserialize)(r)}}catch(e){}return(n?.writable??this.#a.writable)(e,t)}#u(e){return this.#l.get(e)?.deserialize??this.#a.deserialize}#f(e){return this.#l.get(e)?.serialize??this.#a.serialize}#d(e,t=void 0,n){const r=this.#l.get(e);if(r)return r.store;const o=this.#c(e,t,n);return this.#l.set(e,{store:o,deserialize:n?.deserialize,serialize:n?.serialize}),o}getItem(e,t){let n=t;const r=this.#a.storage.getItem(e);if(null!==r)try{n=this.#u(e)(r)}catch(e){n=t}else if(void 0!==t)try{const n=this.#f(e)(t);this.#a.storage.setItem(e,n)}catch(e){}return n}getStore(e,t,n){return this.#d(e,t,n)}hasStore(e){return this.#l.has(e)}setItem(e,t){this.#d(e).set(t)}swapItemBoolean(e,t){const n=this.#d(e,t);let r=!1;try{r=!!this.#u(e)(this.#a.storage.getItem(e))}catch(e){}const o="boolean"==typeof r&&!r;return n.set(o),o}*entries(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield[t,this.getStore(t)]);else for(const e of this.#l.keys())yield[e,this.getStore(e)]}*keys(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield t);else for(const e of this.#l.keys())yield e}*stores(e=void 0){if(void 0!==e&&!(e instanceof RegExp))throw new TypeError("'regex' is not a RegExp");if(this.#l.size)if(e)for(const t of this.#l.keys())e.test(t)&&(yield this.getStore(t));else for(const e of this.#l.keys())yield this.getStore(e)}}class lr extends ar{constructor(){super(sr)}}class cr extends ar{constructor(){super(ir)}}class ur{static#h=[];static#p=new cr;static#g;static get sessionStorage(){return this.#p}static initialize(e){globalThis.requestAnimationFrame((()=>{this.#m(e.storagePrepend),e.settingStores.themeAnimate.subscribe((e=>this.#y(e)))}))}static openOnThisPage({focus:e=!0}={}){const t=globalThis.document.querySelector("details.tsd-page-navigation");if(t){const n=t.querySelector("summary");n&&(this.#p.hasStore(this.#g)&&this.#p.getStore(this.#g).set(!0),e&&setTimeout((()=>n.focus({focusVisible:!0})),0))}}static#m(e){const t=document.querySelectorAll("details.tsd-accordion"),n=new Map;for(const r of t){const t=r.querySelector("summary");let o;t&&(o=`${e}-accordion-${t.dataset.key??t.textContent?.trim?.()?.replace(/\s+/g,"-").toLowerCase()}`),o===`${e}-accordion-on-this-page`&&(this.#g=o),"string"==typeof o&&o.length&&n.set(o,r)}const r=new RegExp(`${e}-accordion-(?section-|tsd-otp-)(?.*)`),o=new Map;for(const[t,s]of n){const n=r.exec(t);if(n){const t=`${e}-accordion-section-otp-${n.groups.key}`,r=o.get(t)??new Set;r.add(s),o.set(t,r)}else{const e=this.#p.getStore(t,s.open);this.#h.push(er(s,{store:e})),s.addEventListener("toggle",(t=>e.set(t.target.open)))}}const s=globalThis.location.hash;for(const[e,t]of o){const n=this.#p.getStore(e,!0);if(s)for(const e of t){Array.from(e.querySelectorAll("*")).find((e=>`#${e.id}`===s))&&n.set(!0)}for(const e of t)this.#h.push(er(e,{store:n})),e.addEventListener("toggle",(e=>n.set(e.target.open)))}setTimeout((()=>{for(const e of n.values()){const t=e.querySelector("summary svg");t&&t.classList.add("dmt-summary-svg")}}),500)}static#y(e){for(const t of this.#h)t?.update({animate:e})}}class fr{static#b=new Set(["KeyboardEvent","MouseEvent","PointerEvent"]);static#v=new Set(["MouseEvent","PointerEvent"]);static#w=!1;static get debug(){return this.#w}static set debug(e){if("boolean"!=typeof e)throw new TypeError("'debug' is not a boolean.");this.#w=e}static get prefersReducedMotion(){return globalThis?.matchMedia("(prefers-reduced-motion: reduce)")?.matches??!1}static applyFocusSource(e){if(!ut(e))return;const t=ut(e?.focusSource)?e.focusSource:e;setTimeout((()=>{const e="boolean"==typeof t.debug?this.debug||t.debug:this.debug;if(ct(t.focusEl)){e&&console.debug("A11yHelper.applyFocusSource debug - Attempting to apply focus target: ",t.focusEl);for(const n of t.focusEl){if(n?.nodeType===Node.ELEMENT_NODE&&n?.isConnected){n?.focus(),e&&console.debug("A11yHelper.applyFocusSource debug - Applied focus to target: ",n);break}if("string"==typeof n){const t=document.querySelector(n);if(t?.nodeType===Node.ELEMENT_NODE&&t?.isConnected){t?.focus(),e&&console.debug("A11yHelper.applyFocusSource debug - Applied focus to target: ",t);break}e&&console.debug("A11yHelper.applyFocusSource debug - Could not query selector: ",n)}}}else e&&console.debug("A11yHelper.applyFocusSource debug - No focus targets defined.")}),0)}static getFirstFocusableElement(e=document,t){const n=this.getFocusableElements(e,t);return n.length>0?n[0]:void 0}static getFocusableElements(e=document,{anchorHref:t=!0,ignoreClasses:n,ignoreElements:r,selectors:o}={}){if(e?.nodeType!==Node.ELEMENT_NODE&&e?.nodeType!==Node.DOCUMENT_NODE)throw new TypeError("'element' is not a HTMLElement, SVGElement, or Document instance.");if("boolean"!=typeof t)throw new TypeError("'anchorHref' is not a boolean.");if(void 0!==n&&!ct(n))throw new TypeError("'ignoreClasses' is not an iterable list.");if(void 0!==r&&!(r instanceof Set))throw new TypeError("'ignoreElements' is not a Set.");if(void 0!==o&&"string"!=typeof o)throw new TypeError("'selectors' is not a string.");const s=o??this.#x(t),i=[...e.querySelectorAll(s)];return r&&n?i.filter((e=>{let t=!1;for(const r of n)if(e.classList.contains(r)){t=!0;break}return!(t||r.has(e)||"none"===e.style.display||"hidden"===e.style.visibility||e.hasAttribute("disabled")||e.hasAttribute("inert")||"true"===e.getAttribute("aria-hidden"))})):n?i.filter((e=>{let t=!1;for(const r of n)if(e.classList.contains(r)){t=!0;break}return!t&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")})):r?i.filter((e=>!r.has(e)&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden"))):i.filter((e=>"none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")))}static#x(e=!0){return`button, [contenteditable=""], [contenteditable="true"], details summary:not([tabindex="-1"]), embed, a${e?"[href]":""}, iframe, object, input:not([type=hidden]), select, textarea, [tabindex]:not([tabindex="-1"])`}static getFocusSource({event:e,x:t,y:n,focusEl:r,debug:o=!1}){if(void 0!==r&&!this.isFocusSource(r))throw new TypeError("A11yHelper.getFocusSource error: 'focusEl' is not a HTMLElement, SVGElement, or string.");if(void 0!==o&&"boolean"!=typeof o)throw new TypeError("A11yHelper.getFocusSource error: 'debug' is not a boolean.");const s="boolean"==typeof o?this.debug||o:this.debug;if(void 0===e){if("number"!=typeof t)throw new TypeError("A11yHelper.getFocusSource error: 'event' not defined and 'x' is not a number.");if("number"!=typeof n)throw new TypeError("A11yHelper.getFocusSource error: 'event' not defined and 'y' is not a number.");const e={debug:o,focusEl:void 0!==r?[r]:void 0,x:t,y:n};return s&&console.debug("A11yHelper.getFocusSource debug: generated 'focusSource' without event: ",e),e}if(!fr.#b.has(e?.constructor?.name))throw new TypeError("A11yHelper.getFocusSource error: 'event' is not a KeyboardEvent, MouseEvent, or PointerEvent.");if(void 0!==t&&!Number.isInteger(t))throw new TypeError("A11yHelper.getFocusSource error: 'x' is not a number.");if(void 0!==n&&!Number.isInteger(n))throw new TypeError("A11yHelper.getFocusSource error: 'y' is not a number.");let i;if(e&&(fr.isFocusable(e.target)?(i=e.target,s&&console.debug("A11yHelper.getFocusSource debug: 'targetEl' set to event.target: ",i)):fr.isFocusable(e.currentTarget)?(i=e.currentTarget,s&&console.debug("A11yHelper.getFocusSource debug: 'targetEl' set to event.currentTarget: ",i)):s&&(console.debug("A11yHelper.getFocusSource debug: 'event.target' / 'event.currentTarget' are not focusable."),console.debug("A11yHelper.getFocusSource debug: 'event.target': ",e.target),console.debug("A11yHelper.getFocusSource debug: 'event.currentTarget': ",e.currentTarget)),i&&i?.nodeType!==Node.ELEMENT_NODE&&"function"!=typeof i?.focus))throw new TypeError("A11yHelper.getFocusSource error: 'targetEl' is not an HTMLElement or SVGElement.");const a={debug:o};if(fr.#v.has(e?.constructor?.name))if(2!==e?.button&&"contextmenu"===e.type){const o=(i??e.target).getBoundingClientRect();a.source="keyboard",a.x=t??o.left+o.width/2,a.y=n??o.top+o.height/2,a.focusEl=i?[i]:[],r&&a.focusEl.push(r)}else a.source="pointer",a.x=t??e.pageX,a.y=n??e.pageY,a.focusEl=i?[i]:[],r&&a.focusEl.push(r);else{const o=(i??e.target).getBoundingClientRect();a.source="keyboard",a.x=t??o.left+o.width/2,a.y=n??o.top+o.height/2,a.focusEl=i?[i]:[],r&&a.focusEl.push(r)}return s&&console.debug("A11yHelper.getFocusSource debug: generated 'focusSource' with event: ",a),a}static getLastFocusableElement(e=document,t){const n=this.getFocusableElements(e,t);return n.length>0?n[n.length-1]:void 0}static isFocusable(e,{anchorHref:t=!0,ignoreClasses:n}={}){if(null==e||e?.hidden||!e?.isConnected||e?.nodeType!==Node.ELEMENT_NODE||"function"!=typeof e?.focus)return!1;if("boolean"!=typeof t)throw new TypeError("'anchorHref' is not a boolean.");if(void 0!==n&&!ct(n))throw new TypeError("'ignoreClasses' is not an iterable list.");const r=e.getAttribute("contenteditable"),o="string"==typeof r&&(""===r||"true"===r),s=globalThis.parseInt(e.getAttribute("tabindex")),i=Number.isInteger(s)&&s>=0,a=e instanceof HTMLAnchorElement;return!!(o||i||a||e instanceof HTMLButtonElement||e instanceof HTMLDetailsElement||e instanceof HTMLEmbedElement||e instanceof HTMLIFrameElement||e instanceof HTMLInputElement||e instanceof HTMLObjectElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)&&(!(a&&!i&&t&&"string"!=typeof e.getAttribute("href"))&&("none"!==e.style.display&&"hidden"!==e.style.visibility&&!e.hasAttribute("disabled")&&!e.hasAttribute("inert")&&"true"!==e.getAttribute("aria-hidden")))}static isFocusSource(e){return"string"==typeof e||e?.nodeType===Node.ELEMENT_NODE&&"function"==typeof e?.focus}static isFocusTarget(e){return null!=e&&e?.nodeType===Node.ELEMENT_NODE&&"function"==typeof e?.focus}static isFocusWithin(e,t=globalThis){if(null==e||e?.hidden||!e?.isConnected)return!1;if("[object Window]"!==Object.prototype.toString.call(t))return!1;let n=t.document.activeElement;for(;n;){if(n===e)return!0;n=n.parentElement}return!1}}async function dr(e=1){if(!Number.isInteger(e)||e<1)throw new TypeError("nextAnimationFrame error: 'cntr' must be a positive integer greater than 0.");let t;for(;--e>=0;)t=await new Promise((e=>requestAnimationFrame(e)));return t}let hr=class{static searchPath(e,t,n){if(!e?.length)return!1;for(const n of e)if(!Array.isArray(n.children)&&n?.path===t)return!0;for(const r of e)if(Array.isArray(r.children)&&this.#S(r,t,n))return!0;return!1}static walk(e,t){for(const n of e)Array.isArray(n.children)&&this.#$(n,void 0,t)}static walkFrom(e,t){this.#$(e,void 0,t)}static#S(e,t,n){if(e.path===t)return!0;if(Array.isArray(e.children))for(const r of e.children){if(this.#S(r,t,n))return n({entry:e}),!0}return!1}static#$(e,t,n){if(Array.isArray(e.children))for(const t of e.children)this.#$(t,e,n);n({entry:e,parentEntry:t})}};class pr{#k;#T=!1;#E;#C;#L;#P;#O;constructor({currentPathURL:e,setCurrentPathURL:t,elementIndex:n,storagePrepend:r,treeName:o}){this.#C=t,this.#k=n,this.#L=r,this.#O=o,this.#E=new cr,this.#I(e),this.#A()}get elementIndex(){return this.#k}get hasData(){return this.#k?.length>0}get hasFolders(){return this.#T}get sessionStorage(){return this.#E}get storeFoldersAllOpen(){return this.#P}ensureCurrentPath(e,{setCurrent:t=!0}={}){const n=hr.searchPath(this.elementIndex,e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,!0)}));return n&&t&&this.#C(e,this.#O),n}setChildFolderState(e,t){hr.walkFrom(e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,t)}))}setFoldersAllOpen(e){for(const t of this.sessionStorage.stores())t.set(e)}swapFoldersAllOpen(){this.setFoldersAllOpen(!Lt(this.storeFoldersAllOpen))}#A(){this.#P=function(e,t,n){const r=!Array.isArray(e),o=r?[e]:e;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const s=t.length<2;return nr(n,((e,n)=>{let i=!1;const a=[];let l=0,c=yt;const u=()=>{if(l)return;c();const o=t(r?a[0]:a,e,n);s?e(o):c=$t(o)?o:yt},f=o.map(((e,t)=>Ct(e,(e=>{a[t]=e,l&=~(1<{l|=1<t(!!e.reduce(((e,t)=>e&t),!0))))}#M(e){return hr.searchPath(this.elementIndex,e,(({entry:e})=>{e.storageKey&&this.#E.setItem(e.storageKey,!0)}))}#D(){let e=0;hr.walk(this.#k,(({entry:t,parentEntry:n})=>{if(n||e++,!Array.isArray(t?.children))return;const r=n?n.path??n.text:"";t.storageKey=`${this.#L}-${t.path??`${r}-${t.text}`}`,this.#E.getStore(t.storageKey,!1)})),this.#T=e>0}#I(e){this.#D();const t=this.#M(e);if(t)this.#C(e,this.#O);else if(e.includes("#")){const n=e.split("#");if(!t){const e=n[0];e&&this.#M(e)&&this.#C(e,this.#O)}}}}class gr{#R="";#F;#N;#U;#j;#_;#Q;constructor(e,t,n){this.#N=e,this.#F=t.initialPathURL;const{subscribe:r,update:o}=rr(this.#F);this.#U=Object.freeze({subscribe:r}),this.#j=o;const s=t.storagePrepend,i=this.#C.bind(this);this.#_=new pr({currentPathURL:this.#F,setCurrentPathURL:i,elementIndex:n?.markdown??[],storagePrepend:`${s}-markdown`,treeName:"markdown"}),this.#Q=new pr({currentPathURL:this.#F,setCurrentPathURL:i,elementIndex:n?.source??[],storagePrepend:`${s}-source`,treeName:"source"}),this.#B(),globalThis.addEventListener("hashchange",this.#z.bind(this))}get activeTreeName(){return this.#R}get currentPathURL(){return this.#F}get markdown(){return this.#_}get source(){return this.#Q}get storeCurrentPathURL(){return this.#U}ensureCurrentPath({pathURL:e=this.#F,focus:t=!1}={}){let n=!1;n|=this.#_.ensureCurrentPath(e),n|=this.#Q.ensureCurrentPath(e),n&&t&&dr().then((()=>document.querySelector("nav.tsd-navigation")?.querySelector(`a[href*="${e}"]`)?.focus({focusVisible:!0})))}#B(){const e=this;function t(t){t.preventDefault();if(globalThis.location.href.split("#")[0]!==this.href.split("#")[0]||globalThis.location.hash!==this.hash)return void(globalThis.location.href=this.href);const n=this.href.replace(e.#N.baseURL,"");if(!e.ensureCurrentPath({pathURL:n})&&n.includes("#")){const t=n.split("#");t[0]&&e.ensureCurrentPath({pathURL:t[0]})}}const n=document.querySelectorAll('div.col-content a[href*="#"], details.tsd-page-navigation a[href*="#"]');for(const e of n)e.addEventListener("click",t)}#z(e){const t=e.newURL.replace(this.#N.baseURL,"");if(!this.ensureCurrentPath({pathURL:t})&&t.includes("#")){const e=t.split("#")[0];e&&this.ensureCurrentPath({pathURL:e})}}#C(e,t){switch(t){case"markdown":case"source":this.#R=t;break;default:this.#R=""}this.#F=e,this.#j((()=>e))}}class mr{#H;constructor(e,t){this.#H=new gr(this,e,t)}get treeState(){return this.#H}}var yr,br={exports:{}}; +/** + * 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 + */var vr,wr=(yr||(yr=1,vr=br,function(){var e,t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m,y,b,v,w,x,S,$,k,T,E,C,L,P=function(e){var t=new P.Builder;return t.pipeline.add(P.trimmer,P.stopWordFilter,P.stemmer),t.searchPipeline.add(P.stemmer),e.call(t,t),t.build()};P.version="2.3.9", +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +P.utils={},P.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),P.utils.asString=function(e){return null==e?"":e.toString()},P.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=P.utils.clone(t)||{};l.position=[i,a],l.index=o.length,o.push(new P.Token(n.slice(i,s),l))}i=s+1}}return o},P.tokenizer.separator=/[\s\-]+/, +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +P.Pipeline=function(){this._stack=[]},P.Pipeline.registeredFunctions=Object.create(null),P.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&P.utils.warn("Overwriting existing registered function: "+t),e.label=t,P.Pipeline.registeredFunctions[e.label]=e},P.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||P.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},P.Pipeline.load=function(e){var t=new P.Pipeline;return e.forEach((function(e){var n=P.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},P.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){P.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},P.Pipeline.prototype.after=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},P.Pipeline.prototype.before=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},P.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},P.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(se&&(n=o),s!=e);)r=n-t,o=t+Math.floor(r/2),s=this.elements[2*o];return s==e||s>e?2*o:sa?c+=2:i==a&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},P.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},P.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var s,i=o.str.charAt(0);i in o.node.edges?s=o.node.edges[i]:(s=new P.TokenSet,o.node.edges[i]=s),1==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var a=o.node.edges["*"];else a=new P.TokenSet,o.node.edges["*"]=a;if(0==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else l=new P.TokenSet,o.node.edges["*"]=l;1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),f=o.str.charAt(1);f in o.node.edges?c=o.node.edges[f]:(c=new P.TokenSet,o.node.edges[f]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},P.TokenSet.fromString=function(e){for(var t=new P.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}}, +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +P.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},P.Index.prototype.search=function(e){return this.query((function(t){new P.QueryParser(e,t).parse()}))},P.Index.prototype.query=function(e){for(var t=new P.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),s=Object.create(null),i=Object.create(null),a=0;a1?1:e},P.Builder.prototype.k1=function(e){this._k1=e},P.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return P.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},P.QueryLexer.prototype.width=function(){return this.pos-this.start},P.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},P.QueryLexer.prototype.backup=function(){this.pos-=1},P.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=P.QueryLexer.EOS&&this.backup()},P.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(P.QueryLexer.TERM)),e.ignore(),e.more())return P.QueryLexer.lexText},P.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.EDIT_DISTANCE),P.QueryLexer.lexText},P.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.BOOST),P.QueryLexer.lexText},P.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(P.QueryLexer.TERM)},P.QueryLexer.termSeparator=P.tokenizer.separator,P.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==P.QueryLexer.EOS)return P.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return P.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if(t.match(P.QueryLexer.termSeparator))return P.QueryLexer.lexTerm}else e.escapeCharacter()}},P.QueryParser=function(e,t){this.lexer=new P.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},P.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=P.QueryParser.parseClause;e;)e=e(this);return this.query},P.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},P.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},P.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},P.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case P.QueryLexer.PRESENCE:return P.QueryParser.parsePresence;case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new P.QueryParseError(n,t.start,t.end)}},P.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=P.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=P.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new P.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r)throw n="expecting term or field, found nothing",new P.QueryParseError(n,t.start,t.end);switch(r.type){case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:throw n="expecting term or field, found '"+r.type+"'",new P.QueryParseError(n,r.start,r.end)}}},P.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o)throw r="expecting term, found nothing",new P.QueryParseError(r,t.start,t.end);if(o.type===P.QueryLexer.TERM)return P.QueryParser.parseTerm;throw r="expecting term, found '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}},P.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new P.QueryParseError(r,n.start,n.end)}else e.nextClause()}},P.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},P.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:throw r="Unexpected lexeme type '"+o.type+"'",new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},vr.exports=P}()),br.exports);function xr(e,t){if(""===t)return e;const n=e.toLocaleLowerCase(),r=t.toLocaleLowerCase(),o=[];let s=0,i=n.indexOf(r);for(;-1!==i;)o.push($r(e.substring(s,i)),`${$r(e.substring(i,i+r.length))}`),s=i+r.length,i=n.indexOf(r,s);return o.push($r(e.substring(s))),o.join("")}const Sr={"&":"&","<":"<",">":">","'":"'",'"':"""};function $r(e){return e.replace(/[&<>"']/g,(e=>Sr[e]))}class kr{static async getDimensions(e,{accessor:t="url",warn:n=!1}={}){const r=[],o=[],s=[],i=ct(e)?e:[e];for(const e of i){let o;"string"==typeof e?o=e:ut(e)&&(o=ft(e,t)),"string"==typeof o?r.push(new Promise(((e,t)=>{const n=new Image;n.src=o,n.onload=()=>e({url:o,width:n.naturalWidth,height:n.naturalHeight}),n.onerror=()=>t({url:o})}))):n&&console.warn("ImageData.getDimensions warning: Failed to locate target URL.")}const a=await Promise.allSettled(r);for(const e of a)switch(e.status){case"fulfilled":o.push(e.value);break;case"rejected":s.push(e.reason)}return{fulfilled:o,rejected:s}}}function Tr(e,t){const n={icons:[],totalWidth:0},r=[];r.push(...t?.iconLinks?.user??[]),r.push(...t?.iconLinks?.service??[]);for(const t of r)n.icons.push({iconURL:"string"==typeof t.dmtPath?`${e.dmtURL}${t.dmtPath}`:t.iconURL,title:t.title,url:t.url});const o=rr(n),s=`${e.storagePrepend}-toolbar-iconlinks-width`;if(0===n.icons.length)globalThis.sessionStorage.removeItem(s);else{const t=e.dmtSessionStorage.getItem(s);Number.isFinite(t)&&t>0?n.totalWidth=t:kr.getDimensions(n.icons,{accessor:"iconURL"}).then((({fulfilled:t,rejected:r})=>{r.length?globalThis.sessionStorage.removeItem(s):(o.update((e=>{for(const n of t){const t=24/n.height*n.width;e.totalWidth+=t+8}return e.totalWidth+=dt.remPixels(.35)*(t.length-1),e})),e.dmtSessionStorage.setItem(s,Math.floor(n.totalWidth)))}))}return o}const Er="docs-dmt-theme-animate";function Cr(e){let t,n,r,o,s,i,a,l,c,u,f;return{c(){t=Kt("label"),n=Kt("input"),r=Yt(),o=Gt("svg"),s=Gt("rect"),i=Gt("path"),a=Yt(),l=Kt("span"),c=Zt(e[1]),nn(n,"type","checkbox"),nn(n,"class","svelte-1y7unmi"),nn(s,"class","tsd-checkbox-background"),nn(s,"width","30"),nn(s,"height","30"),nn(s,"x","1"),nn(s,"y","1"),nn(s,"rx","6"),nn(s,"fill","none"),nn(i,"class","tsd-checkbox-checkmark"),nn(i,"d","M8.35422 16.8214L13.2143 21.75L24.6458 10.25"),nn(i,"stroke","none"),nn(i,"stroke-width","3.5"),nn(i,"stroke-linejoin","round"),nn(i,"fill","none"),nn(o,"width","32"),nn(o,"height","32"),nn(o,"viewBox","0 0 32 32"),nn(o,"aria-hidden","true"),nn(o,"class","svelte-1y7unmi"),nn(t,"class","svelte-1y7unmi")},m(d,h){Wt(d,t,h),Ht(t,n),n.checked=e[2],Ht(t,r),Ht(t,o),Ht(o,s),Ht(o,i),Ht(t,a),Ht(t,l),Ht(l,c),u||(f=en(n,"change",e[3]),u=!0)},p(e,[t]){4&t&&(n.checked=e[2]),2&t&&rn(c,e[1])},i:yt,o:yt,d(e){e&&Jt(t),u=!1,f()}}}function Lr(e,t,n){let r,o=yt,s=()=>(o(),o=Ct(i,(e=>n(2,r=e))),i);e.$$.on_destroy.push((()=>o()));let{store:i}=t;s();let{label:a}=t;return e.$$set=e=>{"store"in e&&s(n(0,i=e.store)),"label"in e&&n(1,a=e.label)},[i,a,r,function(){r=this.checked,i.set(r)}]}"undefined"!=typeof window&&(window.__svelte||(window.__svelte={v:new Set})).v.add("4");class Pr extends Xn{constructor(e){super(),Yn(this,e,Lr,Cr,kt,{store:0,label:1})}}function Or(e){let t,n,r=at(e[0].themeAnimate),o=r&&function(e){let t,n,r;return n=new Pr({props:{store:e[0].themeAnimate,label:"Animation"}}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","svelte-20evnz")},m(e,o){Wt(e,t,o),Gn(n,t,null),r=!0},p:yt,i(e){r||(jn(n.$$.fragment,e),r=!0)},o(e){_n(n.$$.fragment,e),r=!1},d(e){e&&Jt(t),Zn(n)}}}(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,[t]){r&&o.p(e,t)},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}function Ir(e){const{settingStores:t}=bn("#dmtComponentData");return[t]}function Ar(e,t){function n(){if(ut(t))for(const n of Object.keys(t))e.style.setProperty(`${n}`,t[n])}return n(),{update:e=>{t=e,n()}}}class Mr{static isComponent(e){if(null==e||"function"!=typeof e)return!1;const t=e?.prototype?.constructor?.name;return!("string"!=typeof t||!t.startsWith("Proxy<")&&"ProxyComponent"!==t)||("undefined"!=typeof window?"function"==typeof e.prototype.$destroy&&"function"==typeof e.prototype.$on:"function"==typeof e.render)}static isHMRProxy(e){const t=e?.constructor?.name;if("string"==typeof t&&(t.startsWith("Proxy<")||"ProxyComponent"===t))return!0;const n=e?.prototype?.constructor?.name;return"string"==typeof n&&(n.startsWith("Proxy<")||"ProxyComponent"===n)}static async outroAndDestroy(e){return null==e?Promise.resolve():new Promise((t=>{e?.$$?.fragment&&e?.$$?.fragment?.o?(Nn(),_n(e.$$.fragment,0,0,(()=>{e?.$destroy?.(),t()})),Un()):(e?.$destroy?.(),t())}))}}Object.seal(Mr);function Dr(e,t){return e}Object.seal(class{static isConfig(e,{raiseException:t=!1}={}){if(!ut(e)){if(t)throw new TypeError("TJSSvelteConfigUtil.isConfig error: 'config' is not an object.");return!1}if(!Mr.isComponent(e.class)){if(t)throw new TypeError("TJSSvelteConfigUtil.isConfig error: 'config.class' is not a Svelte component constructor.");return!1}return!0}static parseConfig(e,t=void 0){if(!ut(e))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'config' is not an object:\n${JSON.stringify(e)}.`);if(!Mr.isComponent(e.class))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'class' is not a Svelte component constructor for config:\n${JSON.stringify(e)}.`);if(void 0!==e.hydrate&&"boolean"!=typeof e.hydrate)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'hydrate' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.intro&&"boolean"!=typeof e.intro)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'intro' is not a boolean for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.target||"string"==typeof e.target||e.target instanceof Element||e.target instanceof ShadowRoot||e.target instanceof DocumentFragment))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'target' is not a Element, ShadowRoot, or DocumentFragment for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.anchor||"string"==typeof e.anchor||e.anchor instanceof Element||e.anchor instanceof ShadowRoot||e.anchor instanceof DocumentFragment))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'anchor' is not a string, Element for config:\n${JSON.stringify(e)}.`);if(!(void 0===e.context||"function"==typeof e.context||e.context instanceof Map||ut(e.context)))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'context' is not a Map, function or object for config:\n${JSON.stringify(e)}.`);if(void 0!==e.selectorTarget&&"string"!=typeof e.selectorTarget)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'selectorTarget' is not a string for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options&&!ut(e.options))throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options' is not an object for config:\n${JSON.stringify(e)}.`);if(ut(e.options)){if(void 0!==e.options.injectApp&&"boolean"!=typeof e.options.injectApp)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options.injectApp' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options.injectEventbus&&"boolean"!=typeof e.options.injectEventbus)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'options.injectEventbus' is not a boolean for config:\n${JSON.stringify(e)}.`);if(void 0!==e.options.selectorElement&&"string"!=typeof e.options.selectorElement)throw new TypeError(`TJSSvelteConfigUtil.parseConfig - 'selectorElement' is not a string for config:\n${JSON.stringify(e)}.`)}const n={...e};delete n.options;let r={};if("function"==typeof n.context){const o=n.context;delete n.context;const s=o.call(t);if(!ut(s))throw new Error(`TJSSvelteConfigUtil.parseConfig - 'context' is a function that did not return an object for config:\n${JSON.stringify(e)}`);r={...s}}else n.context instanceof Map?(r=Object.fromEntries(n.context),delete n.context):ut(n.context)&&(r=n.context,delete n.context);if(n.props=this.#q(n.props,t,e),Array.isArray(n.children)){const o=[];for(let r=0;r0&&(r.children=o),delete n.children}else if(ut(n.children)){if(!Mr.isComponent(n.children.class))throw new Error(`TJSSvelteConfigUtil.parseConfig - 'class' is not a Svelte component for children object for config:\n${JSON.stringify(e)}`);n.children.props=this.#q(n.children.props,t,e),r.children=[n.children],delete n.children}return n.context instanceof Map||(n.context=new Map),n.context.set("#external",r),n}static#q(e,t,n){if("function"==typeof e){const r=e.call(t);if(ut(r))return r;throw new Error(`TJSSvelteConfigUtil.parseConfig - 'props' is a function that did not return an object for config:\n${JSON.stringify(n)}`)}if(ut(e))return e;if(void 0!==e)throw new Error(`TJSSvelteConfigUtil.parseConfig - 'props' is not a function or an object for config:\n${JSON.stringify(n)}`);return{}}});const Rr=e=>({}),Fr=e=>({}),Nr=e=>({}),Ur=e=>({});function jr(e){let t;return{c(){t=Kt("div"),nn(t,"class","tjs-folder-focus-indicator svelte-1jmqrcb")},m(e,n){Wt(e,t,n)},d(e){e&&Jt(t)}}}function _r(e){let t,n,r=Dr(e[2])+"";return{c(){t=Kt("div"),n=Zt(r),nn(t,"class","label svelte-1jmqrcb")},m(r,o){Wt(r,t,o),Ht(t,n),e[36](t)},p(e,t){4&t[0]&&r!==(r=Dr(e[2])+"")&&rn(n,r)},i:yt,o:yt,d(n){n&&Jt(t),e[36](null)}}}function Qr(e){let t,n,r;const o=[ut(e[5]?.slotLabel?.props)?e[5].slotLabel.props:{}];var s=e[5].slotLabel.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotLabel?.props)?e[5].slotLabel.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Br(e){let t,n,r;const o=[ut(e[5]?.slotSummaryEnd?.props)?e[5].slotSummaryEnd.props:{}];var s=e[5].slotSummaryEnd.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotSummaryEnd?.props)?e[5].slotSummaryEnd.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function zr(e){let t,n,r;const o=[ut(e[5]?.slotDefault?.props)?e[5].slotDefault.props:{}];var s=e[5].slotDefault.class;function i(e,t){let n={};for(let e=0;e{Zn(e,1)})),Un()}s?(t=ln(s,i(e,r)),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}else if(s){const n=32&r[0]?Wn(o,[Jn(ut(e[5]?.slotDefault?.props)?e[5].slotDefault.props:{})]):{};t.$set(n)}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Hr(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m=e[8].focusIndicator&&jr();const y=e[27].label,b=Ot(y,e,e[26],Ur),v=b||function(e){let t,n,r,o,s;const i=[Qr,_r],a=[];function l(e,n){return 32&n[0]&&(t=null),null==t&&(t=!!Mr.isComponent(e[5]?.slotLabel?.class)),t?0:1}return n=l(e,[-1,-1]),r=a[n]=i[n](e),{c(){r.c(),o=Xt()},m(e,t){a[n].m(e,t),Wt(e,o,t),s=!0},p(e,t){let s=n;n=l(e,t),n===s?a[n].p(e,t):(Nn(),_n(a[s],1,1,(()=>{a[s]=null})),Un(),r=a[n],r?r.p(e,t):(r=a[n]=i[n](e),r.c()),jn(r,1),r.m(o.parentNode,o))},i(e){s||(jn(r),s=!0)},o(e){_n(r),s=!1},d(e){e&&Jt(o),a[n].d(e)}}}(e),w=e[27]["summary-end"],x=Ot(w,e,e[26],Fr),S=x||function(e){let t,n,r=Mr.isComponent(e[5]?.slotSummaryEnd?.class),o=r&&Br(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,n){32&n[0]&&(r=Mr.isComponent(e[5]?.slotSummaryEnd?.class)),r?o?(o.p(e,n),32&n[0]&&jn(o,1)):(o=Br(e),o.c(),jn(o,1),o.m(t.parentNode,t)):o&&(Nn(),_n(o,1,1,(()=>{o=null})),Un())},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}(e),$=e[27].default,k=Ot($,e,e[26],null),T=k||function(e){let t,n,r=Mr.isComponent(e[5]?.slotDefault?.class),o=r&&zr(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r),n=!0},p(e,n){32&n[0]&&(r=Mr.isComponent(e[5]?.slotDefault?.class)),r?o?(o.p(e,n),32&n[0]&&jn(o,1)):(o=zr(e),o.c(),jn(o,1),o.m(t.parentNode,t)):o&&(Nn(),_n(o,1,1,(()=>{o=null})),Un())},i(e){n||(jn(o),n=!0)},o(e){_n(o),n=!1},d(e){e&&Jt(t),o&&o.d(e)}}}(e);return{c(){t=Kt("details"),n=Kt("summary"),r=Gt("svg"),o=Gt("path"),s=Yt(),m&&m.c(),i=Yt(),v&&v.c(),a=Yt(),S&&S.c(),l=Yt(),c=Kt("div"),T&&T.c(),nn(o,"fill","currentColor"),nn(o,"stroke","currentColor"),sn(o,"stroke-linejoin","round"),sn(o,"stroke-width","3"),nn(o,"d","M5,8L19,8L12,15Z"),nn(r,"viewBox","0 0 24 24"),nn(r,"class","svelte-1jmqrcb"),an(r,"focus-chevron",e[8].focusChevron),nn(n,"role","button"),nn(n,"tabindex","0"),nn(n,"class","svelte-1jmqrcb"),an(n,"default-cursor",e[8].chevronOnly),an(n,"remove-focus-visible",e[8].focusIndicator||e[8].focusChevron),nn(c,"class","contents svelte-1jmqrcb"),nn(c,"aria-hidden",u=!e[12]),an(c,"hidden",!e[12]),nn(t,"class","tjs-svg-folder svelte-1jmqrcb"),nn(t,"data-id",e[1]),nn(t,"data-label",e[2]),nn(t,"data-closing","false")},m(u,y){Wt(u,t,y),Ht(t,n),Ht(n,r),Ht(r,o),e[35](r),Ht(n,s),m&&m.m(n,null),Ht(n,i),v&&v.m(n,null),Ht(n,a),S&&S.m(n,null),e[37](n),Ht(t,l),Ht(t,c),T&&T.m(c,null),e[38](t),h=!0,p||(g=[en(n,"click",e[13]),en(n,"contextmenu",e[14]),en(n,"keydown",e[15],!0),en(n,"keyup",e[16],!0),en(t,"close",e[17]),en(t,"open",e[18]),en(t,"toggle",e[39]),en(t,"click",e[28]),en(t,"keydown",e[29]),en(t,"keyup",e[30]),en(t,"open",e[31]),en(t,"close",e[32]),en(t,"openAny",e[33]),en(t,"closeAny",e[34]),Nt(f=er.call(null,t,{store:e[3],animate:e[0],clickActive:!1})),Nt(d=Ar.call(null,t,e[4]))],p=!0)},p(e,o){(!h||256&o[0])&&an(r,"focus-chevron",e[8].focusChevron),e[8].focusIndicator?m||(m=jr(),m.c(),m.m(n,i)):m&&(m.d(1),m=null),b?b.p&&(!h||67108864&o[0])&&Mt(b,y,e,e[26],h?At(y,e[26],o,Nr):Dt(e[26]),Ur):v&&v.p&&(!h||548&o[0])&&v.p(e,h?o:[-1,-1]),x?x.p&&(!h||67108864&o[0])&&Mt(x,w,e,e[26],h?At(w,e[26],o,Rr):Dt(e[26]),Fr):S&&S.p&&(!h||32&o[0])&&S.p(e,h?o:[-1,-1]),(!h||256&o[0])&&an(n,"default-cursor",e[8].chevronOnly),(!h||256&o[0])&&an(n,"remove-focus-visible",e[8].focusIndicator||e[8].focusChevron),k?k.p&&(!h||67108864&o[0])&&Mt(k,$,e,e[26],h?At($,e[26],o,null):Dt(e[26]),null):T&&T.p&&(!h||32&o[0])&&T.p(e,h?o:[-1,-1]),(!h||4096&o[0]&&u!==(u=!e[12]))&&nn(c,"aria-hidden",u),(!h||4096&o[0])&&an(c,"hidden",!e[12]),(!h||2&o[0])&&nn(t,"data-id",e[1]),(!h||4&o[0])&&nn(t,"data-label",e[2]),f&&$t(f.update)&&9&o[0]&&f.update.call(null,{store:e[3],animate:e[0],clickActive:!1}),d&&$t(d.update)&&16&o[0]&&d.update.call(null,e[4])},i(e){h||(jn(v,e),jn(S,e),jn(T,e),h=!0)},o(e){_n(v,e),_n(S,e),_n(T,e),h=!1},d(n){n&&Jt(t),e[35](null),m&&m.d(),v&&v.d(n),S&&S.d(n),e[37](null),T&&T.d(n),e[38](null),p=!1,St(g)}}}function qr(e,t,n){let r,o=yt,s=()=>(o(),o=Ct(p,(e=>n(7,r=e))),p);e.$$.on_destroy.push((()=>o()));let{$$slots:i={},$$scope:a}=t,{folder:l}=t,{animate:c}=t,{id:u}=t,{label:f}=t,{keyCode:d}=t,{options:h}=t,{store:p}=t;s();let{styles:g}=t,{onClose:m}=t,{onOpen:y}=t,{onContextMenu:b}=t;const v=bn("#external")?.application,w={chevronOnly:!1,focusChevron:!1,focusIndicator:!1};let x,S,$,k,T,E,C=r;var L;function P(e,t=!1){return new CustomEvent(e,{detail:{element:x,folder:l,id:u,label:f,store:p},bubbles:t})}function O(e,t=!1){const n=e.target,o=n===k||k.contains(n);if(n===$||n===S||o){if(!t&&w.chevronOnly&&!o)return e.preventDefault(),void e.stopPropagation();Ft(p,r=!r,r),r&&"function"==typeof y?y({event:e,element:x,folder:l,id:u,label:f,store:p}):r||"function"!=typeof m||m({event:e,element:x,folder:l,id:u,label:f,store:p})}e.preventDefault(),e.stopPropagation()}L=()=>T(),gn().$$.on_destroy.push(L);return e.$$set=e=>{"folder"in e&&n(5,l=e.folder),"animate"in e&&n(0,c=e.animate),"id"in e&&n(1,u=e.id),"label"in e&&n(2,f=e.label),"keyCode"in e&&n(19,d=e.keyCode),"options"in e&&n(20,h=e.options),"store"in e&&s(n(3,p=e.store)),"styles"in e&&n(4,g=e.styles),"onClose"in e&&n(21,m=e.onClose),"onOpen"in e&&n(22,y=e.onOpen),"onContextMenu"in e&&n(23,b=e.onContextMenu),"$$scope"in e&&n(26,a=e.$$scope)},e.$$.update=()=>{33&e.$$.dirty[0]&&n(0,c=ut(l)&&"boolean"==typeof l.animate?l.animate:"boolean"!=typeof c||c),34&e.$$.dirty[0]&&n(1,u=ut(l)&&"string"==typeof l.id?l.id:"string"==typeof u?u:void 0),36&e.$$.dirty[0]&&n(2,f=ut(l)&&"string"==typeof l.label?l.label:"string"==typeof f?f:""),524320&e.$$.dirty[0]&&n(19,d=ut(l)&&"string"==typeof l.keyCode?l.keyCode:"string"==typeof d?d:"Enter"),1048608&e.$$.dirty[0]&&(n(20,h=ut(l)&&ut(l.options)?l.options:ut(h)?h:{}),"boolean"==typeof h?.chevronOnly&&n(8,w.chevronOnly=h.chevronOnly,w),"boolean"==typeof h?.focusChevron&&n(8,w.focusChevron=h.focusChevron,w),"boolean"==typeof h?.focusIndicator&&n(8,w.focusIndicator=h.focusIndicator,w)),16777320&e.$$.dirty[0]&&(s(n(3,p=ut(l)&&it(l.store)?l.store:it(p)?p:rr(!1))),"function"==typeof T&&T(),n(24,T=function(e,t){let n=!1;return e.subscribe((e=>{n?t(e):n=!0}))}(p,(e=>{x&&(x.dispatchEvent(P(e?"open":"close")),x.dispatchEvent(P(e?"openAny":"closeAny",!0)))})))),48&e.$$.dirty[0]&&n(4,g=ut(l)&&ut(l.styles)?l.styles:ut(g)?g:void 0),2097184&e.$$.dirty[0]&&n(21,m=ut(l)&&"function"==typeof l.onClose?l.onClose:"function"==typeof m?m:void 0),4194336&e.$$.dirty[0]&&n(22,y=ut(l)&&"function"==typeof l.onOpen?l.onOpen:"function"==typeof y?y:void 0),8388640&e.$$.dirty[0]&&n(23,b=ut(l)&&"function"==typeof l.onContextMenu?l.onContextMenu:"function"==typeof b?b:void 0),33554560&e.$$.dirty[0]&&(r?(clearTimeout(E),n(12,C=!0)):n(25,E=setTimeout((()=>n(12,C=!1)),500)))},[c,u,f,p,g,l,x,r,w,S,$,k,C,function(e){if((v?.reactive?.activeWindow??globalThis).document.activeElement===$&&(-1===e?.pointerId||6===e?.mozInputSource))return e.preventDefault(),void e.stopPropagation();O(e)},function(e){"function"==typeof b&&b({event:e,element:x,folder:l,id:u,label:f,store:p})},function(e){(v?.reactive?.activeWindow??globalThis).document.activeElement===$&&e.code===d&&(e.preventDefault(),e.stopPropagation())},function(e){(v?.reactive?.activeWindow??globalThis).document.activeElement===$&&e.code===d&&(O(e,!0),e.preventDefault(),e.stopPropagation())},function(e){e.preventDefault(),e.stopPropagation(),p.set(!1)},function(e){e.preventDefault(),e.stopPropagation(),p.set(!0)},d,h,m,y,b,T,E,a,i,function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},function(e){xn[e?"unshift":"push"]((()=>{k=e,n(11,k)}))},function(e){xn[e?"unshift":"push"]((()=>{S=e,n(9,S)}))},function(e){xn[e?"unshift":"push"]((()=>{$=e,n(10,$)}))},function(e){xn[e?"unshift":"push"]((()=>{x=e,n(6,x)}))},()=>n(6,x.open=r,x)]}class Vr extends Xn{constructor(e){super(),Yn(this,e,qr,Hr,kt,{folder:5,animate:0,id:1,label:2,keyCode:19,options:20,store:3,styles:4,onClose:21,onOpen:22,onContextMenu:23},null,[-1,-1])}}function Wr(e){let t,n,r=e[0].text+"";return{c(){t=Kt("span"),n=Zt(r),nn(t,"class","svelte-14yttr0"),an(t,"indent-icon","indent-icon"===e[1]),an(t,"indent-no-icon","indent-no-icon"===e[1])},m(e,r){Wt(e,t,r),Ht(t,n)},p(e,o){1&o&&r!==(r=e[0].text+"")&&rn(n,r),2&o&&an(t,"indent-icon","indent-icon"===e[1]),2&o&&an(t,"indent-no-icon","indent-no-icon"===e[1])},d(e){e&&Jt(t)}}}function Jr(e){let t,n,r,o,s,i,a=e[0].text+"",l=e[5]&&function(e){let t,n;return{c(){t=Gt("svg"),n=Gt("use"),nn(n,"href",`#icon-${e[5]}`),nn(t,"class","tsd-kind-icon svelte-14yttr0"),nn(t,"viewBox","0 0 24 24")},m(e,r){Wt(e,t,r),Ht(t,n)},p:yt,d(e){e&&Jt(t)}}}(e);return{c(){t=Kt("a"),l&&l.c(),n=Yt(),r=Kt("span"),o=Zt(a),nn(r,"class","svelte-14yttr0"),nn(t,"href",e[6]),nn(t,"data-storage-key",e[2]),nn(t,"class","svelte-14yttr0"),an(t,"current",e[3]),an(t,"indent-icon","indent-icon"===e[1]),an(t,"indent-no-icon","indent-no-icon"===e[1]),an(t,"indent-none","indent-none"===e[1])},m(a,c){var u;Wt(a,t,c),l&&l.m(t,null),Ht(t,n),Ht(t,r),Ht(r,o),s||(i=en(t,"click",tn((u=e[7],function(e){return e.preventDefault(),u.call(this,e)}))),s=!0)},p(e,n){e[5]&&l.p(e,n),1&n&&a!==(a=e[0].text+"")&&rn(o,a),4&n&&nn(t,"data-storage-key",e[2]),8&n&&an(t,"current",e[3]),2&n&&an(t,"indent-icon","indent-icon"===e[1]),2&n&&an(t,"indent-no-icon","indent-no-icon"===e[1]),2&n&&an(t,"indent-none","indent-none"===e[1])},d(e){e&&Jt(t),l&&l.d(),s=!1,i()}}}function Kr(e){let t;let n=function(e){return e[6]?Jr:Wr}(e),r=n(e);return{c(){r.c(),t=Xt()},m(e,n){r.m(e,n),Wt(e,t,n)},p(e,[t]){r.p(e,t)},i:yt,o:yt,d(e){e&&Jt(t),r.d(e)}}}function Gr(e,t,n){let r,o,{entry:s}=t,{removeIcon:i=!1}=t,{indentIcon:a}=t,{storageKey:l=null}=t;const{basePath:c,navigation:u}=bn("#dmtComponentData"),f=u.treeState.storeCurrentPathURL;Pt(e,f,(e=>n(9,o=e)));const d=!i&&s.kind?s.kind:void 0,h=s.path?`${c}${s.path}`:void 0;return e.$$set=e=>{"entry"in e&&n(0,s=e.entry),"removeIcon"in e&&n(8,i=e.removeIcon),"indentIcon"in e&&n(1,a=e.indentIcon),"storageKey"in e&&n(2,l=e.storageKey)},e.$$.update=()=>{513&e.$$.dirty&&n(3,r=!!s.path&&s.path===o)},[s,a,l,r,f,d,h,function(){globalThis.location.href=h},i,o]}class Zr extends Xn{constructor(e){super(),Yn(this,e,Gr,Kr,kt,{entry:0,removeIcon:8,indentIcon:1,storageKey:2})}}function Yr(e,t,n){const r=e.slice();return r[14]=t[n],r}function Xr(e){let t,n;return t=new Zr({props:{entry:e[14],indentIcon:e[6],removeIcon:!e[2]&&2===e[14]?.kind}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[14]),1&n&&(r.removeIcon=!e[2]&&2===e[14]?.kind),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function eo(e){let t,n;return t=new io({props:{entry:e[14],parentIcon:!e[5]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[14]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function to(e,t){let n,r,o,s,i,a;const l=[eo,Xr],c=[];function u(e,t){return 1&t&&(r=null),null==r&&(r=!!Array.isArray(e[14].children)),r?0:1}return o=u(t,-1),s=c[o]=l[o](t),{key:e,first:null,c(){n=Xt(),s.c(),i=Xt(),this.first=n},m(e,t){Wt(e,n,t),c[o].m(e,t),Wt(e,i,t),a=!0},p(e,n){let r=o;o=u(t=e,n),o===r?c[o].p(t,n):(Nn(),_n(c[r],1,1,(()=>{c[r]=null})),Un(),s=c[o],s?s.p(t,n):(s=c[o]=l[o](t),s.c()),jn(s,1),s.m(i.parentNode,i))},i(e){a||(jn(s),a=!0)},o(e){_n(s),a=!1},d(e){e&&(Jt(n),Jt(i)),c[o].d(e)}}}function no(e){let t,n,r=[],o=new Map,s=zn(e[0].children);const i=e=>e[14].path;for(let t=0;tn(1,r=e)));const c=bn("#treeState"),u=o.storageKey,f=u?c.sessionStorage.getStore(u,!1):void 0,d=!a&&(void 0===o.kind||2===o.kind),h=d?"indent-no-icon":"indent-icon",p={store:f,options:{focusChevron:!0},styles:s?{"--tjs-folder-details-margin-left":"3.5px"}:void 0};return e.$$set=e=>{"entry"in e&&n(0,o=e.entry),"parentIcon"in e&&n(10,s=e.parentIcon)},[o,r,a,l,u,d,h,p,function(e){e?.event?.altKey&&c.setChildFolderState(o,!1)},function(e){e?.event?.altKey&&c.setChildFolderState(o,!0)},s]}class io extends Xn{constructor(e){super(),Yn(this,e,so,oo,kt,{entry:0,parentIcon:10})}}function ao(e,t,n){const r=e.slice();return r[8]=t[n],r}function lo(e){let t,n;return t=new Zr({props:{entry:e[8],indentIcon:e[4],removeIcon:!e[2]&&2===e[8]?.kind}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[8]),1&n&&(r.removeIcon=!e[2]&&2===e[8]?.kind),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function co(e){let t,n;return t=new io({props:{entry:e[8]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.entry=e[8]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function uo(e,t){let n,r,o,s,i,a;const l=[co,lo],c=[];function u(e,t){return 1&t&&(r=null),null==r&&(r=!!Array.isArray(e[8].children)),r?0:1}return o=u(t,-1),s=c[o]=l[o](t),{key:e,first:null,c(){n=Xt(),s.c(),i=Xt(),this.first=n},m(e,t){Wt(e,n,t),c[o].m(e,t),Wt(e,i,t),a=!0},p(e,n){let r=o;o=u(t=e,n),o===r?c[o].p(t,n):(Nn(),_n(c[r],1,1,(()=>{c[r]=null})),Un(),s=c[o],s?s.p(t,n):(s=c[o]=l[o](t),s.c()),jn(s,1),s.m(i.parentNode,i))},i(e){a||(jn(s),a=!0)},o(e){_n(s),a=!1},d(e){e&&(Jt(n),Jt(i)),c[o].d(e)}}}function fo(e){let t,n,r,o,s=[],i=new Map,a=zn(e[0].elementIndex);const l=e=>e[8].path;for(let t=0;tn(5,r=e)));const c=o.hasFolders?"indent-no-icon":"indent-none";return e.$$set=e=>{"treeState"in e&&n(0,o=e.treeState)},e.$$.update=()=>{34&e.$$.dirty&&r&&dr().then((()=>{const e=l.querySelector(`a[href*="${r}"]`);e&&e.scrollIntoView({block:"center",inline:"center"})}))},[o,l,i,a,c,r,function(e){xn[e?"unshift":"push"]((()=>{l=e,n(1,l)}))}]}class go extends Xn{constructor(e){super(),Yn(this,e,po,fo,kt,{treeState:0})}}function mo(e){let t,n,r,o;return r=new go({props:{treeState:e[1].treeState.markdown}}),{c(){t=Kt("hr"),n=Yt(),Kn(r.$$.fragment),nn(t,"class","svelte-wwxcg7")},m(e,s){Wt(e,t,s),Wt(e,n,s),Gn(r,e,s),o=!0},p:yt,i(e){o||(jn(r.$$.fragment,e),o=!0)},o(e){_n(r.$$.fragment,e),o=!1},d(e){e&&(Jt(t),Jt(n)),Zn(r,e)}}}function yo(e){let t,n,r=e[1].treeState.markdown.hasData&&function(e){let t,n,r;return n=new Vr({props:{folder:e[4],animate:e[0],$$slots:{default:[mo]},$$scope:{ctx:e}}}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","dmt-document-index svelte-wwxcg7")},m(e,o){Wt(e,t,o),Gn(n,t,null),r=!0},p(e,t){const r={};1&t&&(r.animate=e[0]),512&t&&(r.$$scope={dirty:t,ctx:e}),n.$set(r)},i(e){r||(jn(n.$$.fragment,e),r=!0)},o(e){_n(n.$$.fragment,e),r=!1},d(e){e&&Jt(t),Zn(n)}}}(e);return{c(){r&&r.c(),t=Xt()},m(e,o){r&&r.m(e,o),Wt(e,t,o),n=!0},p(e,[t]){e[1].treeState.markdown.hasData&&r.p(e,t)},i(e){n||(jn(r),n=!0)},o(e){_n(r),n=!1},d(e){e&&Jt(t),r&&r.d(e)}}}function bo(e,t,n){let r,o;const{dmtSessionStorage:s,navigation:i,settingStores:a,storagePrepend:l}=bn("#dmtComponentData"),c=a.themeAnimate;Pt(e,c,(e=>n(0,o=e)));const u=s.getStore(`${l}-document-index`,!0);Pt(e,u,(e=>n(5,r=e))),"markdown"===i.treeState.activeTreeName&&Ft(u,r=!0,r);return[o,i,c,u,{store:u,label:"Document Index",options:{focusChevron:!0}}]}class vo extends Xn{constructor(e){super(),Yn(this,e,bo,yo,kt,{})}}function wo(e,t,n){const r=e.slice();return r[2]=t[n],r}function xo(e,t){let n,r;return{key:e,first:null,c(){n=Kt("a"),r=Kt("span"),r.textContent=`${t[2]}`,nn(n,"href",`${t[0][t[2]]}`),nn(n,"target","_blank"),nn(n,"class","svelte-ietkuq"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r)},p(e,n){t=e},d(e){e&&Jt(n)}}}function So(e){let t,n=e[1]&&function(e){let t,n=[],r=new Map,o=zn(Object.keys(e[0]));const s=e=>e[0][e[2]];for(let t=0;t0]}class ko extends Xn{constructor(e){super(),Yn(this,e,$o,So,kt,{})}}function To(e){const t=e*e;return e<4/11?7.5625*t:e<8/11?9.075*t-9.9*e+3.4:e<.9?4356/361*t-35442/1805*e+16061/1805:10.8*e*e-20.52*e+10.72}function Eo(e){const t=e-1;return t*t*t+1}function Co(e){return e*e*e*e*e}const Lo=Object.freeze({__proto__:null,backIn:function(e){const t=1.70158;return e*e*((t+1)*e-t)},backInOut:function(e){const t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)},backOut:function(e){const t=1.70158;return--e*e*((t+1)*e+t)+1},bounceIn:function(e){return 1-To(1-e)},bounceInOut:function(e){return e<.5?.5*(1-To(1-2*e)):.5*To(2*e-1)+.5},bounceOut:To,circIn:function(e){return 1-Math.sqrt(1-e*e)},circInOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},circOut:function(e){return Math.sqrt(1- --e*e)},cubicIn:function(e){return e*e*e},cubicInOut:function(e){return e<.5?4*e*e*e:.5*Math.pow(2*e-2,3)+1},cubicOut:Eo,elasticIn:function(e){return Math.sin(13*e*Math.PI/2)*Math.pow(2,10*(e-1))},elasticInOut:function(e){return e<.5?.5*Math.sin(13*Math.PI/2*2*e)*Math.pow(2,10*(2*e-1)):.5*Math.sin(-13*Math.PI/2*(2*e-1+1))*Math.pow(2,-10*(2*e-1))+1},elasticOut:function(e){return Math.sin(-13*(e+1)*Math.PI/2)*Math.pow(2,-10*e)+1},expoIn:function(e){return 0===e?e:Math.pow(2,10*(e-1))},expoInOut:function(e){return 0===e||1===e?e:e<.5?.5*Math.pow(2,20*e-10):-.5*Math.pow(2,10-20*e)+1},expoOut:function(e){return 1===e?e:1-Math.pow(2,-10*e)},linear:bt,quadIn:function(e){return e*e},quadInOut:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},quadOut:function(e){return-e*(e-2)},quartIn:function(e){return Math.pow(e,4)},quartInOut:function(e){return e<.5?8*Math.pow(e,4):-8*Math.pow(e-1,4)+1},quartOut:function(e){return Math.pow(e-1,3)*(1-e)+1},quintIn:Co,quintInOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},quintOut:function(e){return--e*e*e*e*e+1},sineIn:function(e){const t=Math.cos(e*Math.PI*.5);return Math.abs(t)<1e-14?1:1-t},sineInOut:function(e){return-.5*(Math.cos(Math.PI*e)-1)},sineOut:function(e){return Math.sin(e*Math.PI/2)}});function Po(e,t){if("function"==typeof e)return e;const n=Lo[e];return n||Lo.linear}function Oo(e,t){const n=Po(t.easingFade??t.easing),r=Po(t.easingSlide??t.easing),o=function(e,{delay:t=0,duration:n=400,easing:r=bt}={}){const o=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>"opacity: "+e*o}}(e),s=function(e,{delay:t=0,duration:n=400,easing:r=Eo,axis:o="y"}={}){const s=getComputedStyle(e),i=+s.opacity,a="y"===o?"height":"width",l=parseFloat(s[a]),c="y"===o?["top","bottom"]:["left","right"],u=c.map((e=>`${e[0].toUpperCase()}${e.slice(1)}`)),f=parseFloat(s[`padding${u[0]}`]),d=parseFloat(s[`padding${u[1]}`]),h=parseFloat(s[`margin${u[0]}`]),p=parseFloat(s[`margin${u[1]}`]),g=parseFloat(s[`border${u[0]}Width`]),m=parseFloat(s[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(20*e,1)*i};${a}: ${e*l}px;padding-${c[0]}: ${e*f}px;padding-${c[1]}: ${e*d}px;margin-${c[0]}: ${e*h}px;margin-${c[1]}: ${e*p}px;border-${c[0]}-width: ${e*g}px;border-${c[1]}-width: ${e*m}px;`}}(e,{axis:t.axis});return{delay:t.delay??0,duration:t.duration??500,easing:bt,css:e=>{const t=n(e),i=r(e);return`${s.css(i,1-i)}; ${o.css(t,1-t)}`}}}function Io(e,t,n){const r=e.slice();return r[13]=t[n],r}function Ao(e,t){let n,r,o,s,i,a,l=t[13].key+"";return{key:e,first:null,c(){n=Kt("span"),r=Gt("svg"),o=Gt("use"),s=Yt(),i=Zt(l),a=Yt(),nn(o,"href",`#icon-${t[13].value}`),nn(r,"class","tsd-kind-icon svelte-1uxeem0"),nn(r,"viewBox","0 0 24 24"),nn(n,"class","svelte-1uxeem0"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(r,o),Ht(n,s),Ht(n,i),Ht(n,a)},p(e,n){t=e},d(e){e&&Jt(n)}}}function Mo(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p,g,m,y,b,v,w,x,S,$,k,T,E=[],C=new Map,L=zn(e[7]);const P=e=>e[13].value;for(let t=0;tAlt + DOpen / focus "Document Index"',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),I=e[3]&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='Alt + ESource (Nav) open / close all',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),A=e[0].modules&&function(e){let t,n,r,o,s;return{c(){t=Kt("span"),n=Kt("i"),n.textContent="Alt + M",r=Zt("Go to "),o=Zt(e[6]),s=Zt(" page"),nn(n,"class","key svelte-1uxeem0"),nn(t,"class","svelte-1uxeem0")},m(e,i){Wt(e,t,i),Ht(t,n),Ht(t,r),Ht(t,o),Ht(t,s)},p:yt,d(e){e&&Jt(t)}}}(e),M=e[0].hierarchy&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='Alt + YGo to class hierarchy page',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}(),D=e[1]&&function(){let e;return{c(){e=Kt("span"),e.innerHTML='AltPress when opening / closing folders to open / close all child folders.',nn(e,"class","svelte-1uxeem0")},m(t,n){Wt(t,e,n)},d(t){t&&Jt(e)}}}();return{c(){t=Kt("div"),n=Kt("span"),n.textContent="Reflection Icon Reference:",r=Yt(),o=Kt("section");for(let e=0;eAlt + CFocus main content',c=Yt(),O&&O.c(),u=Yt(),I&&I.c(),f=Yt(),d=Kt("span"),d.innerHTML='Alt + HOpen / close help',h=Yt(),p=Kt("span"),p.innerHTML='Alt + IGo to home / index page',g=Yt(),m=Kt("span"),m.innerHTML='Alt + NSource (Nav) focus selected',y=Yt(),A&&A.c(),b=Yt(),v=Kt("span"),v.innerHTML='Alt + OOpen / focus "On This Page"',w=Yt(),x=Kt("span"),x.innerHTML='Alt + SActivate search',S=Yt(),M&&M.c(),$=Yt(),D&&D.c(),nn(n,"class","title svelte-1uxeem0"),nn(o,"class","reflection-kinds svelte-1uxeem0"),nn(i,"class","title svelte-1uxeem0"),nn(l,"class","svelte-1uxeem0"),nn(d,"class","svelte-1uxeem0"),nn(p,"class","svelte-1uxeem0"),nn(m,"class","svelte-1uxeem0"),nn(v,"class","svelte-1uxeem0"),nn(x,"class","svelte-1uxeem0"),nn(t,"class","svelte-1uxeem0")},m(e,k){Wt(e,t,k),Ht(t,n),Ht(t,r),Ht(t,o);for(let e=0;e{T&&(k||(k=Bn(t,e[5],{duration:100},!0)),k.run(1))})),T=!0)},o(n){n&&(k||(k=Bn(t,e[5],{duration:100},!1)),k.run(0)),T=!1},d(e){e&&Jt(t);for(let e=0;en(8,r=e)));const h=r?Oo:()=>{},p=o?"package":"module",g=[];for(const[e,t]of Object.entries(a))"number"==typeof t&&g.push({key:e,value:t});return g.sort(((e,t)=>e.key.localeCompare(t.key))),[i,c,u,f,d,h,p,g]}class Ro extends Xn{constructor(e){super(),Yn(this,e,Do,Mo,kt,{})}}function Fo(e){let t,n;return t=new Ro({}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function No(e){let t,n,r,o,s,i,a,l,c,u,f,d,h,p=e[5]>0&&function(e){let t,n,r,o,s,i,a,l,c;return{c(){t=Gt("svg"),n=Gt("symbol"),r=Gt("path"),o=Yt(),s=Kt("button"),s.innerHTML='',i=Yt(),a=Kt("button"),a.innerHTML='',nn(r,"d","M517.408 993.568l-0.448 0.256c-18.592-0.032-37.152-7.168-51.328-21.344L51.392 558.24c-27.904-27.904-28.32-74.624 0.224-103.2 28.768-28.768 74.784-28.672 103.2-0.224l362.272 362.272L879.36 454.816c27.904-27.904 74.624-28.32 103.2 0.224 28.768 28.768 28.672 74.784 0.224 103.2l-414.24 414.24c-13.92 13.92-32.512 20.992-51.2 21.056z m0-397.408l-0.448 0.256c-18.592-0.032-37.152-7.168-51.328-21.344l-414.24-414.24c-27.904-27.904-28.32-74.624 0.224-103.2 28.768-28.768 74.784-28.672 103.2-0.224L517.088 419.68 879.36 57.408c27.904-27.904 74.624-28.32 103.2 0.224 28.768 28.768 28.672 74.784 0.224 103.2l-414.24 414.24c-13.92 13.92-32.512 20.992-51.2 21.056z"),nn(n,"id","dmt-double-icon-arrow"),nn(n,"viewBox","0 0 1024 1024"),sn(t,"display","none"),nn(t,"class","svelte-1xrvgp2"),nn(s,"title","Open All"),nn(s,"class","svelte-1xrvgp2"),nn(a,"title","Close All"),nn(a,"class","svelte-1xrvgp2")},m(u,f){Wt(u,t,f),Ht(t,n),Ht(n,r),Wt(u,o,f),Wt(u,s,f),Wt(u,i,f),Wt(u,a,f),l||(c=[en(s,"click",e[10]),en(s,"keydown",Uo),en(s,"pointerdown",tn(e[9])),en(a,"click",e[11]),en(a,"keydown",Uo),en(a,"pointerdown",tn(e[8]))],l=!0)},p:yt,d(e){e&&(Jt(t),Jt(o),Jt(s),Jt(i),Jt(a)),l=!1,St(c)}}}(e),g=e[4].hierarchy&&function(e){let t,n,r;return{c(){t=Kt("button"),t.innerHTML='',nn(t,"title","Class Hierarchy"),nn(t,"class","svelte-1xrvgp2")},m(o,s){Wt(o,t,s),n||(r=[en(t,"click",e[12]),en(t,"keydown",Uo)],n=!0)},p:yt,d(e){e&&Jt(t),n=!1,St(r)}}}(e),m=e[4].modules&&function(e){let t,n,r,o,s,i,a;return{c(){t=Kt("button"),n=Gt("svg"),r=Gt("rect"),o=Gt("rect"),s=Gt("rect"),nn(r,"x","10"),nn(r,"y","0"),nn(r,"width","12"),nn(r,"height","6"),nn(o,"x","6"),nn(o,"y","13"),nn(o,"width","20"),nn(o,"height","6"),nn(s,"x","0"),nn(s,"y","26"),nn(s,"width","32"),nn(s,"height","6"),nn(n,"width","32"),nn(n,"height","32"),nn(n,"viewBox","0 0 32 32"),nn(n,"xmlns","http://www.w3.org/2000/svg"),nn(n,"class","svelte-1xrvgp2"),nn(t,"title",e[7]),nn(t,"class","svelte-1xrvgp2")},m(l,c){Wt(l,t,c),Ht(t,n),Ht(n,r),Ht(n,o),Ht(n,s),i||(a=[en(t,"click",e[13]),en(t,"keydown",Uo)],i=!0)},p:yt,d(e){e&&Jt(t),i=!1,St(a)}}}(e),y=e[0]&&Fo();return{c(){t=Kt("section"),p&&p.c(),n=Yt(),g&&g.c(),r=Yt(),m&&m.c(),o=Yt(),s=Kt("button"),i=Gt("svg"),a=Gt("g"),l=Gt("path"),c=Gt("path"),u=Yt(),y&&y.c(),nn(l,"d","M502.29,788.199h-47c-33.1,0-60,26.9-60,60v64.9c0,33.1,26.9,60,60,60h47c33.101,0,60-26.9,60-60v-64.9 C562.29,815,535.391,788.199,502.29,788.199z"),nn(c,"d","M170.89,285.8l86.7,10.8c27.5,3.4,53.6-12.4,63.5-38.3c12.5-32.7,29.9-58.5,52.2-77.3c31.601-26.6,70.9-40,117.9-40\r\n c48.7,0,87.5,12.8,116.3,38.3c28.8,25.6,43.1,56.2,43.1,92.1c0,25.8-8.1,49.4-24.3,70.8c-10.5,13.6-42.8,42.2-96.7,85.9\r\n c-54,43.7-89.899,83.099-107.899,118.099c-18.4,35.801-24.8,75.5-26.4,115.301c-1.399,34.1,25.8,62.5,60,62.5h49\r\n c31.2,0,57-23.9,59.8-54.9c2-22.299,5.7-39.199,11.301-50.699c9.399-19.701,33.699-45.701,72.699-78.1\r\n C723.59,477.8,772.79,428.4,795.891,392c23-36.3,34.6-74.8,34.6-115.5c0-73.5-31.3-138-94-193.4c-62.6-55.4-147-83.1-253-83.1\r\n c-100.8,0-182.1,27.3-244.1,82c-52.8,46.6-84.9,101.8-96.2,165.5C139.69,266.1,152.39,283.5,170.89,285.8z"),nn(i,"viewBox","0 0 973.1 973.1"),nn(i,"class","svelte-1xrvgp2"),nn(s,"title",e[1]),nn(s,"class","svelte-1xrvgp2"),nn(t,"class","svelte-1xrvgp2")},m(b,v){Wt(b,t,v),p&&p.m(t,null),Ht(t,n),g&&g.m(t,null),Ht(t,r),m&&m.m(t,null),Ht(t,o),Ht(t,s),Ht(s,i),Ht(i,a),Ht(a,l),Ht(a,c),Ht(t,u),y&&y.m(t,null),f=!0,d||(h=[en(s,"click",e[14]),en(s,"keydown",Uo)],d=!0)},p(e,[n]){e[5]>0&&p.p(e,n),e[4].hierarchy&&g.p(e,n),e[4].modules&&m.p(e,n),(!f||2&n)&&nn(s,"title",e[1]),e[0]?y?1&n&&jn(y,1):(y=Fo(),y.c(),jn(y,1),y.m(t,null)):y&&(Nn(),_n(y,1,1,(()=>{y=null})),Un())},i(e){f||(jn(y),f=!0)},o(e){_n(y),f=!1},d(e){e&&Jt(t),p&&p.d(),g&&g.d(),m&&m.d(),y&&y.d(),d=!1,St(h)}}}function Uo(e){e.repeat&&(e.stopPropagation(),e.preventDefault())}function jo(e,t,n){let r,o;const{baseURL:s,moduleIsPackage:i,navigation:a,pageIndex:l,stateStores:c}=bn("#dmtComponentData"),u=a.treeState.source.hasFolders,f=c.helpPanelVisible;Pt(e,f,(e=>n(0,o=e)));const d=i?"Package Index":"Module Index";return e.$$.update=()=>{1&e.$$.dirty&&n(1,r=o?"Close Help":"Open Help")},[o,r,s,a,l,u,f,d,function(t){vn.call(this,e,t)},function(t){vn.call(this,e,t)},()=>a.treeState.source.setFoldersAllOpen(!0),()=>a.treeState.source.setFoldersAllOpen(!1),()=>globalThis.location.href=`${s}${l.hierarchy}`,()=>globalThis.location.href=`${s}${l.modules}`,()=>Ft(f,o=!o,o)]}class _o extends Xn{constructor(e){super(),Yn(this,e,jo,No,kt,{})}}function Qo(e){let t,n,r,o,s;return n=new _o({}),o=new go({props:{treeState:e[0].treeState.source}}),{c(){t=Kt("section"),Kn(n.$$.fragment),r=Yt(),Kn(o.$$.fragment),nn(t,"class","source-index svelte-13h1skr")},m(e,i){Wt(e,t,i),Gn(n,t,null),Ht(t,r),Gn(o,t,null),s=!0},p:yt,i(e){s||(jn(n.$$.fragment,e),jn(o.$$.fragment,e),s=!0)},o(e){_n(n.$$.fragment,e),_n(o.$$.fragment,e),s=!1},d(e){e&&Jt(t),Zn(n),Zn(o)}}}function Bo(e){const{navigation:t}=bn("#dmtComponentData");return[t]}class zo extends Xn{constructor(e){super(),Yn(this,e,Bo,Qo,kt,{})}}function Ho(e){let t,n,r,o,s,i;return t=new ko({}),r=new vo({}),s=new zo({}),{c(){Kn(t.$$.fragment),n=Yt(),Kn(r.$$.fragment),o=Yt(),Kn(s.$$.fragment)},m(e,a){Gn(t,e,a),Wt(e,n,a),Gn(r,e,a),Wt(e,o,a),Gn(s,e,a),i=!0},p:yt,i(e){i||(jn(t.$$.fragment,e),jn(r.$$.fragment,e),jn(s.$$.fragment,e),i=!0)},o(e){_n(t.$$.fragment,e),_n(r.$$.fragment,e),_n(s.$$.fragment,e),i=!1},d(e){e&&(Jt(n),Jt(o)),Zn(t,e),Zn(r,e),Zn(s,e)}}}function qo(e){let t,n,r;return{c(){t=Kt("button"),t.innerHTML='',nn(t,"class","svelte-10arjs8")},m(o,s){Wt(o,t,s),n||(r=[en(t,"click",e[3]),en(t,"pointerdown",tn(e[2]))],n=!0)},p:yt,i:yt,o:yt,d(e){e&&Jt(t),n=!1,St(r)}}}function Vo(e,t,n){let r;const{stateStores:o}=bn("#dmtComponentData"),s=o.mainSearchVisible;Pt(e,s,(e=>n(0,r=e)));return[r,s,function(t){vn.call(this,e,t)},()=>Ft(s,r=!r,r)]}class Wo extends Xn{constructor(e){super(),Yn(this,e,Vo,qo,kt,{})}}function Jo(e,t,n){const r=e.slice();return r[14]=t[n],r}function Ko(e){let t,n,r;return{c(){t=Gt("svg"),n=Gt("use"),nn(n,"href",r=`#icon-${e[14].kind}`),nn(t,"class","tsd-kind-icon"),nn(t,"viewBox","0 0 24 24")},m(e,r){Wt(e,t,r),Ht(t,n)},p(e,t){2&t&&r!==(r=`#icon-${e[14].kind}`)&&nn(n,"href",r)},d(e){e&&Jt(t)}}}function Go(e,t){let n,r,o,s,i,a,l,c=t[14].name+"",u=t[14].kind&&Ko(t);function f(){return t[8](t[14])}return{key:e,first:null,c(){n=Kt("li"),u&&u.c(),r=Yt(),o=Kt("span"),s=Yt(),nn(o,"class","parent"),nn(n,"class",i=Rt(t[14].classes)+" svelte-5rxzhp"),nn(n,"role","menuitem"),an(n,"selected",t[14].id===t[2]),this.first=n},m(e,t){Wt(e,n,t),u&&u.m(n,null),Ht(n,r),Ht(n,o),o.innerHTML=c,Ht(n,s),a||(l=en(n,"click",f),a=!0)},p(e,s){(t=e)[14].kind?u?u.p(t,s):(u=Ko(t),u.c(),u.m(n,r)):u&&(u.d(1),u=null),2&s&&c!==(c=t[14].name+"")&&(o.innerHTML=c),2&s&&i!==(i=Rt(t[14].classes)+" svelte-5rxzhp")&&nn(n,"class",i),6&s&&an(n,"selected",t[14].id===t[2])},d(e){e&&Jt(n),u&&u.d(),a=!1,l()}}}function Zo(e){let t,n,r,o=[],s=new Map,i=zn(e[1]);const a=e=>e[14].id;for(let t=0;t{r&&(n||(n=Bn(t,e[6],{duration:100},!0)),n.run(1))})),r=!0)},o(o){n||(n=Bn(t,e[6],{duration:100},!1)),n.run(0),r=!1},d(r){r&&Jt(t);for(let e=0;en(10,r=e)));const f=l.themeAnimate;Pt(e,f,(e=>n(11,o=e)));const d=bn("#storeCurrentId");Pt(e,d,(e=>n(2,s=e)));const h=o?Oo:()=>{};function p(e){Ft(u,r=!1,r),globalThis.location.href=e}return e.$$set=e=>{"results"in e&&n(1,i=e.results),"resultsEl"in e&&n(0,a=e.resultsEl)},[a,i,s,u,f,d,h,p,e=>p(e.href),function(e){xn[e?"unshift":"push"]((()=>{a=e,n(0,a)}))}]}class Xo extends Xn{constructor(e){super(),Yn(this,e,Yo,Zo,kt,{results:1,resultsEl:0})}}const{window:es}=zt;function ts(e){let t,n,r;function o(t){e[13](t)}let s={results:e[0]};return void 0!==e[3]&&(s.resultsEl=e[3]),t=new Xo({props:s}),xn.push((()=>function(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}(t,"resultsEl",o))),{c(){Kn(t.$$.fragment)},m(e,n){Gn(t,e,n),r=!0},p(e,r){const o={};var s;1&r&&(o.results=e[0]),!n&&8&r&&(n=!0,o.resultsEl=e[3],s=()=>n=!1,$n.push(s)),t.$set(o)},i(e){r||(jn(t.$$.fragment,e),r=!0)},o(e){_n(t.$$.fragment,e),r=!1},d(e){Zn(t,e)}}}function ns(e){let t,n,r,o,s,i,a,l=e[0].length&&ts(e);return{c(){t=Kt("input"),r=Yt(),l&&l.c(),o=Xt(),nn(t,"type","search"),nn(t,"id","dmt-search-field"),nn(t,"aria-label","Search"),nn(t,"class","svelte-tuln0o"),sn(t,"color",e[4]?"red":null),sn(t,"border-color",e[4]?"red":null)},m(n,c){Wt(n,t,c),e[11](t),on(t,e[1]),Wt(n,r,c),l&&l.m(n,c),Wt(n,o,c),s=!0,i||(a=[en(es,"pointerdown",e[10]),en(t,"input",e[12]),en(t,"keydown",e[9])],i=!0)},p(e,[n]){2&n&&t.value!==e[1]&&on(t,e[1]),16&n&&sn(t,"color",e[4]?"red":null),16&n&&sn(t,"border-color",e[4]?"red":null),e[0].length?l?(l.p(e,n),1&n&&jn(l,1)):(l=ts(e),l.c(),jn(l,1),l.m(o.parentNode,o)):l&&(Nn(),_n(l,1,1,(()=>{l=null})),Un())},i(r){s||(r&&Ln((()=>{s&&(n||(n=Bn(t,e[8],{duration:200},!0)),n.run(1))})),jn(l),s=!0)},o(r){r&&(n||(n=Bn(t,e[8],{duration:200},!1)),n.run(0)),_n(l),s=!1},d(s){s&&(Jt(t),Jt(r),Jt(o)),e[11](null),s&&n&&n.end(),l&&l.d(s),i=!1,St(a)}}}function rs(e,t,n){let r,o,s,i;const a=rr(void 0);yn("#storeCurrentId",a);const{basePath:l,showModuleIcon:c,searchOptions:u,settingStores:f,stateStores:d}=bn("#dmtComponentData"),h=d.mainSearchVisible;Pt(e,h,(e=>n(15,o=e)));const p=f.themeAnimate;Pt(e,p,(e=>n(16,i=e)));const g=u?.fullName??!1,m=u?.limit??10,y=rr("");Pt(e,y,(e=>n(1,s=e)));const b=i?Oo:()=>{},v=mt.debounce(((e,t)=>n(0,k=function(e,{basePath:t,showModuleIcon:n=!0,searchFullName:r=!1,searchLimit:o=10}={}){if(!globalThis.dmtSearchMainIndex||!globalThis.dmtSearchMainRows)return[];const s=e.trim();if(0===s.length)return[];const i=globalThis.dmtSearchMainIndex.search(`*${s}*`),a=[];for(let e=0;et.score-e.score));for(let e=Math.min(o,i.length),l=0;l${xr(c.p,s)}.${u}`);const f=n||2!==c.k?c.k:void 0;a.push({id:o,kind:f,classes:c.c??"",href:`${t}${c.u}`,name:u})}return a}(e,t))),250),w={basePath:l,showModuleIcon:c,searchFullName:g,searchLimit:m};let x,S,$=0,k=[];return mn((()=>x.focus())),e.$$.update=()=>{2&e.$$.dirty&&v(s,{...w}),1&e.$$.dirty&&k?.length&&($=-1,a.set(void 0)),3&e.$$.dirty&&n(4,r=s.length&&!k?.length)},[k,s,x,S,r,h,p,y,b,function(e){switch(e.code){case"ArrowDown":if(0===k.length)return;$0&&(a.set(k[--$].id),e.preventDefault());break;case"Enter":$>=0&&(window.location.href=k[$].href),e.preventDefault();break;case"Escape":o&&!s.length&&Ft(h,o=!1,o);break;case"Tab":if(0===k.length)return void e.preventDefault();e.shiftKey?$>0&&a.set(k[--$].id):${x=e,n(2,x)}))},function(){s=this.value,y.set(s)},function(e){S=e,n(3,S)}]}class os extends Xn{constructor(e){super(),Yn(this,e,rs,ns,kt,{})}}function ss(e){let t,n;return t=new os({}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function is(e){let t,n,r,o,s=e[0]&&ss();return r=new Wo({}),{c(){s&&s.c(),t=Yt(),n=Kt("div"),Kn(r.$$.fragment),nn(n,"class","dmt-widget dmt-toolbar-icon search no-caption svelte-wmon9h")},m(e,i){s&&s.m(e,i),Wt(e,t,i),Wt(e,n,i),Gn(r,n,null),o=!0},p(e,[n]){e[0]?s?1&n&&jn(s,1):(s=ss(),s.c(),jn(s,1),s.m(t.parentNode,t)):s&&(Nn(),_n(s,1,1,(()=>{s=null})),Un())},i(e){o||(jn(s),jn(r.$$.fragment,e),o=!0)},o(e){_n(s),_n(r.$$.fragment,e),o=!1},d(e){e&&(Jt(t),Jt(n)),s&&s.d(e),Zn(r)}}}function as(e,t,n){let r;const{stateStores:o}=bn("#dmtComponentData"),s=o.mainSearchVisible;return Pt(e,s,(e=>n(0,r=e))),[r,s]}class ls extends Xn{constructor(e){super(),Yn(this,e,as,is,kt,{})}}function cs(e){let t,n,r;return{c(){t=Kt("div"),nn(t,"class","tjs-focus-wrap svelte-kjcljd"),nn(t,"tabindex","0")},m(o,s){Wt(o,t,s),e[4](t),n||(r=en(t,"focus",e[1]),n=!0)},p:yt,i:yt,o:yt,d(o){o&&Jt(t),e[4](null),n=!1,r()}}}function us(e,t,n){let r,o,{elementRoot:s}=t,{enabled:i=!0}=t;return e.$$set=e=>{"elementRoot"in e&&n(2,s=e.elementRoot),"enabled"in e&&n(3,i=e.enabled)},e.$$.update=()=>{1&e.$$.dirty&&o&&(r=new Set([o]))},[o,function(){if(i&&fr.isFocusTarget(s)){const e=fr.getFirstFocusableElement(s,r);fr.isFocusTarget(e)&&e!==o?e.focus():s.focus()}},s,i,function(e){xn[e?"unshift":"push"]((()=>{o=e,n(0,o)}))}]}class fs extends Xn{constructor(e){super(),Yn(this,e,us,cs,kt,{elementRoot:2,enabled:3})}}function ds(e,t,n){const r=e.slice();return r[15]=t[n],r}function hs(e,t){let n,r,o,s,i,a,l;return{key:e,first:null,c(){n=Kt("a"),r=Kt("img"),i=Yt(),Et(r.src,o=t[15].iconURL)||nn(r,"src",o),nn(r,"alt",s=t[15].title),nn(r,"class","svelte-1pcybcf"),nn(n,"href",a=t[15].url),nn(n,"target","_blank"),nn(n,"title",l=t[15].title),nn(n,"class","svelte-1pcybcf"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(n,i)},p(e,i){t=e,2&i&&!Et(r.src,o=t[15].iconURL)&&nn(r,"src",o),2&i&&s!==(s=t[15].title)&&nn(r,"alt",s),2&i&&a!==(a=t[15].url)&&nn(n,"href",a),2&i&&l!==(l=t[15].title)&&nn(n,"title",l)},d(e){e&&Jt(n)}}}function ps(e){let t,n,r,o,s,i,a,l,c=[],u=new Map,f=zn(e[1].icons);const d=e=>e[15].url;for(let t=0;t{i&&(s||(s=Bn(t,e[4],{duration:250,easing:Co},!0)),s.run(1))})),i=!0)},o(n){_n(o.$$.fragment,n),s||(s=Bn(t,e[4],{duration:250,easing:Co},!1)),s.run(0),i=!1},d(n){n&&Jt(t);for(let e=0;en(1,s=e)));const{themeAnimate:c}=a;Pt(e,c,(e=>n(11,o=e)));const u=o?Oo:()=>{},f={ignoreClasses:["tjs-focus-wrap"]},d=bn("menuVisible");let h;return Pt(e,d,(e=>n(10,r=e))),mn((()=>h.focus())),[h,s,l,c,u,d,function(e){if("Tab"===e.code)if(e.stopPropagation(),e.shiftKey){const t=fr.getFocusableElements(h,f),n=t.length>0?t[0]:void 0,r=t.length>0?t[t.length-1]:void 0;h!==globalThis.document.activeElement&&n!==globalThis.document.activeElement||(r instanceof HTMLElement&&n!==r&&r.focus(),e.preventDefault())}e.stopPropagation()},function(e){if("Escape"===e.code)Ft(d,r=!1,r),e.preventDefault();e.stopPropagation()},function(e){h?.parentElement?.contains?.(e.target)||Ft(d,r=!1,r)},function(e){xn[e?"unshift":"push"]((()=>{h=e,n(0,h)}))}]}class ms extends Xn{constructor(e){super(),Yn(this,e,gs,ps,kt,{})}}function ys(e){let t,n;return t=new ms({props:{buttonHostEl:e[0]}}),{c(){Kn(t.$$.fragment)},m(e,r){Gn(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.buttonHostEl=e[0]),t.$set(r)},i(e){n||(jn(t.$$.fragment,e),n=!0)},o(e){_n(t.$$.fragment,e),n=!1},d(e){Zn(t,e)}}}function bs(e){let t,n,r,o,s,i,a=e[1]&&ys(e);return{c(){t=Kt("section"),n=Kt("button"),n.innerHTML='',r=Yt(),a&&a.c(),nn(n,"class","svelte-1ebh1s9"),nn(t,"class","svelte-1ebh1s9")},m(l,c){Wt(l,t,c),Ht(t,n),Ht(t,r),a&&a.m(t,null),e[5](t),o=!0,s||(i=[en(n,"click",e[4]),en(n,"pointerdown",tn(e[3]))],s=!0)},p(e,[n]){e[1]?a?(a.p(e,n),2&n&&jn(a,1)):(a=ys(e),a.c(),jn(a,1),a.m(t,null)):a&&(Nn(),_n(a,1,1,(()=>{a=null})),Un())},i(e){o||(jn(a),o=!0)},o(e){_n(a),o=!1},d(n){n&&Jt(t),a&&a.d(),e[5](null),s=!1,St(i)}}}function vs(e,t,n){let r;const o=rr(!1);let s;Pt(e,o,(e=>n(1,r=e))),yn("menuVisible",o);return[s,r,o,function(t){vn.call(this,e,t)},()=>Ft(o,r=!r,r),function(e){xn[e?"unshift":"push"]((()=>{s=e,n(0,s)}))}]}class ws extends Xn{constructor(e){super(),Yn(this,e,vs,bs,kt,{})}}function xs(e,t,n){const r=e.slice();return r[3]=t[n],r}function Ss(e,t){let n,r,o,s,i,a,l;return{key:e,first:null,c(){n=Kt("a"),r=Kt("img"),i=Yt(),Et(r.src,o=t[3].iconURL)||nn(r,"src",o),nn(r,"alt",s=t[3].title),nn(r,"class","svelte-1f93d1m"),nn(n,"href",a=t[3].url),nn(n,"target","_blank"),nn(n,"title",l=t[3].title),nn(n,"class","svelte-1f93d1m"),this.first=n},m(e,t){Wt(e,n,t),Ht(n,r),Ht(n,i)},p(e,i){t=e,1&i&&!Et(r.src,o=t[3].iconURL)&&nn(r,"src",o),1&i&&s!==(s=t[3].title)&&nn(r,"alt",s),1&i&&a!==(a=t[3].url)&&nn(n,"href",a),1&i&&l!==(l=t[3].title)&&nn(n,"title",l)},d(e){e&&Jt(n)}}}function $s(e){let t,n=[],r=new Map,o=zn(e[0].icons);const s=e=>e[3].url;for(let t=0;tn(0,r=e))),[r,s]}class Ts extends Xn{constructor(e){super(),Yn(this,e,ks,$s,kt,{})}}function Es(e){let t,n,r;var o=e[1];return o&&(t=ln(o,{})),{c(){t&&Kn(t.$$.fragment),n=Xt()},m(e,o){t&&Gn(t,e,o),Wt(e,n,o),r=!0},p(e,r){if(2&r&&o!==(o=e[1])){if(t){Nn();const e=t;_n(e.$$.fragment,1,0,(()=>{Zn(e,1)})),Un()}o?(t=ln(o,{}),Kn(t.$$.fragment),jn(t.$$.fragment,1),Gn(t,n.parentNode,n)):t=null}},i(e){r||(t&&jn(t.$$.fragment,e),r=!0)},o(e){t&&_n(t.$$.fragment,e),r=!1},d(e){e&&Jt(n),t&&Zn(t,e)}}}function Cs(e){let t,n,r=e[0].icons.length&&Es(e);return{c(){r&&r.c(),t=Xt()},m(e,o){r&&r.m(e,o),Wt(e,t,o),n=!0},p(e,[n]){e[0].icons.length?r?(r.p(e,n),1&n&&jn(r,1)):(r=Es(e),r.c(),jn(r,1),r.m(t.parentNode,t)):r&&(Nn(),_n(r,1,1,(()=>{r=null})),Un())},i(e){n||(jn(r),n=!0)},o(e){_n(r),n=!1},d(e){e&&Jt(t),r&&r.d(e)}}}function Ls(e,t,n){let r,o;const{componentStores:s}=bn("#dmtComponentData"),i=bn("toolbarOffsetWidth");Pt(e,i,(e=>n(4,r=e)));const{toolbarIconLinks:a}=s;Pt(e,a,(e=>n(0,o=e)));let l=Ts;return e.$$.update=()=>{17&e.$$.dirty&&r>0&&(o.totalWidth>0&&n(1,l=o.totalWidth>r?ws:Ts),r<40&&n(1,l=void 0))},[o,l,i,a,r]}class Ps extends Xn{constructor(e){super(),Yn(this,e,Ls,Cs,kt,{})}}function Os(e){let t,n,r,o,s,i;return n=new Ps({}),{c(){t=Kt("section"),Kn(n.$$.fragment),nn(t,"class","svelte-j9157o")},m(a,l){Wt(a,t,l),Gn(n,t,null),o=!0,s||(i=Nt(r=gt.call(null,t,e[2])),s=!0)},p(e,[t]){r&&$t(r.update)&&1&t&&r.update.call(null,e[2])},i(e){o||(jn(n.$$.fragment,e),o=!0)},o(e){_n(n.$$.fragment,e),o=!1},d(e){e&&Jt(t),Zn(n),s=!1,i()}}}function Is(e,t,n){let r;const o=rr(0);Pt(e,o,(e=>n(0,r=e))),yn("toolbarOffsetWidth",o);return[r,o,e=>Ft(o,r=e,r)]}globalThis.dmtInflateAndUnpack=function(e,{inflateOptions:t}={}){return Z(Je(e,t))},globalThis.dmtInflateAndUnpackB64=function(e,{inflateOptions:t}={}){return Z(Je(ot(st(e)),t))};const As=new class{#V;#W;#J;#K;#G;#Z;#Y={local:new lr,session:new cr};constructor(e){this.#W="string"==typeof globalThis.dmtComponentDataBCMP?globalThis.dmtInflateAndUnpackB64(globalThis.dmtComponentDataBCMP):{};const t=e.replace(/assets\/dmt\/dmt-components.js/,""),n=e.replace(/dmt-components.js/,""),r=globalThis.location.href.replace(t,""),o=(r.match(/\//)??[]).length,s="../".repeat(o);this.#J={basePath:s,baseURL:t,dmtURL:n,initialPathURL:r},this.#K=new mr(this,this.#W.navigationIndex),this.#V=Object.freeze({toolbarIconLinks:Tr(this,this.#W)});const i="boolean"!=typeof this.#W?.settingOptions?.animation||this.#W?.settingOptions?.animation;this.#G=Object.freeze({themeAnimate:i?this.#Y.local.getStore(Er,!fr.prefersReducedMotion):nr(!1)}),this.#Z=Object.freeze({helpPanelVisible:rr(!1),mainSearchVisible:rr(!1),swapHelpPanelVisible:()=>this.#Z.helpPanelVisible.set(!Lt(this.#Z.helpPanelVisible))})}get basePath(){return this.#J.basePath}get baseURL(){return this.#J.baseURL}get componentStores(){return this.#V}get dmtLocalStorage(){return this.#Y.local}get dmtSessionStorage(){return this.#Y.session}get dmtURL(){return this.#J.dmtURL}get initialPathURL(){return this.#J.initialPathURL}get navigation(){return this.#K}get settingStores(){return this.#G}get stateStores(){return this.#Z}get iconLinks(){return this.#W.iconLinks}get pageIndex(){return this.#W.pageIndex??{}}get moduleIsPackage(){return this.#W.moduleIsPackage??!1}get showModuleIcon(){return this.#W.showModuleIcon??!0}get searchOptions(){return this.#W.searchOptions}get ReflectionKind(){return this.#W.ReflectionKind}get sidebarLinks(){return this.#W?.sidebarLinks??{}}get storagePrepend(){return this.#W.storagePrepend??"docs-unnamed"}}(import.meta.url),Ms=new Map([["#dmtComponentData",As]]),Ds=new class extends Xn{constructor(e){super(),Yn(this,e,Ir,Or,kt,{})}}({target:document.querySelector(".tsd-navigation.settings .tsd-accordion-details"),context:Ms}),Rs=document.querySelector("nav#tsd-sidebar-links");Rs&&Rs.remove();const Fs=document.querySelector("nav.tsd-navigation");if(Fs&&Fs.firstChild)for(;Fs.firstChild;)Fs.removeChild(Fs.firstChild);const Ns=new class extends Xn{constructor(e){super(),Yn(this,e,null,Ho,kt,{})}}({target:document.querySelector("nav.tsd-navigation"),context:Ms}),Us=new class extends Xn{constructor(e){super(),Yn(this,e,Is,Os,kt,{})}}({target:document.querySelector("#dmt-toolbar"),context:Ms});globalThis.dmtComponents={dmtSettings:Ds,navigation:Ns,toolbar:Us},As.searchOptions&&(!async function(){const e=import.meta.url.replace(/\/dmt-components.js/,""),t=await fetch(`${e}/dmt-search.cmp`);if(!t.ok)return console.warn("[typedoc-theme-default-modern] Could not load search index."),!1;try{const e=await t.arrayBuffer(),n=globalThis.dmtInflateAndUnpack(new Uint8Array(e));globalThis.dmtSearchMainRows=n.rows,globalThis.dmtSearchMainIndex=wr.Index.load(n.index)}catch(e){return console.warn("[typedoc-theme-default-modern] Could not load search index."),console.error(e),!1}}(),globalThis.dmtComponents.searchMain=new ls({target:document.querySelector("#dmt-search-main"),context:Ms})),function(e){const{baseURL:t,dmtSessionStorage:n,pageIndex:r,navigation:o,stateStores:s,storagePrepend:i}=e;globalThis.document.addEventListener("keydown",(e=>{if(e.altKey&&!e.repeat)switch(e.code){case"KeyC":{const t=document.querySelector(".col-content");if(t){const e=fr.getFirstFocusableElement(t);e&&e.focus({focusVisible:!0})}e.preventDefault();break}case"KeyD":{const t=`${i}-document-index`;n.hasStore(t)&&(n.getStore(t).set(!0),setTimeout((()=>{const e=globalThis.document.querySelector("section.dmt-document-index");if(e){const t=e.querySelector("a");t&&t.focus({focusVisible:!0})}}),0)),e.preventDefault();break}case"KeyE":o.treeState.source.swapFoldersAllOpen(),e.preventDefault();break;case"KeyH":s.swapHelpPanelVisible(),e.preventDefault();break;case"KeyI":globalThis.location.href=`${t}index.html`,e.preventDefault();break;case"KeyM":"string"==typeof r.modules&&(globalThis.location.href=`${t}${r.modules}`),e.preventDefault();break;case"KeyN":o.treeState.ensureCurrentPath({focus:!0}),e.preventDefault();break;case"KeyO":ur.openOnThisPage(),e.preventDefault();break;case"KeyS":s.mainSearchVisible.set(!0),e.preventDefault();break;case"KeyY":"string"==typeof r.hierarchy&&(globalThis.location.href=`${t}${r.hierarchy}`),e.preventDefault()}}))}(As),function(){const e=globalThis.document.querySelector("div.dmt-navigation-content"),t=globalThis.document.querySelector("details.tsd-page-navigation .tsd-accordion-details"),n=globalThis.document.querySelector("div.container.container-main"),r=globalThis.document.querySelector("div.col-content"),o=new Set([n,e,t,null]);e&&e.addEventListener("pointerenter",(t=>{t.preventDefault(),t.stopImmediatePropagation();const n=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==e&&o.has(n)&&globalThis.requestAnimationFrame((()=>e.focus({preventScroll:!0})))})),t&&t.addEventListener("pointerenter",(e=>{e.preventDefault(),e.stopImmediatePropagation();const n=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==t&&o.has(n)&&globalThis.requestAnimationFrame((()=>t.focus({preventScroll:!0})))})),r&&r.addEventListener("pointerenter",(e=>{e.preventDefault(),e.stopImmediatePropagation();const t=globalThis.document.querySelector(":focus-visible");globalThis.document.activeElement!==n&&o.has(t)&&globalThis.requestAnimationFrame((()=>n.focus({preventScroll:!0})))}))}(),ur.initialize(As),globalThis.requestAnimationFrame((()=>{const e=document.createElement("style");e.innerHTML="body { visibility: visible; }",document.head.appendChild(e);const t=document.querySelector("body main footer");t&&document.documentElement.style.setProperty("--dmt-footer-height",`${t.offsetHeight}px`)})); diff --git a/docs/v2.0.1/assets/dmt/dmt-search.cmp b/docs/v2.0.1/assets/dmt/dmt-search.cmp new file mode 100644 index 0000000..50f258c Binary files /dev/null and b/docs/v2.0.1/assets/dmt/dmt-search.cmp differ diff --git a/docs/v2.0.1/assets/dmt/dmt-theme.css b/docs/v2.0.1/assets/dmt/dmt-theme.css new file mode 100644 index 0000000..f5fe689 --- /dev/null +++ b/docs/v2.0.1/assets/dmt/dmt-theme.css @@ -0,0 +1 @@ +:root{--dmt-box-shadow-color:#00000080;--dmt-container-border-radius:0.5rem;--dmt-container-box-shadow:0 0 0.15rem var(--dmt-box-shadow-color);--dmt-container-box-shadow-floating:0 0 0.5rem var(--dmt-box-shadow-color);--dmt-container-max-height:calc(100vh - var(--dmt-header-height));--dmt-container-padding:1rem;--dmt-container-padding-member:0.5rem;--dmt-header-height:42px;--dmt-overlay-panel-background:#27292e;--dmt-menu-item-background-hover:var(--color-accent);--dmt-menu-item-background-selected:var(--color-accent);--dmt-nav-folder-contents-border-color:var(--color-active-menu-item);--dmt-page-menu-max-height:calc(100vh - var(--dmt-header-height) - var(--dmt-footer-height, 0px) - 1.5rem);--dmt-focus-visible-color:orange;--dmt-outline-focus-visible:3px solid var(--dmt-focus-visible-color);--tjs-folder-summary-chevron-border-radius:0.25rem;--tjs-default-outline-focus-visible:var(--dmt-outline-focus-visible)}:root[data-theme=dark]{--dmt-box-shadow-color:#0009;--dmt-container-background:#0000001a;--dmt-container-border:2px solid #0003;--dmt-container-floating-border:2px solid #0009;--dmt-container-separator-border:1px solid #000c;--dmt-overlay-panel-background:#27292e}:root[data-theme=light]{--dmt-box-shadow-color:#0000004d;--dmt-container-background:#0000000d;--dmt-container-border:2px solid #0000001a;--dmt-container-floating-border:2px solid #0000004d;--dmt-container-separator-border:1px solid #0006;--dmt-overlay-panel-background:#e6e8eb}@media (prefers-color-scheme:dark){:root{--dmt-box-shadow-color:#0009;--dmt-container-background:#0000001a;--dmt-container-border:2px solid #0003;--dmt-container-floating-border:2px solid #0009;--dmt-container-separator-border:1px solid #000c;--dmt-overlay-panel-background:#27292e}}@media (prefers-color-scheme:light){:root{--dmt-box-shadow-color:#0000004d;--dmt-container-background:#0000000d;--dmt-container-border:2px solid #0000001a;--dmt-container-floating-border:2px solid #0000004d;--dmt-container-separator-border:1px solid #0006;--dmt-overlay-panel-background:#e6e8eb}}#dmt-toolbar{container:dmt-toolbar/inline-size}.col-content{container:col-content/inline-size}.site-menu{container:site-menu/inline-size}body main{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}body footer{flex-shrink:0;height:fit-content;width:100%}::-webkit-scrollbar{height:.75rem}.dmt-title-header-flex{align-items:center;display:flex;flex-wrap:nowrap}.dmt-title-header-flex h1{margin-right:auto}a.tsd-anchor-icon:focus-visible>svg{visibility:visible}summary.tsd-accordion-summary:focus-visible{outline:revert}.tsd-panel.tsd-member .tsd-anchor-link .tsd-anchor-icon{margin-right:auto}.site-menu:focus-visible,details.tsd-page-navigation .tsd-accordion-details:focus-visible,div.container.container-main{outline:2px solid #0000}header.tsd-page-toolbar{flex-shrink:0;height:var(--dmt-header-height);left:unset;position:unset;top:unset}.container{max-width:unset}.container.container-main{box-sizing:border-box;flex-grow:1;overflow-x:hidden;width:100%}.col-content{contain:layout style paint;display:flex;flex-direction:column;height:fit-content;margin-bottom:1rem;margin-top:.75rem;max-width:1300px;overflow:hidden}.col-content .tsd-panel,.col-content .tsd-panel-group{margin-bottom:0}.col-content details[open].tsd-hierarchy>.tsd-accordion-summary,.col-content details[open].tsd-index-content>.tsd-accordion-summary{border-bottom:var(--dmt-container-border);padding-bottom:var(--dmt-container-padding)}.col-content details.tsd-panel-group summary{background:linear-gradient(to right,var(--dmt-container-background),var(--color-background));border-bottom:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius) 0 0 var(--dmt-container-border-radius);padding:.25rem}.site-menu{contain:layout style paint;margin-top:0;max-height:unset;padding-left:.1rem;top:0}.site-menu .tsd-accordion-summary{align-items:center;display:flex}.site-menu .tsd-nested-navigation{margin-left:2.5rem}.page-menu{contain:layout style paint;display:flex;flex-direction:column;gap:1rem;max-height:var(--dmt-page-menu-max-height);overflow:revert;padding:.75rem .5rem .5rem;position:sticky;top:0}@media (min-width:770px) and (max-width:1399px){.col-sidebar{max-height:unset;padding-top:0;top:0}}details.tsd-accordion{will-change:height}details.tsd-accordion[open]:not(details[data-closing=true])>summary svg{transform:rotate(0deg)}details.tsd-accordion:not([open])>summary svg{transform:rotate(-90deg)}.dmt-summary-svg{transition:transform .1s}.container-main{background:var(--color-background)}:focus-visible{outline:var(--dmt-outline-focus-visible)}details .tsd-accordion-summary:focus-visible{outline:none}details .tsd-accordion-summary:focus-visible svg{border-radius:.25rem;outline:var(--dmt-outline-focus-visible)}details .tsd-accordion-summary h3,details .tsd-accordion-summary h5{align-items:center;display:flex;gap:.25rem}nav.tsd-navigation{display:flex;flex-direction:column;gap:.75rem}nav.tsd-navigation>section:first-child{margin-top:.75rem}nav.tsd-navigation>section:first-child.source-index{margin-top:0}.tsd-navigation a,.tsd-navigation summary>span,.tsd-page-navigation a{padding:.25rem}a{border-radius:.25rem}@container dmt-toolbar (min-width: 0){.title{font-size:clamp(.75rem,2.5cqi,1rem)}}@container col-content (min-width: 0){.tsd-page-title h1{font-size:clamp(1rem,3.5cqi,2rem)}.tsd-kind-icon~span,h5{font-size:clamp(.8rem,2.5cqi,1rem)}}@container site-menu (min-width: 0){.tsd-navigation span{font-size:clamp(.8rem,5cqi,1rem)}}.tsd-page-toolbar{box-shadow:var(--dmt-header-box-shadow)}.tsd-page-toolbar .tsd-toolbar-contents{padding:0 .25rem 0 1rem}.tsd-page-toolbar .tsd-toolbar-icon{padding:12px}.tsd-page-toolbar .tsd-toolbar-icon.menu{height:30px;margin:6px;padding:6px;width:28px}#dmt-toolbar{align-items:center;display:flex}#dmt-toolbar a.title{height:32px;line-height:32px;padding-right:.5rem}.container{margin:0 auto;padding:0 1rem}.container .tsd-signature{border-radius:.5rem}.container .tsd-signatures .tsd-signature{border-radius:0}.container .tsd-panel-group.tsd-index-group details,.container .tsd-panel-group.tsd-index-group details .tsd-accordion-summary .tsd-index-heading{margin:0}.container .tsd-panel-group.tsd-index-group details .tsd-accordion-details .tsd-index-heading{margin:0 0 15px}.container .tsd-panel-group.tsd-index-group details .tsd-accordion-details section:not(:last-child){margin-bottom:15px}.container .tsd-panel-group.tsd-index-group .tsd-index-list{overflow:auto}.container .tsd-panel-group.tsd-index-group .tsd-index-list.col1-grid{grid-template-columns:repeat(1,1fr)}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-summary a,.container .tsd-panel-group.tsd-index-group .tsd-accordion-summary a{width:unset}.container .tsd-panel-group.tsd-hierarchy details,.container .tsd-panel-group.tsd-index-group details{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);padding:var(--dmt-container-padding)}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-details{padding-top:.75rem}.container .tsd-panel-group.tsd-hierarchy .tsd-accordion-details ul.tsd-hierarchy{padding-left:1.25rem}.container section.tsd-index-section .tsd-index-list{padding:var(--dmt-container-padding)}.container section.tsd-index-section .tsd-index-list,.container section.tsd-panel.tsd-member{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow)}.container section.tsd-panel.tsd-member{margin-bottom:2rem;padding:var(--dmt-container-padding-member)}.container .tsd-returns-title p,.container li.tsd-description,.container ul.tsd-signatures{margin-bottom:0}.container ul.tsd-parameter-list{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);padding:var(--dmt-container-padding-member);padding-left:1.5rem}.container ul.tsd-parameter-list h5:first-child,.container ul.tsd-parameter-list h5:last-child{margin-top:0}.container ul.tsd-parameter-list ul.tsd-parameters{background:unset;border:unset;border-radius:unset;box-shadow:unset}.container ul.tsd-parameters{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow);display:flex;flex-direction:column;gap:1rem;margin-bottom:0;padding:var(--dmt-container-padding-member);padding-left:1.5rem}.container ul.tsd-parameters h5:first-child{margin-top:0}.container ul.tsd-parameters h5:last-child{margin-bottom:0}.container ul.tsd-parameters.no-children{background:unset;border:unset;border-radius:unset;box-shadow:unset;margin:0;padding:0}.container .tsd-breadcrumb li:last-child:after{content:""}@media (min-width:2190px){.page-menu{max-width:350px}.container-main{grid-template-columns:minmax(0,520px) minmax(0,1300px) 1fr;padding-left:calc(50% - 1095px)}}@media (width < 1200px){.tsd-accordion.tsd-page-navigation{display:none}.page-menu{margin-bottom:.75rem;padding-right:1rem;position:static}.site-menu{max-height:unset}}@media (max-width:769px){.from-has-menu .col-sidebar{display:flex;flex-direction:column}.from-has-menu .col-sidebar,.has-menu .col-sidebar{gap:.5rem;padding:0 0 0 1rem}}.page-menu .tsd-navigation.settings{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow-floating);margin:0;padding:var(--dmt-container-padding)}.page-menu .tsd-navigation.settings .tsd-accordion-summary{width:inherit}.page-menu .tsd-navigation.settings .tsd-filter-visibility h4{padding-top:.25rem}.page-menu .tsd-navigation.settings input[type=checkbox]:focus-visible+svg{outline:var(--dmt-outline-focus-visible)}.page-menu details.tsd-accordion.tsd-page-navigation{background:var(--dmt-container-background);border:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius);box-shadow:var(--dmt-container-box-shadow-floating);overflow:hidden;padding:var(--dmt-container-padding)}.page-menu details.tsd-accordion.tsd-page-navigation .tsd-accordion-details{height:calc(100% - var(--dmt-header-height));overflow:auto}.page-menu details.tsd-accordion.tsd-page-navigation .tsd-accordion-details ul{padding:.25rem 0 .25rem .5rem}.page-menu details[open].tsd-accordion.tsd-page-navigation{padding:var(--dmt-container-padding) 0 var(--dmt-container-padding) var(--dmt-container-padding)}.page-menu details[open].tsd-accordion.tsd-page-navigation>.tsd-accordion-summary{width:calc(100% - 1rem)}.page-menu details[open].tsd-accordion.tsd-page-navigation .tsd-accordion-details{padding-top:.75rem}.page-menu .tsd-navigation.settings details[open]>.tsd-accordion-summary,.page-menu details[open].tsd-page-navigation>.tsd-accordion-summary{border-bottom:var(--dmt-container-border);padding-bottom:var(--dmt-container-padding)}.page-menu .tsd-page-navigation details.tsd-page-navigation-section{margin:0 var(--dmt-container-padding) 0 0}.page-menu .tsd-page-navigation details.tsd-page-navigation-section:not(:last-child){margin-bottom:.25rem}.page-menu .tsd-page-navigation details.tsd-page-navigation-section summary{align-items:center;background:linear-gradient(to right,var(--dmt-container-background),#0000);border-bottom:var(--dmt-container-border);border-radius:var(--dmt-container-border-radius) 0 0 var(--dmt-container-border-radius);display:flex;gap:.25rem} \ No newline at end of file diff --git a/docs/v2.0.1/assets/dmt/icons/service/discord.png b/docs/v2.0.1/assets/dmt/icons/service/discord.png new file mode 100644 index 0000000..74ceb18 Binary files /dev/null and b/docs/v2.0.1/assets/dmt/icons/service/discord.png differ diff --git a/docs/v2.0.1/assets/dmt/icons/service/github.png b/docs/v2.0.1/assets/dmt/icons/service/github.png new file mode 100644 index 0000000..7c8a23e Binary files /dev/null and b/docs/v2.0.1/assets/dmt/icons/service/github.png differ diff --git a/docs/v2.0.1/assets/dmt/icons/service/npm.png b/docs/v2.0.1/assets/dmt/icons/service/npm.png new file mode 100644 index 0000000..5b031f3 Binary files /dev/null and b/docs/v2.0.1/assets/dmt/icons/service/npm.png differ diff --git a/docs/v2.0.1/assets/highlight.css b/docs/v2.0.1/assets/highlight.css new file mode 100644 index 0000000..ab73fb2 --- /dev/null +++ b/docs/v2.0.1/assets/highlight.css @@ -0,0 +1,106 @@ +: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: #008000; + --dark-hl-3: #6A9955; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #0000FF; + --dark-hl-6: #569CD6; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #000000FF; + --dark-hl-8: #D4D4D4; + --light-hl-9: #098658; + --dark-hl-9: #B5CEA8; + --light-hl-10: #0451A5; + --dark-hl-10: #9CDCFE; + --light-hl-11: #267F99; + --dark-hl-11: #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); + --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); + --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); + --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); + --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); } +pre, code { background: var(--code-background); } diff --git a/docs/v2.0.1/assets/icons.js b/docs/v2.0.1/assets/icons.js new file mode 100644 index 0000000..3dfbd32 --- /dev/null +++ b/docs/v2.0.1/assets/icons.js @@ -0,0 +1,18 @@ +(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 = `MMNEPVFCICPMFPCPTTAAATR`; + 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/docs/v2.0.1/assets/icons.svg b/docs/v2.0.1/assets/icons.svg new file mode 100644 index 0000000..a19417d --- /dev/null +++ b/docs/v2.0.1/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/v2.0.1/assets/main.js b/docs/v2.0.1/assets/main.js new file mode 100644 index 0000000..58c5cbb --- /dev/null +++ b/docs/v2.0.1/assets/main.js @@ -0,0 +1,60 @@ +"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.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}G(X,"a[data-toggle]");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});})(); +/*! 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/docs/v2.0.1/assets/style.css b/docs/v2.0.1/assets/style.css new file mode 100644 index 0000000..178bfb0 --- /dev/null +++ b/docs/v2.0.1/assets/style.css @@ -0,0 +1,1493 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --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: #4d7fff; + --light-color-ts-property: #ff984d; + --light-color-ts-method: #ff4db8; + --light-color-ts-reference: #ff4d82; + --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: #ff4d4d; + --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-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --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: #4d7fff; + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --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: #ff4d4d; + --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-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-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --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-reference: var(--light-color-ts-reference); + --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-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-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --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-reference: var(--dark-color-ts-reference); + --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-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --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-reference: var(--light-color-ts-reference); + --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-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --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-reference: var(--dark-color-ts-reference); + --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-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-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.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-reference { + color: var(--color-ts-reference); +} +.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-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; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/v2.0.1/assets/versionsMenu.js b/docs/v2.0.1/assets/versionsMenu.js new file mode 100644 index 0000000..b4bdf6b --- /dev/null +++ b/docs/v2.0.1/assets/versionsMenu.js @@ -0,0 +1,21 @@ +import { DOC_VERSIONS } from '../../versions.js'; + +const select = document.getElementById('plugin-versions-select'); + +DOC_VERSIONS.forEach((version) => { + const option = document.createElement('option'); + option.value = version; + option.innerHTML = version; + select.appendChild(option); +}); + +const locationSplit = location.pathname.split('/'); +const thisVersion = locationSplit.find((path) => ['stable', 'dev', ...DOC_VERSIONS].includes(path)); +select.value = DOC_VERSIONS.includes(thisVersion) + ? thisVersion + : DOC_VERSIONS[0]; +select.onchange = () => { + const newPaths = window.location.pathname.replace(`/${thisVersion}/`, `/${select.value}/`); + const newUrl = new URL(newPaths, window.location.origin); + window.location.assign(newUrl); +}; diff --git a/docs/v2.0.1/classes/index.ArgumentError.html b/docs/v2.0.1/classes/index.ArgumentError.html new file mode 100644 index 0000000..949cc00 --- /dev/null +++ b/docs/v2.0.1/classes/index.ArgumentError.html @@ -0,0 +1,33 @@ +ArgumentError | archipelago.js - v2.0.1
                                            +

                                              Class ArgumentError<T>

                                              The ValueError object represents an error with a specific argument provided.

                                              +

                                              Only returns from methods that check for specific errors.

                                              +

                                              Type Parameters

                                              • T

                                                The type of the argument value provided.

                                                +
                                              +
                                              + +
                                              + + Hierarchy
                                              +
                                              +
                                              +
                                              • Error
                                                • ArgumentError
                                              +
                                              +

                                              Properties

                                              argumentName: string

                                              The name of the argument with an invalid value.

                                              +
                                              cause?: unknown
                                              message: string
                                              name: string
                                              stack?: string
                                              value: T

                                              The value of the invalid argument.

                                              +
                                              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

                                              • Create .stack property on a target object

                                                +

                                                Parameters

                                                • targetObject: object
                                                • OptionalconstructorOpt: Function

                                                Returns void

                                              \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.BaseMessageNode.html b/docs/v2.0.1/classes/index.BaseMessageNode.html new file mode 100644 index 0000000..2743b89 --- /dev/null +++ b/docs/v2.0.1/classes/index.BaseMessageNode.html @@ -0,0 +1,27 @@ +BaseMessageNode | archipelago.js - v2.0.1
                                              +

                                                Class BaseMessageNodeAbstract

                                                The base class for all message node objects.

                                                +
                                                +
                                                + +
                                                + + Hierarchy
                                                +
                                                + +
                                                +

                                                Properties

                                                Accessors

                                                Methods

                                                Properties

                                                client: Client

                                                The client object containing additional context metadata.

                                                +

                                                The underlying message part component.

                                                +
                                                type: string

                                                The type of this message node.

                                                +

                                                Accessors

                                                • get text(): string
                                                • Returns the plaintext component of this message node.

                                                  +

                                                  Returns string

                                                  Same value returned from .toString().

                                                  +

                                                Methods

                                                \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.Client.html b/docs/v2.0.1/classes/index.Client.html new file mode 100644 index 0000000..74d7118 --- /dev/null +++ b/docs/v2.0.1/classes/index.Client.html @@ -0,0 +1,106 @@ +Client | archipelago.js - v2.0.1
                                                +

                                                  Class Client

                                                  The client that connects to an Archipelago server and provides helper methods and objects to facilitate +communication, listen for events, and manage data.

                                                  +

                                                  Constructors

                                                  Properties

                                                  deathLink: DeathLinkManager = ...

                                                  A helper object for handling DeathLink mechanics.

                                                  +
                                                  items: ItemsManager = ...

                                                  A helper object for handling received items and hints.

                                                  +
                                                  messages: MessageManager = ...

                                                  A helper object for handling chat messages.

                                                  +
                                                  options: Required<ClientOptions>

                                                  Current options for this client.

                                                  +
                                                  package: DataPackageManager = ...

                                                  A helper object for handling game data packages.

                                                  +
                                                  players: PlayersManager = ...

                                                  A helper object for handling players (including self).

                                                  +
                                                  room: RoomStateManager = ...

                                                  A helper object for handling room state.

                                                  +
                                                  socket: SocketManager = ...

                                                  A helper object for handling websocket communication and AP network protocol.

                                                  +
                                                  storage: DataStorageManager = ...

                                                  A helper object for handling the data storage API.

                                                  +

                                                  Accessors

                                                  • get authenticated(): boolean
                                                  • Returns true if currently connected and authenticated to the Archipelago server.

                                                    +

                                                    Returns boolean

                                                  • get game(): string
                                                  • Returns the client's current game name (or an empty string, if never connected).

                                                    +

                                                    Returns string

                                                  • get name(): string
                                                  • Returns the client's current slot name (or an empty string, if never connected).

                                                    +

                                                    Returns string

                                                  Methods

                                                  • Send a bounce packet targeting any clients that fulfil any target parameters. Can be listened for by listening to +"bounced" events on SocketManager.

                                                    +

                                                    Parameters

                                                    • targets: {
                                                          games?: string[];
                                                          slots?: number[];
                                                          tags?: string[];
                                                      }

                                                      The targets to receive this bounce packet.

                                                      +
                                                      • Optionalgames?: string[]

                                                        Specific games that should receive this bounce.

                                                        +
                                                      • Optionalslots?: number[]

                                                        Specific slots that should receive this bounce.

                                                        +
                                                      • Optionaltags?: string[]

                                                        Specific clients with these tags that should receive this bounce.

                                                        +
                                                    • data: JSONRecord

                                                      The json-serializable data to send.

                                                      +

                                                    Returns void

                                                    UnauthenticatedError if attempting to send a bounce while not authenticated.

                                                    +

                                                    If no targets are specified, no clients will receive this bounce packet.

                                                    +
                                                  • Marks a list of locations as checked on the server.

                                                    +

                                                    Parameters

                                                    • Rest...locations: number[]

                                                      Location ids to check.

                                                      +

                                                    Returns void

                                                    UnauthenticatedError if attempting to check locations while not authenticated.

                                                    +

                                                    Locations that do not exist or have already been checked in the multi-world are ignored.

                                                    +
                                                  • A shorthand for running Client.updateStatus(clientStatuses.goal). Once set, cannot be changed and if release +and/or collect is set to automatic, will release/collect all items.

                                                    +

                                                    Returns void

                                                    UnauthenticatedError if not connected and authenticated.

                                                    +
                                                  • Connect and authenticate to an Archipelago server.

                                                    +

                                                    Type Parameters

                                                    • SlotData extends JSONRecord

                                                      If slot data is requested, this sets the type of the returning slot data.

                                                      +

                                                    Parameters

                                                    • url: string | URL

                                                      The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                                                      +
                                                    • name: string

                                                      The slot name this client will be connecting to.

                                                      +
                                                    • game: string = ""

                                                      The game name this client will be connecting to. If omitted, client will connect in "TextOnly" mode.

                                                      +
                                                    • Optionaloptions: ConnectionOptions

                                                      Additional optional connection arguments.

                                                      +

                                                    Returns Promise<SlotData>

                                                    ArgumentError if slot name is empty.

                                                    +

                                                    LoginError if the server refuses the authentication attempt.

                                                    +

                                                    TypeError if provided URL is malformed or invalid protocol.

                                                    +

                                                    If the port is omitted, the client will default to 38281 (AP default).

                                                    +

                                                    If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                                                    +

                                                    Any paths, queries, fragments, or userinfo components of the provided url will be ignored.

                                                    +
                                                    import { Client } from "archipelago.js";

                                                    const client = new Client();

                                                    await client.login("wss://archipelago.gg:38281", "Phar", "Clique", {
                                                    slotData: false,
                                                    password: "4444"
                                                    }); +
                                                    + +
                                                    import { Client } from "archipelago.js";

                                                    interface CliqueSlotData {
                                                    color: string
                                                    hard_mode: boolean
                                                    }

                                                    const client = new Client();

                                                    // slotData: CliqueSlotData { color: "red", hard_mode: false }
                                                    const slotData = await client.login<CliqueSlotData>("wss://archipelago.gg:38281", "Phar", "Clique"); +
                                                    + +
                                                  • Scout a list of locations for their containing items.

                                                    +

                                                    Parameters

                                                    • locations: number[]

                                                      A list of location ids to scout.

                                                      +
                                                    • createHint: 0 | 1 | 2 = 0

                                                      Whether to create hints for these locations.

                                                      +
                                                        +
                                                      • If set to 0, this packet will not create hints for any locations in this packet.
                                                      • +
                                                      • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
                                                      • +
                                                      • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
                                                      • +
                                                      +

                                                    Returns Promise<Item[]>

                                                    UnauthenticatedError if attempting to scout locations while not authenticated.

                                                    +
                                                  • Request the server update the kinds of item received events this client should receive.

                                                    +

                                                    Parameters

                                                    • items: number

                                                      New item handling flags.

                                                      +

                                                    Returns void

                                                    UnauthenticatedError if not connected and authenticated.

                                                    +
                                                  • Update the client status for the current player. For a list of known client statuses, see clientStatuses.

                                                    +

                                                    Parameters

                                                    Returns void

                                                    UnauthenticatedError if not connected and authenticated.

                                                    +

                                                    The server will automatically set the player's status to clientStatuses.disconnected when all +clients connected to this slot have disconnected, set the status to clientStatuses.connected if a client +connects to this slot when previously set to clientStatuses.disconnected, or ignores any future updates +if ever set to clientStatuses.goal.

                                                    +
                                                    import { Client, clientStatuses } from "archipelago.js";

                                                    const client = new Client();
                                                    await client.login("wss://archipelago.gg:38281", "Phar", "Clique");

                                                    // Mark client as ready to start.
                                                    client.updateStatus(clientStatuses.ready); +
                                                    + +
                                                  • Request the server update this client's tags.

                                                    +

                                                    Parameters

                                                    • tags: string[]

                                                      Tags to replace the current ones.

                                                      +

                                                    Returns void

                                                    UnauthenticatedError if not connected and authenticated.

                                                    +
                                                  \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.ColorMessageNode.html b/docs/v2.0.1/classes/index.ColorMessageNode.html new file mode 100644 index 0000000..7d3c3db --- /dev/null +++ b/docs/v2.0.1/classes/index.ColorMessageNode.html @@ -0,0 +1,29 @@ +ColorMessageNode | archipelago.js - v2.0.1
                                                  +

                                                    Class ColorMessageNode

                                                    A message node object containing explicit color metadata.

                                                    +
                                                    +
                                                    + +
                                                    + + Hierarchy
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    Properties

                                                    Accessors

                                                    Methods

                                                    Properties

                                                    client: Client

                                                    The client object containing additional context metadata.

                                                    +

                                                    The explicit color (or style) of this node.

                                                    +

                                                    The underlying message part component.

                                                    +
                                                    type: "color" = ...

                                                    The type of this message node.

                                                    +

                                                    Accessors

                                                    • get text(): string
                                                    • Returns the plaintext component of this message node.

                                                      +

                                                      Returns string

                                                      Same value returned from .toString().

                                                      +

                                                    Methods

                                                    \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.DataPackageManager.html b/docs/v2.0.1/classes/index.DataPackageManager.html new file mode 100644 index 0000000..e44049d --- /dev/null +++ b/docs/v2.0.1/classes/index.DataPackageManager.html @@ -0,0 +1,62 @@ +DataPackageManager | archipelago.js - v2.0.1
                                                    +

                                                      Class DataPackageManager

                                                      Managers data packages metadata and exposes name lookup methods.

                                                      +

                                                      Methods

                                                      • Export a DataPackage object for local caching purposes.

                                                        +

                                                        Returns DataPackage

                                                        It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

                                                        +
                                                        import fs from "node:fs";
                                                        import { Client } from "archipelago.js";

                                                        // ... misc client code (connecting and fetching data package).

                                                        // Save data package to a local file.
                                                        const data = client.package.exportPackage();
                                                        fs.writeFileSync("path/to/cache/datapackage_cache.json", JSON.stringify(data), "utf8"); +
                                                        + +
                                                      • Fetches and returns the DataPackage from the server, if the games are not locally cached or checksums +do not match.

                                                        +

                                                        Parameters

                                                        • games: string[] = []

                                                          A list of game packages to fetch. If omitted, will fetch all available game packages from the +current room.

                                                          +
                                                        • update: boolean = true

                                                          If true, after fetching the data package, any changes will automatically be updated without +needing to manually call DataPackageManager.importPackage.

                                                          +

                                                        Returns Promise<DataPackage>

                                                        It is recommended to export and locally cache the data package after fetching, then prior to any future +connections, importing the locally cached package to reduce unnecessary network bandwidth.

                                                        +

                                                        Any requested games that do not exist in the current room will be ignored.

                                                        +
                                                      • Import a DataPackage object to prepopulate local cache.

                                                        +

                                                        Parameters

                                                        Returns void

                                                        It is recommended to export/import any data packages ahead of time to reduce unnecessary calls to +DataPackageManager.fetchPackage and reduce connection startup time and lighten network overhead. See +below for an example.

                                                        +
                                                        import fs from "node:fs";
                                                        import { Client } from "archipelago.js";

                                                        const data = fs.readFileSync("path/to/cache/datapackage_cache.json");
                                                        const client = new Client();

                                                        client.package.importPackage(JSON.parse(data));
                                                        await client.login("wss://archipelago.gg:38281", "Phar", "Clique"); +
                                                        + +
                                                        <script src="archipelago.js" type="module">
                                                        import { Client } from "archipelago.js";

                                                        const data = localStorage.getItem("datapackage_cache");
                                                        const client = new Client();

                                                        client.package.importPackage(JSON.parse(data));
                                                        await client.login("wss://archipelago.gg:38281", "Phar", "Clique");
                                                        </script> +
                                                        + +
                                                      • Lookup an item name by its integer id.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The name of the game this item is associated with.

                                                          +
                                                        • id: number

                                                          The id of the item to name lookup.

                                                          +
                                                        • Optionalfallback: true

                                                          If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

                                                          +

                                                        Returns string

                                                      • Lookup an item name by its integer id.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The name of the game this item is associated with.

                                                          +
                                                        • id: number

                                                          The id of the item to name lookup.

                                                          +
                                                        • fallback: false

                                                          If true, returns "Unknown Item {id}" instead of undefined, if id does not exist in package. +Defaults to true, if omitted.

                                                          +

                                                        Returns undefined | string

                                                      • Lookup a location name by its integer id.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The name of the game this location is associated with.

                                                          +
                                                        • id: number

                                                          The id of the location to name lookup.

                                                          +
                                                        • Optionalfallback: true

                                                          If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

                                                          +

                                                        Returns string

                                                      • Lookup a location name by its integer id.

                                                        +

                                                        Parameters

                                                        • game: string

                                                          The name of the game this location is associated with.

                                                          +
                                                        • id: number

                                                          The id of the location to name lookup.

                                                          +
                                                        • fallback: false

                                                          If true, returns "Unknown Location {id}" instead of undefined, if id does not exist in +package. Defaults to true, if omitted.

                                                          +

                                                        Returns undefined | string

                                                      \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.DataStorageManager.html b/docs/v2.0.1/classes/index.DataStorageManager.html new file mode 100644 index 0000000..886c765 --- /dev/null +++ b/docs/v2.0.1/classes/index.DataStorageManager.html @@ -0,0 +1,48 @@ +DataStorageManager | archipelago.js - v2.0.1
                                                      +

                                                        Class DataStorageManager

                                                        Manages communication between the data storage API and notifies subscribers of changes to storage updates.

                                                        +

                                                        Accessors

                                                        Methods

                                                        • Fetches a list of key-value pairs from data storage.

                                                          +

                                                          Type Parameters

                                                          • T extends JSONRecord

                                                            The expected key-value types to be returned.

                                                            +

                                                          Parameters

                                                          • keys: (keyof T)[]

                                                            A list of keys to fetch values for.

                                                            +
                                                          • Optionalmonitor: boolean

                                                            Adds keys to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                                                            +

                                                          Returns Promise<T>

                                                          An object containing all current values for each key requested.

                                                          +

                                                          Any keys not currently cached and monitored will be requested over the network instead of from memory.

                                                          +
                                                        • Fetches a single key-value pair from data storage.

                                                          +

                                                          Type Parameters

                                                          Parameters

                                                          • key: string

                                                            The key to fetch a value for.

                                                            +
                                                          • Optionalmonitor: boolean

                                                            Adds key to local cache and request the server to update client when changes are made to speed up +subsequent lookups.

                                                            +

                                                          Returns Promise<T>

                                                          The current value for this key.

                                                          +

                                                          Any keys not currently cached and monitored will be requested over the network instead of from memory.

                                                          +
                                                        • Returns item name groups for this package from data storage API.

                                                          +

                                                          Parameters

                                                          • game: string

                                                            The game name to look up item name groups for.

                                                            +

                                                          Returns Promise<Record<string, string[]>>

                                                        • Returns location name groups for this package from the data storage API.

                                                          +

                                                          Parameters

                                                          • game: string

                                                            The game name to look up location name groups for.

                                                            +

                                                          Returns Promise<Record<string, string[]>>

                                                        • Add a list of keys to be monitored for changes and fire a callback when changes are detected.

                                                          +

                                                          Type Parameters

                                                          Parameters

                                                          • keys: (keyof T)[]

                                                            A list of keys to fetch and watch for changes.

                                                            +
                                                          • callback: DataChangeCallback

                                                            A callback to fire whenever one of these keys change.

                                                            +

                                                          Returns Promise<T>

                                                          An object containing all current values for each key requested.

                                                          +

                                                          If connection to the Archipelago server is lost, keys will no longer be tracked for changes and need to +be monitored again.

                                                          +
                                                          const keys = ["key1", "key2"];
                                                          const data = await client.storage.notify(keys, (key, value, oldValue) => {
                                                          console.log(`Key '${key}' has been updated from ${oldValue} to ${value}!`);
                                                          });

                                                          client.storage
                                                          .prepare("key2", 0)
                                                          .add(5)
                                                          .commit();
                                                          // Key 'key2' has been updated from 0 to 5! +
                                                          + +
                                                        • Create a new transaction for setting a data storage key by returning an IntermediateDataOperation. To +perform certain operations, just chain additional methods until finished, then call prepare().

                                                          +

                                                          Type Parameters

                                                          Parameters

                                                          • key: string

                                                            The key to manipulate.

                                                            +
                                                          • _default: T

                                                            The default value to be used if key does not exist.

                                                            +

                                                          Returns IntermediateDataOperation<T>

                                                          TypeError if attempting to modify a read only key.

                                                          +
                                                          // Prepare key "my-key" and set initial value to 100, if key doesn't exist.
                                                          client.storage
                                                          .prepare("my-key", 100)
                                                          .multiply(0.25) // Multiply value by 0.25.
                                                          .floor() // Round down to nearest integer.
                                                          .max(0) // Clamp value above 0.
                                                          .commit(); // Commit operations to data storage. +
                                                          + +
                                                        \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.DeathLinkManager.html b/docs/v2.0.1/classes/index.DeathLinkManager.html new file mode 100644 index 0000000..e93db36 --- /dev/null +++ b/docs/v2.0.1/classes/index.DeathLinkManager.html @@ -0,0 +1,47 @@ +DeathLinkManager | archipelago.js - v2.0.1
                                                        +

                                                          Class DeathLinkManager

                                                          Manages DeathLink mechanics for clients that choose to opt in to the mechanic.

                                                          +
                                                          +
                                                          + +
                                                          + + Hierarchy
                                                          +
                                                          + +
                                                          +

                                                          Accessors

                                                          Methods

                                                          • If DeathLink is enabled, sends a DeathLink to all DeathLink enabled players, otherwise this method does nothing.

                                                            +

                                                            Parameters

                                                            • source: string

                                                              The name of the player who died. Can be a slot name, but could also be a name from within a +multiplayer game.

                                                              +
                                                            • Optionalcause: string

                                                              Optional text explaining the cause of death. When provided, this should include the player's name. +(e.g., Phar drowned in a vat of kittens.)

                                                              +

                                                            Returns void

                                                            UnauthenticatedError if attempting to send a death link before authenticating to the server.

                                                            +

                                                            DeathLinks sent from this client will not fire a DeathEvents.deathReceived event to avoid +an infinite feedback loop of deaths.

                                                            +
                                                          • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                            +

                                                            Type Parameters

                                                            • Event extends "deathReceived"

                                                            Parameters

                                                            • event: Event

                                                              The event name to listen for.

                                                              +
                                                            • clearPredicate: ((...args: DeathEvents[Event]) => boolean) = ...

                                                              An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                              +

                                                            Returns Promise<DeathEvents[Event]>

                                                          \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.EventBasedManager.html b/docs/v2.0.1/classes/index.EventBasedManager.html new file mode 100644 index 0000000..ea1e1b1 --- /dev/null +++ b/docs/v2.0.1/classes/index.EventBasedManager.html @@ -0,0 +1,34 @@ +EventBasedManager | archipelago.js - v2.0.1
                                                          +

                                                            Class EventBasedManager<Events>Abstract

                                                            An abstract class for managers that offer an event-based API.

                                                            +

                                                            Type Parameters

                                                            • Events extends {
                                                                  [p: string]: unknown[];
                                                              }

                                                              An interface of events supported by this derived manager.

                                                              +
                                                            +
                                                            + +
                                                            + + Hierarchy
                                                            +
                                                            + +
                                                            +

                                                            Constructors

                                                            Methods

                                                            off +on +wait +

                                                            Constructors

                                                            Methods

                                                            • Removes an existing event listener.

                                                              +

                                                              Type Parameters

                                                              • Event extends string

                                                              Parameters

                                                              • event: Event

                                                                The event name associated with this listener to remove.

                                                                +
                                                              • listener: ((...args: Events[Event]) => void)

                                                                The callback function to remove.

                                                                +
                                                                  • (...args): void
                                                                  • Parameters

                                                                    Returns void

                                                              Returns this

                                                              This object.

                                                              +
                                                            • Add an event listener for a specific event.

                                                              +

                                                              Type Parameters

                                                              • Event extends string

                                                              Parameters

                                                              • event: Event

                                                                The event name to listen for.

                                                                +
                                                              • listener: ((...args: Events[Event]) => void)

                                                                The callback function to fire when this event is received.

                                                                +
                                                                  • (...args): void
                                                                  • Parameters

                                                                    Returns void

                                                              Returns this

                                                              This object.

                                                              +
                                                            • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                              +

                                                              Type Parameters

                                                              • Event extends string

                                                              Parameters

                                                              • event: Event

                                                                The event name to listen for.

                                                                +
                                                              • clearPredicate: ((...args: Events[Event]) => boolean) = ...

                                                                An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                +
                                                                  • (...args): boolean
                                                                  • Parameters

                                                                    Returns boolean

                                                              Returns Promise<Events[Event]>

                                                            \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.Hint.html b/docs/v2.0.1/classes/index.Hint.html new file mode 100644 index 0000000..fa34b12 --- /dev/null +++ b/docs/v2.0.1/classes/index.Hint.html @@ -0,0 +1,12 @@ +Hint | archipelago.js - v2.0.1
                                                            +

                                                              Class Hint

                                                              An abstraction of NetworkHint that exposes additional helper methods and accessors received hint data.

                                                              +

                                                              Accessors

                                                              Accessors

                                                              • get entrance(): string
                                                              • Returns the entrance this location is at if entrance data is available, otherwise "Vanilla".

                                                                +

                                                                Returns string

                                                              • get found(): boolean
                                                              • Returns true if this item has been found.

                                                                +

                                                                Returns boolean

                                                              \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.IntermediateDataOperation.html b/docs/v2.0.1/classes/index.IntermediateDataOperation.html new file mode 100644 index 0000000..9e590c5 --- /dev/null +++ b/docs/v2.0.1/classes/index.IntermediateDataOperation.html @@ -0,0 +1,65 @@ +IntermediateDataOperation | archipelago.js - v2.0.1
                                                              +

                                                                Class IntermediateDataOperation<T>

                                                                An intermediate abstract object holding an array of data storage operations to be performed in order by the server.

                                                                +

                                                                Type Parameters

                                                                Methods

                                                                • Commit the current operations to data store and return a Promise with the updated key, once fulfilled.

                                                                  +

                                                                  Parameters

                                                                  • awaitReply: true

                                                                    If true, a promise will be returned with the new value. Otherwise, immediately resolves.

                                                                    +

                                                                  Returns Promise<T>

                                                                • Commit the current operations to data store.

                                                                  +

                                                                  Parameters

                                                                  • awaitReply: false

                                                                  Returns Promise<void>

                                                                \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.Item.html b/docs/v2.0.1/classes/index.Item.html new file mode 100644 index 0000000..b445b3a --- /dev/null +++ b/docs/v2.0.1/classes/index.Item.html @@ -0,0 +1,34 @@ +Item | archipelago.js - v2.0.1
                                                                +

                                                                  Class Item

                                                                  An abstraction of NetworkItem that exposes additional helper methods and accessors for this item data.

                                                                  +

                                                                  Accessors

                                                                  • get filler(): boolean
                                                                  • Returns true if this item has no special flags.

                                                                    +

                                                                    Returns boolean

                                                                  • get flags(): number
                                                                  • Returns the item classification bitflags for this item.

                                                                    +

                                                                    Returns number

                                                                  • get locationGame(): string
                                                                  • Returns the game name for the location this item was contained.

                                                                    +

                                                                    Returns string

                                                                  • get locationId(): number
                                                                  • Returns the id of the location where this item was contained.

                                                                    +

                                                                    Returns number

                                                                  • get locationName(): string
                                                                  • Returns the name of the location where this item was contained.

                                                                    +

                                                                    Returns string

                                                                  • get progression(): boolean
                                                                  • Returns true if this item is flagged as progression.

                                                                    +

                                                                    Returns boolean

                                                                  • get trap(): boolean
                                                                  • Returns true if this item is flagged as a trap.

                                                                    +

                                                                    Returns boolean

                                                                  • get useful(): boolean
                                                                  • Returns true if this item is flagged as useful.

                                                                    +

                                                                    Returns boolean

                                                                  Methods

                                                                  \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.ItemMessageNode.html b/docs/v2.0.1/classes/index.ItemMessageNode.html new file mode 100644 index 0000000..09c4d61 --- /dev/null +++ b/docs/v2.0.1/classes/index.ItemMessageNode.html @@ -0,0 +1,28 @@ +ItemMessageNode | archipelago.js - v2.0.1
                                                                  +

                                                                    Class ItemMessageNode

                                                                    A message node object containing item metadata.

                                                                    +
                                                                    +
                                                                    + +
                                                                    + + Hierarchy
                                                                    +
                                                                    +
                                                                    +
                                                                    +
                                                                    +

                                                                    Properties

                                                                    Accessors

                                                                    Methods

                                                                    Properties

                                                                    client: Client

                                                                    The client object containing additional context metadata.

                                                                    +
                                                                    item: Item

                                                                    The item this node is referring to.

                                                                    +

                                                                    The underlying message part component.

                                                                    +
                                                                    type: "item" = ...

                                                                    The type of this message node.

                                                                    +

                                                                    Accessors

                                                                    Methods

                                                                    \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.ItemsManager.html b/docs/v2.0.1/classes/index.ItemsManager.html new file mode 100644 index 0000000..b779a1a --- /dev/null +++ b/docs/v2.0.1/classes/index.ItemsManager.html @@ -0,0 +1,41 @@ +ItemsManager | archipelago.js - v2.0.1
                                                                    +

                                                                      Class ItemsManager

                                                                      Manages tracking and receiving of all received items and hints.

                                                                      +
                                                                      +
                                                                      + +
                                                                      + + Hierarchy
                                                                      +
                                                                      + +
                                                                      +

                                                                      Accessors

                                                                      Methods

                                                                      off +on +wait +

                                                                      Accessors

                                                                      • get hints(): Hint[]
                                                                      • Returns a copy of all hints for this player.

                                                                        +

                                                                        Returns Hint[]

                                                                        Hints may take a moment to populate after establishing connection to server, as it needs to wait for +data storage to fetch all current hints. If you need hints right after connecting, listen for the +ItemEvents.hintsInitialized event.

                                                                        +

                                                                      Methods

                                                                      • Removes an existing event listener.

                                                                        +

                                                                        Type Parameters

                                                                        • Event extends
                                                                              | "itemsReceived"
                                                                              | "hintReceived"
                                                                              | "hintFound"
                                                                              | "hintsInitialized"

                                                                        Parameters

                                                                        • event: Event

                                                                          The event name associated with this listener to remove.

                                                                          +
                                                                        • listener: ((...args: ItemEvents[Event]) => void)

                                                                          The callback function to remove.

                                                                          +

                                                                        Returns this

                                                                        This object.

                                                                        +
                                                                      • Add an event listener for a specific event.

                                                                        +

                                                                        Type Parameters

                                                                        • Event extends
                                                                              | "itemsReceived"
                                                                              | "hintReceived"
                                                                              | "hintFound"
                                                                              | "hintsInitialized"

                                                                        Parameters

                                                                        • event: Event

                                                                          The event name to listen for.

                                                                          +
                                                                        • listener: ((...args: ItemEvents[Event]) => void)

                                                                          The callback function to fire when this event is received.

                                                                          +

                                                                        Returns this

                                                                        This object.

                                                                        +
                                                                      • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                        +

                                                                        Type Parameters

                                                                        • Event extends
                                                                              | "itemsReceived"
                                                                              | "hintReceived"
                                                                              | "hintFound"
                                                                              | "hintsInitialized"

                                                                        Parameters

                                                                        • event: Event

                                                                          The event name to listen for.

                                                                          +
                                                                        • clearPredicate: ((...args: ItemEvents[Event]) => boolean) = ...

                                                                          An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                          +

                                                                        Returns Promise<ItemEvents[Event]>

                                                                      \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.LocationMessageNode.html b/docs/v2.0.1/classes/index.LocationMessageNode.html new file mode 100644 index 0000000..9f5dca2 --- /dev/null +++ b/docs/v2.0.1/classes/index.LocationMessageNode.html @@ -0,0 +1,28 @@ +LocationMessageNode | archipelago.js - v2.0.1
                                                                      +

                                                                        Class LocationMessageNode

                                                                        A message node object containing location metadata.

                                                                        +
                                                                        +
                                                                        + +
                                                                        + + Hierarchy
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        Properties

                                                                        Accessors

                                                                        Methods

                                                                        Properties

                                                                        client: Client

                                                                        The client object containing additional context metadata.

                                                                        +
                                                                        id: number

                                                                        The integer id of this location.

                                                                        +

                                                                        The underlying message part component.

                                                                        +
                                                                        type: "location" = ...

                                                                        The type of this message node.

                                                                        +

                                                                        Accessors

                                                                        Methods

                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.LoginError.html b/docs/v2.0.1/classes/index.LoginError.html new file mode 100644 index 0000000..e1ba521 --- /dev/null +++ b/docs/v2.0.1/classes/index.LoginError.html @@ -0,0 +1,30 @@ +LoginError | archipelago.js - v2.0.1
                                                                        +

                                                                          Class LoginError

                                                                          The LoginError object represents an error when attempting to log into an Archipelago session, but authentication +failed. The server returns a list of known issues found while attempting to connect.

                                                                          +
                                                                          +
                                                                          + +
                                                                          + + Hierarchy
                                                                          +
                                                                          +
                                                                          +
                                                                          • Error
                                                                            • LoginError
                                                                          +
                                                                          +

                                                                          Properties

                                                                          cause?: unknown
                                                                          errors: ConnectionError[] = []

                                                                          A list of connection errors that prevented the connection to the Archipelago server.

                                                                          +
                                                                          message: string
                                                                          name: string
                                                                          stack?: string
                                                                          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

                                                                          • Create .stack property on a target object

                                                                            +

                                                                            Parameters

                                                                            • targetObject: object
                                                                            • OptionalconstructorOpt: Function

                                                                            Returns void

                                                                          \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.MessageManager.html b/docs/v2.0.1/classes/index.MessageManager.html new file mode 100644 index 0000000..64ea98f --- /dev/null +++ b/docs/v2.0.1/classes/index.MessageManager.html @@ -0,0 +1,42 @@ +MessageManager | archipelago.js - v2.0.1
                                                                          +

                                                                            Class MessageManager

                                                                            Manages and stores PrintJSONPacket messages, notifies subscribers of new messages, and exposes helper methods +to interact with the chat system.

                                                                            +
                                                                            +
                                                                            + +
                                                                            + + Hierarchy
                                                                            +
                                                                            + +
                                                                            +

                                                                            Accessors

                                                                            log +

                                                                            Methods

                                                                            off +on +say +wait +

                                                                            Accessors

                                                                            Methods

                                                                            • Removes an existing event listener.

                                                                              +

                                                                              Type Parameters

                                                                              • Event extends
                                                                                    | "disconnected"
                                                                                    | "connected"
                                                                                    | "message"
                                                                                    | "itemSent"
                                                                                    | "itemCheated"
                                                                                    | "itemHinted"
                                                                                    | "chat"
                                                                                    | "serverChat"
                                                                                    | "tutorial"
                                                                                    | "tagsUpdated"
                                                                                    | "userCommand"
                                                                                    | "adminCommand"
                                                                                    | "goaled"
                                                                                    | "released"
                                                                                    | "collected"
                                                                                    | "countdown"

                                                                              Parameters

                                                                              • event: Event

                                                                                The event name associated with this listener to remove.

                                                                                +
                                                                              • listener: ((...args: MessageEvents[Event]) => void)

                                                                                The callback function to remove.

                                                                                +

                                                                              Returns this

                                                                              This object.

                                                                              +
                                                                            • Add an event listener for a specific event.

                                                                              +

                                                                              Type Parameters

                                                                              • Event extends
                                                                                    | "disconnected"
                                                                                    | "connected"
                                                                                    | "message"
                                                                                    | "itemSent"
                                                                                    | "itemCheated"
                                                                                    | "itemHinted"
                                                                                    | "chat"
                                                                                    | "serverChat"
                                                                                    | "tutorial"
                                                                                    | "tagsUpdated"
                                                                                    | "userCommand"
                                                                                    | "adminCommand"
                                                                                    | "goaled"
                                                                                    | "released"
                                                                                    | "collected"
                                                                                    | "countdown"

                                                                              Parameters

                                                                              • event: Event

                                                                                The event name to listen for.

                                                                                +
                                                                              • listener: ((...args: MessageEvents[Event]) => void)

                                                                                The callback function to fire when this event is received.

                                                                                +

                                                                              Returns this

                                                                              This object.

                                                                              +
                                                                            • Sends a chat message to the server.

                                                                              +

                                                                              Parameters

                                                                              • text: string

                                                                                The textual message to broadcast to all connected clients.

                                                                                +

                                                                              Returns Promise<void>

                                                                              A promise that resolves when the server has broadcast the chat message.

                                                                              +

                                                                              UnauthenticatedError if attempting to send a chat message when not connected or authenticated.

                                                                              +
                                                                            • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                              +

                                                                              Type Parameters

                                                                              • Event extends
                                                                                    | "disconnected"
                                                                                    | "connected"
                                                                                    | "message"
                                                                                    | "itemSent"
                                                                                    | "itemCheated"
                                                                                    | "itemHinted"
                                                                                    | "chat"
                                                                                    | "serverChat"
                                                                                    | "tutorial"
                                                                                    | "tagsUpdated"
                                                                                    | "userCommand"
                                                                                    | "adminCommand"
                                                                                    | "goaled"
                                                                                    | "released"
                                                                                    | "collected"
                                                                                    | "countdown"

                                                                              Parameters

                                                                              • event: Event

                                                                                The event name to listen for.

                                                                                +
                                                                              • clearPredicate: ((...args: MessageEvents[Event]) => boolean) = ...

                                                                                An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                +

                                                                              Returns Promise<MessageEvents[Event]>

                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.PackageMetadata.html b/docs/v2.0.1/classes/index.PackageMetadata.html new file mode 100644 index 0000000..6e0d7ee --- /dev/null +++ b/docs/v2.0.1/classes/index.PackageMetadata.html @@ -0,0 +1,21 @@ +PackageMetadata | archipelago.js - v2.0.1
                                                                            +

                                                                              Class PackageMetadata

                                                                              An abstraction of a GamePackage object which includes additional helper methods for interacting with a game's +package.

                                                                              +

                                                                              Properties

                                                                              checksum: string

                                                                              The SHA256 hexadecimal string representation of this game package.

                                                                              +
                                                                              game: string

                                                                              The name of the game this game package is for.

                                                                              +
                                                                              itemTable: Readonly<Record<string, number>>

                                                                              A record of names to ids for all items in this game package.

                                                                              +
                                                                              locationTable: Readonly<Record<string, number>>

                                                                              A record of names to ids for all locations in this game package.

                                                                              +
                                                                              reverseItemTable: Readonly<Record<number, string>>

                                                                              A record of ids to names for all items in this game package.

                                                                              +
                                                                              reverseLocationTable: Readonly<Record<number, string>>

                                                                              A record of ids to names for all locations in this game package.

                                                                              +

                                                                              Methods

                                                                              \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.Player.html b/docs/v2.0.1/classes/index.Player.html new file mode 100644 index 0000000..9be52d9 --- /dev/null +++ b/docs/v2.0.1/classes/index.Player.html @@ -0,0 +1,33 @@ +Player | archipelago.js - v2.0.1
                                                                              +

                                                                                Class Player

                                                                                A collection of metadata and helper methods for interacting with a particular player.

                                                                                +

                                                                                Accessors

                                                                                • get alias(): string
                                                                                • Returns the current nickname for this player or the slot name if not set.

                                                                                  +

                                                                                  Returns string

                                                                                Methods

                                                                                • Fetch this player's slot data over the network.

                                                                                  +

                                                                                  Type Parameters

                                                                                  • SlotData extends JSONRecord

                                                                                    The type of the slot data that is returned, for better typing information.

                                                                                    +

                                                                                  Returns Promise<SlotData>

                                                                                  This data is not tracked after running, so slot data should be cached to reduce additional network +calls, if necessary.

                                                                                  +
                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.PlayerMessageNode.html b/docs/v2.0.1/classes/index.PlayerMessageNode.html new file mode 100644 index 0000000..112cb75 --- /dev/null +++ b/docs/v2.0.1/classes/index.PlayerMessageNode.html @@ -0,0 +1,28 @@ +PlayerMessageNode | archipelago.js - v2.0.1
                                                                                +

                                                                                  Class PlayerMessageNode

                                                                                  A message node object containing explicit color metadata.

                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  + + Hierarchy
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  Properties

                                                                                  Accessors

                                                                                  Methods

                                                                                  Properties

                                                                                  client: Client

                                                                                  The client object containing additional context metadata.

                                                                                  +

                                                                                  The underlying message part component.

                                                                                  +
                                                                                  player: Player

                                                                                  The player being referenced by this node.

                                                                                  +
                                                                                  type: "player" = ...

                                                                                  The type of this message node.

                                                                                  +

                                                                                  Accessors

                                                                                  Methods

                                                                                  \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.PlayersManager.html b/docs/v2.0.1/classes/index.PlayersManager.html new file mode 100644 index 0000000..0affd11 --- /dev/null +++ b/docs/v2.0.1/classes/index.PlayersManager.html @@ -0,0 +1,49 @@ +PlayersManager | archipelago.js - v2.0.1
                                                                                  +

                                                                                    Class PlayersManager

                                                                                    Manages tracking and updating all players in the room session.

                                                                                    +
                                                                                    +
                                                                                    + +
                                                                                    + + Hierarchy
                                                                                    +
                                                                                    + +
                                                                                    +

                                                                                    Accessors

                                                                                    Methods

                                                                                    Accessors

                                                                                    • get teams(): Player[][]
                                                                                    • Returns a 2D array of player metadata ranked by team number, then slot number.

                                                                                      +

                                                                                      Returns Player[][]

                                                                                      for (const team of client.players.teams) {
                                                                                      for (const player of team) {
                                                                                      console.log(player.alias);
                                                                                      }
                                                                                      } +
                                                                                      + +

                                                                                    Methods

                                                                                    • Attempt to find a player by their team or slot name.

                                                                                      +

                                                                                      Parameters

                                                                                      • slot: number

                                                                                        The slot id associated with the searched player.

                                                                                        +
                                                                                      • Optionalteam: number

                                                                                        The team id associated with the searched player. If omitted, defaults to the team of the client +player.

                                                                                        +

                                                                                      Returns undefined | Player

                                                                                      The player's metadata or undefined if not found.

                                                                                      +
                                                                                    • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                      +

                                                                                      Type Parameters

                                                                                      • Event extends "aliasUpdated"

                                                                                      Parameters

                                                                                      • event: Event

                                                                                        The event name to listen for.

                                                                                        +
                                                                                      • clearPredicate: ((...args: PlayerEvents[Event]) => boolean) = ...

                                                                                        An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                        +

                                                                                      Returns Promise<PlayerEvents[Event]>

                                                                                    \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.RoomStateManager.html b/docs/v2.0.1/classes/index.RoomStateManager.html new file mode 100644 index 0000000..eb27c17 --- /dev/null +++ b/docs/v2.0.1/classes/index.RoomStateManager.html @@ -0,0 +1,68 @@ +RoomStateManager | archipelago.js - v2.0.1
                                                                                    +

                                                                                      Class RoomStateManager

                                                                                      Managers room state information, notifies subscribers of changes, and exposes helper methods for interacting with the +room.

                                                                                      +
                                                                                      +
                                                                                      + +
                                                                                      + + Hierarchy
                                                                                      +
                                                                                      + +
                                                                                      +

                                                                                      Accessors

                                                                                      • get generatorVersion(): {
                                                                                            build: number;
                                                                                            major: number;
                                                                                            minor: number;
                                                                                        }
                                                                                      • Returns the version of Archipelago the seed was generated from.

                                                                                        +

                                                                                        Returns {
                                                                                            build: number;
                                                                                            major: number;
                                                                                            minor: number;
                                                                                        }

                                                                                        • build: number
                                                                                        • major: number
                                                                                        • minor: number

                                                                                        All properties will be -1 prior to initial connection.

                                                                                        +
                                                                                      • get race(): boolean
                                                                                      • Experimental

                                                                                        Returns if this seed was generated with race mode enabled (to be used to obscure unnecessary details to make +clients race legal depending on rules).

                                                                                        +

                                                                                        Returns boolean

                                                                                      • get seedName(): string
                                                                                      • Get the seed name for this room.

                                                                                        +

                                                                                        Returns string

                                                                                        In non-race seeds, this is based on the seed to generate this multi-world, but not exactly the same to +prevent reverse engineering. In race seeds, this is completely random.

                                                                                        +
                                                                                      • get serverVersion(): {
                                                                                            build: number;
                                                                                            major: number;
                                                                                            minor: number;
                                                                                        }
                                                                                      • Returns the version of Archipelago the server is currently running.

                                                                                        +

                                                                                        Returns {
                                                                                            build: number;
                                                                                            major: number;
                                                                                            minor: number;
                                                                                        }

                                                                                        • build: number
                                                                                        • major: number
                                                                                        • minor: number

                                                                                        All properties will be -1 prior to initial connection.

                                                                                        +

                                                                                      Methods

                                                                                      • Removes an existing event listener.

                                                                                        +

                                                                                        Type Parameters

                                                                                        • Event extends
                                                                                              | "passwordUpdated"
                                                                                              | "permissionsUpdated"
                                                                                              | "locationCheckPointsUpdated"
                                                                                              | "hintCostUpdated"
                                                                                              | "hintPointsUpdated"
                                                                                              | "locationsChecked"

                                                                                        Parameters

                                                                                        • event: Event

                                                                                          The event name associated with this listener to remove.

                                                                                          +
                                                                                        • listener: ((...args: RoomStateEvents[Event]) => void)

                                                                                          The callback function to remove.

                                                                                          +

                                                                                        Returns this

                                                                                        This object.

                                                                                        +
                                                                                      • Add an event listener for a specific event.

                                                                                        +

                                                                                        Type Parameters

                                                                                        • Event extends
                                                                                              | "passwordUpdated"
                                                                                              | "permissionsUpdated"
                                                                                              | "locationCheckPointsUpdated"
                                                                                              | "hintCostUpdated"
                                                                                              | "hintPointsUpdated"
                                                                                              | "locationsChecked"

                                                                                        Parameters

                                                                                        • event: Event

                                                                                          The event name to listen for.

                                                                                          +
                                                                                        • listener: ((...args: RoomStateEvents[Event]) => void)

                                                                                          The callback function to fire when this event is received.

                                                                                          +

                                                                                        Returns this

                                                                                        This object.

                                                                                        +
                                                                                      • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                        +

                                                                                        Type Parameters

                                                                                        • Event extends
                                                                                              | "passwordUpdated"
                                                                                              | "permissionsUpdated"
                                                                                              | "locationCheckPointsUpdated"
                                                                                              | "hintCostUpdated"
                                                                                              | "hintPointsUpdated"
                                                                                              | "locationsChecked"

                                                                                        Parameters

                                                                                        • event: Event

                                                                                          The event name to listen for.

                                                                                          +
                                                                                        • clearPredicate: ((...args: RoomStateEvents[Event]) => boolean) = ...

                                                                                          An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                          +

                                                                                        Returns Promise<RoomStateEvents[Event]>

                                                                                      \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.SocketError.html b/docs/v2.0.1/classes/index.SocketError.html new file mode 100644 index 0000000..5bf56c0 --- /dev/null +++ b/docs/v2.0.1/classes/index.SocketError.html @@ -0,0 +1,29 @@ +SocketError | archipelago.js - v2.0.1
                                                                                      +

                                                                                        Class SocketError

                                                                                        The SocketError object represents an error when a requested operation on the web socket connection cannot be +completed, such as trying to send packet data when no active connection exists.

                                                                                        +
                                                                                        +
                                                                                        + +
                                                                                        + + Hierarchy
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        • Error
                                                                                          • SocketError
                                                                                        +
                                                                                        +

                                                                                        Constructors

                                                                                        • Parameters

                                                                                          • Optionalmessage: string

                                                                                          Returns SocketError

                                                                                        • Parameters

                                                                                          • Optionalmessage: string
                                                                                          • Optionaloptions: ErrorOptions

                                                                                          Returns SocketError

                                                                                        Properties

                                                                                        cause?: unknown
                                                                                        message: string
                                                                                        name: string
                                                                                        stack?: string
                                                                                        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

                                                                                        • Create .stack property on a target object

                                                                                          +

                                                                                          Parameters

                                                                                          • targetObject: object
                                                                                          • OptionalconstructorOpt: Function

                                                                                          Returns void

                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.SocketManager.html b/docs/v2.0.1/classes/index.SocketManager.html new file mode 100644 index 0000000..21951f7 --- /dev/null +++ b/docs/v2.0.1/classes/index.SocketManager.html @@ -0,0 +1,53 @@ +SocketManager | archipelago.js - v2.0.1
                                                                                        +

                                                                                          Class SocketManager

                                                                                          Manages socket-level communication and exposes helper methods/events for interacting with the Archipelago API +directly.

                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + + Hierarchy
                                                                                          +
                                                                                          + +
                                                                                          +

                                                                                          Accessors

                                                                                          Methods

                                                                                          Accessors

                                                                                          Methods

                                                                                          • Establish a connection to an Archipelago server before authenticating; useful if there might be tasked that are +needed to be performed before authenticating, but after connecting (e.g., DataPackage).

                                                                                            +

                                                                                            Parameters

                                                                                            • url: string | URL

                                                                                              The url of the server, including the protocol (e.g., wss://archipelago.gg:38281).

                                                                                              +

                                                                                            Returns Promise<RoomInfoPacket>

                                                                                            The RoomInfoPacket received on initial connection.

                                                                                            +

                                                                                            SocketError if failed to connect or no websocket API is available.

                                                                                            +

                                                                                            TypeError if provided URL is malformed or invalid protocol.

                                                                                            +

                                                                                            If the port is omitted, client will default to 38281.

                                                                                            +

                                                                                            If the protocol is omitted, client will attempt to connect via wss, then fallback to ws if unsuccessful.

                                                                                            +
                                                                                          • Removes an existing event listener.

                                                                                            +

                                                                                            Type Parameters

                                                                                            • Event extends
                                                                                                  | "disconnected"
                                                                                                  | "connected"
                                                                                                  | "bounced"
                                                                                                  | "connectionRefused"
                                                                                                  | "dataPackage"
                                                                                                  | "invalidPacket"
                                                                                                  | "locationInfo"
                                                                                                  | "printJSON"
                                                                                                  | "receivedItems"
                                                                                                  | "retrieved"
                                                                                                  | "roomInfo"
                                                                                                  | "roomUpdate"
                                                                                                  | "setReply"
                                                                                                  | "receivedPacket"
                                                                                                  | "sentPackets"

                                                                                            Parameters

                                                                                            • event: Event

                                                                                              The event name associated with this listener to remove.

                                                                                              +
                                                                                            • listener: ((...args: SocketEvents[Event]) => void)

                                                                                              The callback function to remove.

                                                                                              +

                                                                                            Returns this

                                                                                            This object.

                                                                                            +
                                                                                          • Add an event listener for a specific event.

                                                                                            +

                                                                                            Type Parameters

                                                                                            • Event extends
                                                                                                  | "disconnected"
                                                                                                  | "connected"
                                                                                                  | "bounced"
                                                                                                  | "connectionRefused"
                                                                                                  | "dataPackage"
                                                                                                  | "invalidPacket"
                                                                                                  | "locationInfo"
                                                                                                  | "printJSON"
                                                                                                  | "receivedItems"
                                                                                                  | "retrieved"
                                                                                                  | "roomInfo"
                                                                                                  | "roomUpdate"
                                                                                                  | "setReply"
                                                                                                  | "receivedPacket"
                                                                                                  | "sentPackets"

                                                                                            Parameters

                                                                                            • event: Event

                                                                                              The event name to listen for.

                                                                                              +
                                                                                            • listener: ((...args: SocketEvents[Event]) => void)

                                                                                              The callback function to fire when this event is received.

                                                                                              +

                                                                                            Returns this

                                                                                            This object.

                                                                                            +
                                                                                          • Returns a promise that waits for a single specified event to be received. Resolves with the list of arguments +dispatched with the event.

                                                                                            +

                                                                                            Type Parameters

                                                                                            • Event extends
                                                                                                  | "disconnected"
                                                                                                  | "connected"
                                                                                                  | "bounced"
                                                                                                  | "connectionRefused"
                                                                                                  | "dataPackage"
                                                                                                  | "invalidPacket"
                                                                                                  | "locationInfo"
                                                                                                  | "printJSON"
                                                                                                  | "receivedItems"
                                                                                                  | "retrieved"
                                                                                                  | "roomInfo"
                                                                                                  | "roomUpdate"
                                                                                                  | "setReply"
                                                                                                  | "receivedPacket"
                                                                                                  | "sentPackets"

                                                                                            Parameters

                                                                                            • event: Event

                                                                                              The event name to listen for.

                                                                                              +
                                                                                            • clearPredicate: ((...args: SocketEvents[Event]) => boolean) = ...

                                                                                              An optional predicate to check on incoming events to validate if the correct event has +been received. If omitted, will return immediately on next event type received.

                                                                                              +

                                                                                            Returns Promise<SocketEvents[Event]>

                                                                                          \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.TextualMessageNode.html b/docs/v2.0.1/classes/index.TextualMessageNode.html new file mode 100644 index 0000000..0323735 --- /dev/null +++ b/docs/v2.0.1/classes/index.TextualMessageNode.html @@ -0,0 +1,27 @@ +TextualMessageNode | archipelago.js - v2.0.1
                                                                                          +

                                                                                            Class TextualMessageNode

                                                                                            A message node object containing explicit color metadata.

                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            + + Hierarchy
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            Properties

                                                                                            Accessors

                                                                                            Methods

                                                                                            Properties

                                                                                            client: Client

                                                                                            The client object containing additional context metadata.

                                                                                            +

                                                                                            The underlying message part component.

                                                                                            +
                                                                                            type: "text" | "entrance"

                                                                                            The type of this message node.

                                                                                            +

                                                                                            Accessors

                                                                                            • get text(): string
                                                                                            • Returns the plaintext component of this message node.

                                                                                              +

                                                                                              Returns string

                                                                                              Same value returned from .toString().

                                                                                              +

                                                                                            Methods

                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/classes/index.UnauthenticatedError.html b/docs/v2.0.1/classes/index.UnauthenticatedError.html new file mode 100644 index 0000000..512d091 --- /dev/null +++ b/docs/v2.0.1/classes/index.UnauthenticatedError.html @@ -0,0 +1,29 @@ +UnauthenticatedError | archipelago.js - v2.0.1
                                                                                            +

                                                                                              Class UnauthenticatedError

                                                                                              The UnauthenticatedError object represents an error while attempting to perform an action that requires being +authenticated to the current session, while not being authenticated or connected to the server.

                                                                                              +
                                                                                              +
                                                                                              + +
                                                                                              + + Hierarchy
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              • Error
                                                                                                • UnauthenticatedError
                                                                                              +
                                                                                              +

                                                                                              Constructors

                                                                                              • Parameters

                                                                                                • Optionalmessage: string

                                                                                                Returns UnauthenticatedError

                                                                                              • Parameters

                                                                                                • Optionalmessage: string
                                                                                                • Optionaloptions: ErrorOptions

                                                                                                Returns UnauthenticatedError

                                                                                              Properties

                                                                                              cause?: unknown
                                                                                              message: string
                                                                                              name: string
                                                                                              stack?: string
                                                                                              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

                                                                                              • Create .stack property on a target object

                                                                                                +

                                                                                                Parameters

                                                                                                • targetObject: object
                                                                                                • OptionalconstructorOpt: Function

                                                                                                Returns void

                                                                                              \ No newline at end of file diff --git a/docs/v2.0.1/documents/Quick_Start.html b/docs/v2.0.1/documents/Quick_Start.html new file mode 100644 index 0000000..197a1fd --- /dev/null +++ b/docs/v2.0.1/documents/Quick_Start.html @@ -0,0 +1,62 @@ +Quick Start | archipelago.js - v2.0.1
                                                                                              +

                                                                                                Quick Start Guide

                                                                                                Before we begin, make sure you fulfil the following prerequisites:

                                                                                                +
                                                                                                  +
                                                                                                • Have a basic understanding of JavaScript.
                                                                                                • +
                                                                                                • Have installed a JavaScript runtime or web server for starting in the web browser.
                                                                                                • +
                                                                                                • Have an Archipelago server to connect to.
                                                                                                • +
                                                                                                +

                                                                                                To start a new project with archipelago.js, you'll need to set up a project directory.

                                                                                                +

                                                                                                If you're using a runtime like Node, you can install archipelago.js by running the following command in your +project directory: npm install archipelago.js, then following the rest of this tutorial.

                                                                                                +

                                                                                                If you're looking to run this in a web browser without packaging as a part of a tool like vite or webpack, you +can add a <script type="module"> tag to your HTML to write your JavaScript in and replace any mention of

                                                                                                +
                                                                                                import { /* ... */ } from "archipelago.js";
                                                                                                +
                                                                                                + +

                                                                                                to

                                                                                                +
                                                                                                import { /* ... */ } from "https://unpkg.com/archipelago.js/dist/index.js";
                                                                                                // or any other path to archipelago.js as desired +
                                                                                                + +

                                                                                                as appropriate for your project and all the code examples will still work.

                                                                                                +

                                                                                                To create a basic client that can listen for chat messages and print them to the console, you can use the following +example:

                                                                                                +
                                                                                                import { Client } from "archipelago.js";

                                                                                                // Create a new instance of the Client class.
                                                                                                const client = new Client();

                                                                                                // Setup a listener for incoming chat messages and print them to the console.
                                                                                                client.messages.on("chat", (message, sender) => {
                                                                                                console.log(`${sender.alias}: ${message}`);
                                                                                                });

                                                                                                // Connect to the Archipelago server (replace url, slot name, and game as appropriate for your scenario).
                                                                                                await client.login("wss://archipelago.gg:38281", "Phar", "Pusche");

                                                                                                // Send a message after connecting.
                                                                                                client.messages.say("Hello, multiworld!") +
                                                                                                + +

                                                                                                Then, run this in your runtime of choice and see incoming messages print to console and your "Hello, multiworld!" +message get broadcast to all clients (and back to yourself).

                                                                                                +

                                                                                                You can also listen for events, such as when your client receives items from the server:

                                                                                                +
                                                                                                // Setup a listener for whenever items are received and log the details.
                                                                                                client.items.on("itemsReceived", (items) => {
                                                                                                for (const item of items) {
                                                                                                console.log(`Received item ${item.name} from player ${item.sender}.`);
                                                                                                }
                                                                                                });

                                                                                                // ... misc client code below ... +
                                                                                                + +

                                                                                                Or if another player changes their alias:

                                                                                                +
                                                                                                // Setup a listener for when a player's alias (name) changes.
                                                                                                client.players.on("aliasUpdated", (_, oldAlias, newAlias) => {
                                                                                                console.log(`${oldAlias} has changed their alias to ${newAlias}.`);
                                                                                                });

                                                                                                // ... misc client code below ... +
                                                                                                + +

                                                                                                Or if you're using the DeathLink mechanic and another player dies:

                                                                                                +
                                                                                                // Setup a listener for when another DeathLink player dies.
                                                                                                client.deathLink.on("deathReceived", (source, time, cause) => {
                                                                                                if (cause) {
                                                                                                console.log(`DeathLink received from ${source}: ${cause}`);
                                                                                                return;
                                                                                                }

                                                                                                // No cause was supplied.
                                                                                                console.log(`DeathLink received from ${source}!`);
                                                                                                });

                                                                                                // ... misc client code below ... +
                                                                                                + +

                                                                                                You can also inform the server of actions you take as a client, such as checking locations:

                                                                                                +
                                                                                                // Mark a list of location ids as checked.
                                                                                                client.check(1001, 1002, 1003); +
                                                                                                + +

                                                                                                Updating keys in the data storage:

                                                                                                +
                                                                                                // Add 1 to a data storage key.
                                                                                                client.storage
                                                                                                .prepare("my_key", 0) /* 0 is the default if the key doesn't exist yet. */
                                                                                                .add(1)
                                                                                                .commit() // Commit changes. +
                                                                                                + +

                                                                                                Or sending your own DeathLinks to other players if you die.

                                                                                                +
                                                                                                // Send a DeathLink to all DeathLink enabled players.
                                                                                                client.deathLink
                                                                                                .sendDeathLink("Phar", "Phar spontanously combusted after pressing a large red button."); +
                                                                                                + +

                                                                                                Congratulations! You are now a client developer and hopefully got a taste of what this library is capable of. For more +information, check out the rest of the API documentation for archipelago.js (Client might be a good one to start +with) and explore the available features.

                                                                                                +

                                                                                                If you encounter any issues or have any questions, you can reach out on the GitHub repository for support, or in the +Archipelago Discord, specifically in this +thread once you've joined. Thanks for checking +out my little pet project for Archipelago!

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/favicon.png b/docs/v2.0.1/favicon.png new file mode 100644 index 0000000..0fb8be0 Binary files /dev/null and b/docs/v2.0.1/favicon.png differ diff --git a/docs/v2.0.1/hierarchy.html b/docs/v2.0.1/hierarchy.html new file mode 100644 index 0000000..ac572ef --- /dev/null +++ b/docs/v2.0.1/hierarchy.html @@ -0,0 +1,5 @@ +archipelago.js - v2.0.1
                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/index.html b/docs/v2.0.1/index.html new file mode 100644 index 0000000..1e671a9 --- /dev/null +++ b/docs/v2.0.1/index.html @@ -0,0 +1,32 @@ +archipelago.js - v2.0.1
                                                                                                +

                                                                                                archipelago.js - v2.0.1

                                                                                                archipelago.js

                                                                                                GitHub License +Types +NPM Version +NPM Downloads +Static Badge

                                                                                                +

                                                                                                A runtime-agnostic and zero dependency TypeScript/JavaScript library for communicating with Archipelago servers.

                                                                                                +

                                                                                                Targeted to work on all major desktop and mobile browsers (Firefox, +Chromium, and Safari) and server-side runtimes such as +Node.js, Bun, and Deno.

                                                                                                +

                                                                                                Install via npm install archipelago.js (or via your preferred package manager's flavor).

                                                                                                +

                                                                                                Check out the quick start documentation here!

                                                                                                +

                                                                                                The full API documentation is located here. Please be sure to reference it +while you are developing your JavaScript-based clients.

                                                                                                +

                                                                                                This library supports 100% of the Archipelago network protocol referenced +here as of 2024-11-03 +(0.5.1 RC1). See more information about Archipelago at their website.

                                                                                                +

                                                                                                Archipelago.js is built using TypeScript and the Bun bundler. You can set up your development environment by cloning +this repository to a desired location on your computer and installing its devDependencies.

                                                                                                +
                                                                                                git clone https://github.com/ThePhar/archipelago.js
                                                                                                cd archipelago.js
                                                                                                npm install # or pnpm install +
                                                                                                + +

                                                                                                Then to build, have Bun installed and run npm run build (or pnpm build).

                                                                                                +

                                                                                                Archipelago.js is written in TypeScript and includes a strong ESLint config file to ensure code consistency. Be sure +to follow the code standards of this repository and check your work with npm run lint.

                                                                                                +

                                                                                                Currently, there are no automated tests for this library, so all testing in browser, Node, Deno, and Bun are done +manually. This is certainly one area that can be expanded upon.

                                                                                                +

                                                                                                Alternatively, expanding upon the documentation (either through the JSDoc or tutorial-like guides) would be appreciated.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.AdminCommandResultJSONPacket.html b/docs/v2.0.1/interfaces/index.API.AdminCommandResultJSONPacket.html new file mode 100644 index 0000000..239c0c0 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.AdminCommandResultJSONPacket.html @@ -0,0 +1,12 @@ +AdminCommandResultJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface AdminCommandResultJSONPacket

                                                                                                Sent to relevant clients to broadcast the result of an admin command.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface AdminCommandResultJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    type: "AdminCommandResult";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.BouncePacket.html b/docs/v2.0.1/interfaces/index.API.BouncePacket.html new file mode 100644 index 0000000..b25e0cc --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.BouncePacket.html @@ -0,0 +1,17 @@ +BouncePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface BouncePacket

                                                                                                Sent by the client to be broadcast from the server to all connected clients that match any one of the filter +arguments.

                                                                                                +

                                                                                                Useful for commonly implemented features such as DeathLink.

                                                                                                +
                                                                                                interface BouncePacket {
                                                                                                    cmd: "Bounce";
                                                                                                    data: JSONRecord;
                                                                                                    games?: string[];
                                                                                                    slots?: number[];
                                                                                                    tags?: string[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                Any data you want to send.

                                                                                                +
                                                                                                games?: string[]

                                                                                                Optional. Games that should receive this message.

                                                                                                +
                                                                                                slots?: number[]

                                                                                                Optional. Player ids that should receive this message.

                                                                                                +
                                                                                                tags?: string[]

                                                                                                Optional. Client tags that should receive this message.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.BouncedPacket.html b/docs/v2.0.1/interfaces/index.API.BouncedPacket.html new file mode 100644 index 0000000..c5ca503 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.BouncedPacket.html @@ -0,0 +1,15 @@ +BouncedPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface BouncedPacket

                                                                                                Sent to clients after a client requested this message be sent to them, more info in the BouncePacket.

                                                                                                +
                                                                                                interface BouncedPacket {
                                                                                                    cmd: "Bounced";
                                                                                                    data: JSONRecord;
                                                                                                    games?: string[];
                                                                                                    slots?: number[];
                                                                                                    tags?: string[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                A verbatim copy of the data in the BouncePacket package.

                                                                                                +
                                                                                                games?: string[]

                                                                                                Optional. Game names this message is targeting.

                                                                                                +
                                                                                                slots?: number[]

                                                                                                Optional. Player slot IDs that this message is targeting.

                                                                                                +
                                                                                                tags?: string[]

                                                                                                Optional. Client tags this message is targeting.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ChatJSONPacket.html b/docs/v2.0.1/interfaces/index.API.ChatJSONPacket.html new file mode 100644 index 0000000..0f78eb5 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ChatJSONPacket.html @@ -0,0 +1,18 @@ +ChatJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ChatJSONPacket

                                                                                                Sent to clients to broadcast a normal chat message.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface ChatJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    message: string;
                                                                                                    slot: number;
                                                                                                    team: number;
                                                                                                    type: "Chat";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                message: string

                                                                                                Original chat message without sender prefix.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.CollectJSONPacket.html b/docs/v2.0.1/interfaces/index.API.CollectJSONPacket.html new file mode 100644 index 0000000..93239e8 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.CollectJSONPacket.html @@ -0,0 +1,16 @@ +CollectJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface CollectJSONPacket

                                                                                                Sent to clients to broadcast a player has collected all their remaining items from the multi-world.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface CollectJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    team: number;
                                                                                                    type: "Collect";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.CommandResultJSONPacket.html b/docs/v2.0.1/interfaces/index.API.CommandResultJSONPacket.html new file mode 100644 index 0000000..792ea9b --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.CommandResultJSONPacket.html @@ -0,0 +1,12 @@ +CommandResultJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface CommandResultJSONPacket

                                                                                                Sent to relevant clients to broadcast the result of a chat command.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface CommandResultJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    type: "CommandResult";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ConnectPacket.html b/docs/v2.0.1/interfaces/index.API.ConnectPacket.html new file mode 100644 index 0000000..c316fe5 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ConnectPacket.html @@ -0,0 +1,24 @@ +ConnectPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ConnectPacket

                                                                                                Sent by the client to authenticate a connection to an Archipelago session.

                                                                                                +
                                                                                                interface ConnectPacket {
                                                                                                    cmd: "Connect";
                                                                                                    game: string;
                                                                                                    items_handling: number;
                                                                                                    name: string;
                                                                                                    password: string;
                                                                                                    slot_data: boolean;
                                                                                                    tags: string[];
                                                                                                    uuid: string;
                                                                                                    version: NetworkVersion;
                                                                                                }

                                                                                                Properties

                                                                                                cmd
                                                                                                game: string

                                                                                                The name of the game the client is playing.

                                                                                                +
                                                                                                items_handling: number

                                                                                                Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for information +on individual flags.

                                                                                                +
                                                                                                name: string

                                                                                                The slot name for this client.

                                                                                                +
                                                                                                password: string

                                                                                                If the game session requires a password, it should be passed here.

                                                                                                +
                                                                                                slot_data: boolean

                                                                                                If true, the ConnectedPacket will contain slot data.

                                                                                                +
                                                                                                tags: string[]

                                                                                                Denotes special features or capabilities that the sender is currently capable of.

                                                                                                +
                                                                                                uuid: string

                                                                                                Unique identifier for player client.

                                                                                                +

                                                                                                An object representing the minimum Archipelago server version this client supports.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ConnectUpdatePacket.html b/docs/v2.0.1/interfaces/index.API.ConnectUpdatePacket.html new file mode 100644 index 0000000..1bf1aec --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ConnectUpdatePacket.html @@ -0,0 +1,12 @@ +ConnectUpdatePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ConnectUpdatePacket

                                                                                                Update arguments from the Connect packet, currently only updating tags and items_handling is supported.

                                                                                                +
                                                                                                interface ConnectUpdatePacket {
                                                                                                    cmd: "ConnectUpdate";
                                                                                                    items_handling: number;
                                                                                                    tags: string[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                items_handling: number

                                                                                                Bit flags configuring which items should be sent by the server. See itemsHandlingFlags for additional +information.

                                                                                                +
                                                                                                tags: string[]

                                                                                                Denotes special features or capabilities that the sender is currently capable of.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ConnectedPacket.html b/docs/v2.0.1/interfaces/index.API.ConnectedPacket.html new file mode 100644 index 0000000..a3f74a0 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ConnectedPacket.html @@ -0,0 +1,26 @@ +ConnectedPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ConnectedPacket

                                                                                                Sent to clients when the connection handshake is successfully completed.

                                                                                                +
                                                                                                interface ConnectedPacket {
                                                                                                    checked_locations: number[];
                                                                                                    cmd: "Connected";
                                                                                                    hint_points: number;
                                                                                                    missing_locations: number[];
                                                                                                    players: NetworkPlayer[];
                                                                                                    slot: number;
                                                                                                    slot_data: JSONSerializable;
                                                                                                    slot_info: Record<string, NetworkSlot>;
                                                                                                    team: number;
                                                                                                }

                                                                                                Properties

                                                                                                checked_locations: number[]

                                                                                                Contains integer ids of all locations that have been checked. Useful for trackers, among other things. Location +ids are valid in the range of -2^53^ to +(2^53)-1 (inclusive), with negative values and zero reserved for +Archipelago.

                                                                                                +
                                                                                                cmd
                                                                                                hint_points: number

                                                                                                Number of hint points that the current player has.

                                                                                                +
                                                                                                missing_locations: number[]

                                                                                                Contains integer ids of remaining locations that need to be checked. Useful for trackers, among other things.

                                                                                                +
                                                                                                players: NetworkPlayer[]

                                                                                                List denoting other players in the multi-world, whether connected or not.

                                                                                                +
                                                                                                slot: number

                                                                                                Your slot number on your team. See NetworkPlayer for more info on the slot number.

                                                                                                +
                                                                                                slot_data: JSONSerializable

                                                                                                Contains an object of slot related data, which differs per slot. If slot data was not requested in the +ConnectPacket, this value be an empty object.

                                                                                                +
                                                                                                slot_info: Record<string, NetworkSlot>

                                                                                                Object of each slot with their NetworkSlot information.

                                                                                                +
                                                                                                team: number

                                                                                                Your team number. See NetworkPlayer for more info on team number.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ConnectionRefusedPacket.html b/docs/v2.0.1/interfaces/index.API.ConnectionRefusedPacket.html new file mode 100644 index 0000000..ce6a05c --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ConnectionRefusedPacket.html @@ -0,0 +1,10 @@ +ConnectionRefusedPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ConnectionRefusedPacket

                                                                                                Sent to clients when the server refuses connection. This is sent during the initial connection handshake.

                                                                                                +
                                                                                                interface ConnectionRefusedPacket {
                                                                                                    cmd: "ConnectionRefused";
                                                                                                    errors?: ConnectionError[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                errors?: ConnectionError[]

                                                                                                Optional. When provided, should contain one or more ConnectionError values. See ConnectionError +for additional information on what each error means.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.CountdownJSONPacket.html b/docs/v2.0.1/interfaces/index.API.CountdownJSONPacket.html new file mode 100644 index 0000000..abfc121 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.CountdownJSONPacket.html @@ -0,0 +1,14 @@ +CountdownJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface CountdownJSONPacket

                                                                                                Sent to clients to broadcast a countdown message, usually for counting down the start of a game.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface CountdownJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    countdown: number;
                                                                                                    data: JSONMessagePart[];
                                                                                                    type: "Countdown";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                countdown: number

                                                                                                Amount of seconds remaining on the countdown.

                                                                                                +

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.DataPackagePacket.html b/docs/v2.0.1/interfaces/index.API.DataPackagePacket.html new file mode 100644 index 0000000..b420f3a --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.DataPackagePacket.html @@ -0,0 +1,11 @@ +DataPackagePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface DataPackagePacket

                                                                                                Sent to clients to provide what is known as a 'data package' which contains information to enable a client to most +easily communicate with the Archipelago server. Contents include things like location id to name mappings, among +others; see DataPackage for more info.

                                                                                                +
                                                                                                interface DataPackagePacket {
                                                                                                    cmd: "DataPackage";
                                                                                                    data: DataPackage;
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                The data package as an object of DataPackage.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.GetDataPackagePacket.html b/docs/v2.0.1/interfaces/index.API.GetDataPackagePacket.html new file mode 100644 index 0000000..41aacc4 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.GetDataPackagePacket.html @@ -0,0 +1,10 @@ +GetDataPackagePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface GetDataPackagePacket

                                                                                                Sent by the client to request the data package from the server. Does not require client authentication.

                                                                                                +
                                                                                                interface GetDataPackagePacket {
                                                                                                    cmd: "GetDataPackage";
                                                                                                    games?: string[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                games?: string[]

                                                                                                Optional. If specified, will only send back the specified data.

                                                                                                +

                                                                                                It is recommended to only request required data to reduce network bandwidth costs.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.GetPacket.html b/docs/v2.0.1/interfaces/index.API.GetPacket.html new file mode 100644 index 0000000..95d1229 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.GetPacket.html @@ -0,0 +1,24 @@ +GetPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface GetPacket

                                                                                                Sent by the client to request a single or multiple values from the server's data storage, see the SetPacket +for how to write values to the data storage. A GetPacket will be answered with a RetrievedPacket.

                                                                                                +

                                                                                                Additional properties sent in this package will also be added to the RetrievedPacket it triggers.

                                                                                                +

                                                                                                Some special read-only keys exist with specific return data:

                                                                                                +
                                                                                                  +
                                                                                                • _read_hints_{team}_{slot}: NetworkHint[] - All hinted NetworkHint items relevant to the requested +player.
                                                                                                • +
                                                                                                • _read_slot_data_{slot}: JSONSerializable - slot_data belonging to the requested slot.
                                                                                                • +
                                                                                                • _read_item_name_groups_{game}: Record<string, string[]> - An object of item groups and their members.
                                                                                                • +
                                                                                                • _read_location_name_groups_{game}: Record<string, string[]> - An object of location groups and their +members.
                                                                                                • +
                                                                                                • _read_client_status_{team}_{slot}: number - The current status for the requested player. See +clientStatuses for all known client statues.
                                                                                                • +
                                                                                                • _read_race_mode: number - Returns 0 if race mode is disabled, 1 if it's enabled.
                                                                                                • +
                                                                                                +
                                                                                                interface GetPacket {
                                                                                                    cmd: "Get";
                                                                                                    keys: string[];
                                                                                                    [p: string]: JSONSerializable;
                                                                                                }

                                                                                                Indexable

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                keys: string[]

                                                                                                Keys to retrieve the values for.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.GoalJSONPacket.html b/docs/v2.0.1/interfaces/index.API.GoalJSONPacket.html new file mode 100644 index 0000000..fbb07dc --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.GoalJSONPacket.html @@ -0,0 +1,16 @@ +GoalJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface GoalJSONPacket

                                                                                                Sent to clients to broadcast a player has met their goal condition.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface GoalJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    team: number;
                                                                                                    type: "Goal";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.HintJSONPacket.html b/docs/v2.0.1/interfaces/index.API.HintJSONPacket.html new file mode 100644 index 0000000..68a15f5 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.HintJSONPacket.html @@ -0,0 +1,18 @@ +HintJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface HintJSONPacket

                                                                                                Sent to relevant clients to broadcast item hint information.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface HintJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    found: boolean;
                                                                                                    item: NetworkItem;
                                                                                                    receiving: number;
                                                                                                    type: "Hint";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                found: boolean

                                                                                                Whether the location hinted for was checked.

                                                                                                +

                                                                                                Source player's identifier, location identifier, item identifier and item flags.

                                                                                                +
                                                                                                receiving: number

                                                                                                Destination player's identifier.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.InvalidArgumentsPacketPacket.html b/docs/v2.0.1/interfaces/index.API.InvalidArgumentsPacketPacket.html new file mode 100644 index 0000000..660bd11 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.InvalidArgumentsPacketPacket.html @@ -0,0 +1,12 @@ +InvalidArgumentsPacketPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface InvalidArgumentsPacketPacket

                                                                                                Sent to clients if the server caught a problem with a given packet's arguments.

                                                                                                +

                                                                                                InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                                +
                                                                                                interface InvalidArgumentsPacketPacket {
                                                                                                    cmd: "InvalidPacket";
                                                                                                    text: string;
                                                                                                    type: "arguments";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                text: string

                                                                                                A descriptive message of the problem at hand.

                                                                                                +
                                                                                                type

                                                                                                The type of problem that was detected in the packet.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.InvalidCommandPacketPacket.html b/docs/v2.0.1/interfaces/index.API.InvalidCommandPacketPacket.html new file mode 100644 index 0000000..548346d --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.InvalidCommandPacketPacket.html @@ -0,0 +1,14 @@ +InvalidCommandPacketPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface InvalidCommandPacketPacket

                                                                                                Sent to clients if the server caught a problem with a given packet's cmd property.

                                                                                                +

                                                                                                InvalidPacketPacket for all possible InvalidPacket packet subtypes.

                                                                                                +
                                                                                                interface InvalidCommandPacketPacket {
                                                                                                    cmd: "InvalidPacket";
                                                                                                    original_cmd: string;
                                                                                                    text: string;
                                                                                                    type: "cmd";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                original_cmd: string

                                                                                                The cmd argument of the faulty packet.

                                                                                                +
                                                                                                text: string

                                                                                                A descriptive message of the problem at hand.

                                                                                                +
                                                                                                type

                                                                                                The type of problem that was detected in the packet.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ItemCheatJSONPacket.html b/docs/v2.0.1/interfaces/index.API.ItemCheatJSONPacket.html new file mode 100644 index 0000000..9a1805e --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ItemCheatJSONPacket.html @@ -0,0 +1,18 @@ +ItemCheatJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ItemCheatJSONPacket

                                                                                                Sent to clients to broadcast a player has received a cheated item (via !getitem).

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface ItemCheatJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    item: NetworkItem;
                                                                                                    receiving: number;
                                                                                                    team: number;
                                                                                                    type: "ItemCheat";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +

                                                                                                Source player's identifier, location identifier, item identifier and item flags.

                                                                                                +
                                                                                                receiving: number

                                                                                                Destination player's identifier.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ItemSendJSONPacket.html b/docs/v2.0.1/interfaces/index.API.ItemSendJSONPacket.html new file mode 100644 index 0000000..07a7d54 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ItemSendJSONPacket.html @@ -0,0 +1,16 @@ +ItemSendJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ItemSendJSONPacket

                                                                                                Sent to clients to broadcast a player has received an item.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface ItemSendJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    item: NetworkItem;
                                                                                                    receiving: number;
                                                                                                    type: "ItemSend";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +

                                                                                                Source player's identifier, location identifier, item identifier and item flags.

                                                                                                +
                                                                                                receiving: number

                                                                                                Destination player's identifier.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.JoinJSONPacket.html b/docs/v2.0.1/interfaces/index.API.JoinJSONPacket.html new file mode 100644 index 0000000..a341295 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.JoinJSONPacket.html @@ -0,0 +1,18 @@ +JoinJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface JoinJSONPacket

                                                                                                Sent to clients to broadcast a client has connected.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface JoinJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    tags: string[];
                                                                                                    team: number;
                                                                                                    type: "Join";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                tags: string[]

                                                                                                Tags of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.LocationChecksPacket.html b/docs/v2.0.1/interfaces/index.API.LocationChecksPacket.html new file mode 100644 index 0000000..b5ed87c --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.LocationChecksPacket.html @@ -0,0 +1,11 @@ +LocationChecksPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface LocationChecksPacket

                                                                                                Sent by the client to inform the server of locations that the client has checked. Used to inform the server of new +checks that are made, as well as to sync state.

                                                                                                +
                                                                                                interface LocationChecksPacket {
                                                                                                    cmd: "LocationChecks";
                                                                                                    locations: number[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                locations: number[]

                                                                                                The ids of the locations checked by the client. May contain any number of checks, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.LocationInfoPacket.html b/docs/v2.0.1/interfaces/index.API.LocationInfoPacket.html new file mode 100644 index 0000000..b98c9fd --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.LocationInfoPacket.html @@ -0,0 +1,10 @@ +LocationInfoPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface LocationInfoPacket

                                                                                                Sent to clients to acknowledge a received LocationScoutsPacket and responds with the item in each location +being scouted.

                                                                                                +
                                                                                                interface LocationInfoPacket {
                                                                                                    cmd: "LocationInfo";
                                                                                                    locations: NetworkItem[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                locations: NetworkItem[]

                                                                                                Contains the list of item(s) in the location(s) scouted.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.LocationScoutsPacket.html b/docs/v2.0.1/interfaces/index.API.LocationScoutsPacket.html new file mode 100644 index 0000000..2c90043 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.LocationScoutsPacket.html @@ -0,0 +1,20 @@ +LocationScoutsPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface LocationScoutsPacket

                                                                                                Sent by the client to inform the server of locations the client has seen, but not checked. Useful in cases in which +the item may appear in the game world, but may not be immediately gettable. The server will always respond with a +LocationInfoPacket with the items located in the scouted location.

                                                                                                +
                                                                                                interface LocationScoutsPacket {
                                                                                                    cmd: "LocationScouts";
                                                                                                    create_as_hint: 0 | 1 | 2;
                                                                                                    locations: number[];
                                                                                                }

                                                                                                Properties

                                                                                                cmd
                                                                                                create_as_hint: 0 | 1 | 2
                                                                                                  +
                                                                                                • If set to 0, this packet will not create hints for any locations in this packet.
                                                                                                • +
                                                                                                • If set to 1, this packet will create hints for all locations in this packet and broadcast them to all +relevant clients.
                                                                                                • +
                                                                                                • If set to 2, this packet will create hints for all locations in this packet and broadcast only new hints to +all relevant clients.
                                                                                                • +
                                                                                                +
                                                                                                locations: number[]

                                                                                                The ids of the locations seen by the client. May contain any number of locations, even ones sent before; +duplicates do not cause issues with the Archipelago server.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.PartJSONPacket.html b/docs/v2.0.1/interfaces/index.API.PartJSONPacket.html new file mode 100644 index 0000000..9ed2414 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.PartJSONPacket.html @@ -0,0 +1,16 @@ +PartJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface PartJSONPacket

                                                                                                Sent to clients to broadcast a client has disconnected.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface PartJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    team: number;
                                                                                                    type: "Part";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ReceivedItemsPacket.html b/docs/v2.0.1/interfaces/index.API.ReceivedItemsPacket.html new file mode 100644 index 0000000..ba2aeda --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ReceivedItemsPacket.html @@ -0,0 +1,11 @@ +ReceivedItemsPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ReceivedItemsPacket

                                                                                                Sent to clients when they receive an item.

                                                                                                +
                                                                                                interface ReceivedItemsPacket {
                                                                                                    cmd: "ReceivedItems";
                                                                                                    index: number;
                                                                                                    items: NetworkItem[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                index: number

                                                                                                The next empty slot in the list of items for the receiving client. Useful for tracking items.

                                                                                                +
                                                                                                items: NetworkItem[]

                                                                                                The items which the client is receiving.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ReleaseJSONPacket.html b/docs/v2.0.1/interfaces/index.API.ReleaseJSONPacket.html new file mode 100644 index 0000000..7da18c0 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ReleaseJSONPacket.html @@ -0,0 +1,16 @@ +ReleaseJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ReleaseJSONPacket

                                                                                                Sent to clients to broadcast a player has released all remaining items in their world.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface ReleaseJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    team: number;
                                                                                                    type: "Release";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.RetrievedPacket.html b/docs/v2.0.1/interfaces/index.API.RetrievedPacket.html new file mode 100644 index 0000000..2bf05b7 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.RetrievedPacket.html @@ -0,0 +1,12 @@ +RetrievedPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface RetrievedPacket

                                                                                                Sent to clients as a response to a GetPacket.

                                                                                                +

                                                                                                Additional arguments added to the GetPacket that triggered this RetrievedPacket will also be passed +along.

                                                                                                +
                                                                                                interface RetrievedPacket {
                                                                                                    cmd: "Retrieved";
                                                                                                    keys: {
                                                                                                        [key: string]: JSONSerializable;
                                                                                                    };
                                                                                                    [p: string]: JSONSerializable;
                                                                                                }

                                                                                                Indexable

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                keys: {
                                                                                                    [key: string]: JSONSerializable;
                                                                                                }

                                                                                                A key-value collection containing all the values for the keys requested in the GetPacket.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.RoomInfoPacket.html b/docs/v2.0.1/interfaces/index.API.RoomInfoPacket.html new file mode 100644 index 0000000..532f19c --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.RoomInfoPacket.html @@ -0,0 +1,31 @@ +RoomInfoPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface RoomInfoPacket

                                                                                                Sent to clients when they connect to an Archipelago server, but before they authenticate.

                                                                                                +
                                                                                                interface RoomInfoPacket {
                                                                                                    cmd: "RoomInfo";
                                                                                                    datapackage_checksums: Record<string, string>;
                                                                                                    games: string[];
                                                                                                    generator_version: NetworkVersion;
                                                                                                    hint_cost: number;
                                                                                                    location_check_points: number;
                                                                                                    password: boolean;
                                                                                                    permissions: PermissionTable;
                                                                                                    seed_name: string;
                                                                                                    tags: string[];
                                                                                                    time: number;
                                                                                                    version: NetworkVersion;
                                                                                                }

                                                                                                Properties

                                                                                                cmd
                                                                                                datapackage_checksums: Record<string, string>

                                                                                                Checksum hash of the individual games' data packages the server will send. Used by newer clients to decide which +games' caches are outdated. See DataPackage for more information on the data package.

                                                                                                +
                                                                                                games: string[]

                                                                                                List of games present in this multi-world.

                                                                                                +
                                                                                                generator_version: NetworkVersion

                                                                                                Object denoting the version of Archipelago which generated the multi-world.

                                                                                                +
                                                                                                hint_cost: number

                                                                                                The amount of points it costs to receive a hint from the server.

                                                                                                +
                                                                                                location_check_points: number

                                                                                                The amount of hint points you receive per item/location check completed.

                                                                                                +
                                                                                                password: boolean

                                                                                                Denoted whether a password is required to join this room.

                                                                                                +
                                                                                                permissions: PermissionTable

                                                                                                Mapping of restrict-able commands to their current PermissionValue level.

                                                                                                +
                                                                                                seed_name: string

                                                                                                Uniquely identifying name for this generation. Based on the seed, but not identical to prevent spoilers.

                                                                                                +
                                                                                                tags: string[]

                                                                                                Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                                +
                                                                                                time: number

                                                                                                Unix time stamp in seconds of "now". Sent for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                                +

                                                                                                Object denoting the version of Archipelago which the server is running.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.RoomUpdatePacket.html b/docs/v2.0.1/interfaces/index.API.RoomUpdatePacket.html new file mode 100644 index 0000000..51a2b3b --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.RoomUpdatePacket.html @@ -0,0 +1,29 @@ +RoomUpdatePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface RoomUpdatePacket

                                                                                                Sent when there is a need to update information about the present game session. Generally useful for async games. +Once authenticated, this may also contain data from ConnectedPacket.

                                                                                                +

                                                                                                All arguments for this packet are optional, only changes are sent.

                                                                                                +
                                                                                                interface RoomUpdatePacket {
                                                                                                    checked_locations?: number[];
                                                                                                    cmd: "RoomUpdate";
                                                                                                    hint_cost?: number;
                                                                                                    hint_points?: number;
                                                                                                    location_check_points?: number;
                                                                                                    password?: boolean;
                                                                                                    permissions: PermissionTable;
                                                                                                    players?: NetworkPlayer[];
                                                                                                    tags?: string[];
                                                                                                    time?: number;
                                                                                                }

                                                                                                Properties

                                                                                                checked_locations?: number[]

                                                                                                Might be a partial update, containing new locations that were checked, especially from a co-op partner in the +same slot.

                                                                                                +
                                                                                                cmd
                                                                                                hint_cost?: number

                                                                                                The amount of points it costs to receive a hint from the server.

                                                                                                +
                                                                                                hint_points?: number

                                                                                                Number of hint points that the current player has.

                                                                                                +
                                                                                                location_check_points?: number

                                                                                                The amount of hint points you receive per item/location check completed.

                                                                                                +
                                                                                                password?: boolean

                                                                                                Denoted whether a password is required to join this room.

                                                                                                +
                                                                                                permissions: PermissionTable

                                                                                                Mapping of restrict-able commands to their current PermissionValue level.

                                                                                                +
                                                                                                players?: NetworkPlayer[]

                                                                                                Information on the players, whether connected or not.

                                                                                                +
                                                                                                tags?: string[]

                                                                                                Denotes special features or capabilities that the sender is capable of. Example: WebHost

                                                                                                +
                                                                                                time?: number

                                                                                                Unix time stamp of "now". Send for time synchronization if wanted for things like a DeathLink +BouncePacket.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.SayPacket.html b/docs/v2.0.1/interfaces/index.API.SayPacket.html new file mode 100644 index 0000000..176ccfe --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.SayPacket.html @@ -0,0 +1,9 @@ +SayPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface SayPacket

                                                                                                Basic chat-type packet which sends text to the server to be distributed to other clients.

                                                                                                +
                                                                                                interface SayPacket {
                                                                                                    cmd: "Say";
                                                                                                    text: string;
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                text: string

                                                                                                Text to send to others.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.ServerChatJSONPacket.html b/docs/v2.0.1/interfaces/index.API.ServerChatJSONPacket.html new file mode 100644 index 0000000..bd36e52 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.ServerChatJSONPacket.html @@ -0,0 +1,14 @@ +ServerChatJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface ServerChatJSONPacket

                                                                                                Sent to clients to broadcast a server-side chat message.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface ServerChatJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    message: string;
                                                                                                    type: "ServerChat";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                message: string

                                                                                                Original chat message without sender prefix.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.SetNotifyPacket.html b/docs/v2.0.1/interfaces/index.API.SetNotifyPacket.html new file mode 100644 index 0000000..4e8e7c9 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.SetNotifyPacket.html @@ -0,0 +1,10 @@ +SetNotifyPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface SetNotifyPacket

                                                                                                Used to register your current session for receiving all SetReplyPackets of certain keys to allow your client +to keep track of changes.

                                                                                                +
                                                                                                interface SetNotifyPacket {
                                                                                                    cmd: "SetNotify";
                                                                                                    keys: string[];
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                keys: string[]

                                                                                                Keys to receive all SetReplyPackets for.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.SetPacket.html b/docs/v2.0.1/interfaces/index.API.SetPacket.html new file mode 100644 index 0000000..24a95d5 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.SetPacket.html @@ -0,0 +1,20 @@ +SetPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface SetPacket

                                                                                                Sent by the client to write data to the server's data storage, that data can then be shared across worlds or just +saved for later. Values for keys in the data storage can be retrieved with a GetPacket, or monitored with a +SetNotifyPacket.

                                                                                                +

                                                                                                Additional arguments sent in this package will also be added to the SetReplyPacket it triggers.

                                                                                                +
                                                                                                interface SetPacket {
                                                                                                    cmd: "Set";
                                                                                                    default: JSONSerializable;
                                                                                                    key: string;
                                                                                                    operations: DataStorageOperation[];
                                                                                                    want_reply: boolean;
                                                                                                    [p: string]: JSONSerializable;
                                                                                                }

                                                                                                Indexable

                                                                                                Properties

                                                                                                cmd

                                                                                                The default value to use in case the key has no value on the server.

                                                                                                +
                                                                                                key: string

                                                                                                The key to manipulate.

                                                                                                +
                                                                                                operations: DataStorageOperation[]

                                                                                                Operations to apply to the value, multiple operations can be present, and they will be executed in order of +appearance. See DataStorageOperation for information on supported operations.

                                                                                                +
                                                                                                want_reply: boolean

                                                                                                If set, the server will send a SetReplyPacket back to the client.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.SetReplyPacket.html b/docs/v2.0.1/interfaces/index.API.SetReplyPacket.html new file mode 100644 index 0000000..7aaa5b9 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.SetReplyPacket.html @@ -0,0 +1,18 @@ +SetReplyPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface SetReplyPacket

                                                                                                Sent to clients in response to a SetPacket if want_reply was set to true, or if the client has registered +to receive updates for a certain key using the SetNotifyPacket. SetReplyPackets are sent even if a +SetPacket package did not alter the value for the key.

                                                                                                +

                                                                                                Additional arguments added to the SetPacket that triggered this SetReplyPacket will also be passed +along.

                                                                                                +
                                                                                                interface SetReplyPacket {
                                                                                                    cmd: "SetReply";
                                                                                                    key: string;
                                                                                                    original_value: JSONSerializable;
                                                                                                    value: JSONSerializable;
                                                                                                    [p: string]: JSONSerializable;
                                                                                                }

                                                                                                Indexable

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                key: string

                                                                                                The key that was updated.

                                                                                                +
                                                                                                original_value: JSONSerializable

                                                                                                The value the key had before it was updated.

                                                                                                +

                                                                                                The new value for the key.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.StatusUpdatePacket.html b/docs/v2.0.1/interfaces/index.API.StatusUpdatePacket.html new file mode 100644 index 0000000..bc845fd --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.StatusUpdatePacket.html @@ -0,0 +1,10 @@ +StatusUpdatePacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface StatusUpdatePacket

                                                                                                Sent to the server to update on the client's status. Examples include readiness or goal completion.

                                                                                                +
                                                                                                interface StatusUpdatePacket {
                                                                                                    cmd: "StatusUpdate";
                                                                                                    status:
                                                                                                        | 0
                                                                                                        | 5
                                                                                                        | 10
                                                                                                        | 20
                                                                                                        | 30;
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd
                                                                                                status:
                                                                                                    | 0
                                                                                                    | 5
                                                                                                    | 10
                                                                                                    | 20
                                                                                                    | 30

                                                                                                The new client status value to set this slot to. See clientStatuses for all known values.

                                                                                                +

                                                                                                This packet is ignored if the client status was set to clientStatuses.goal.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.SyncPacket.html b/docs/v2.0.1/interfaces/index.API.SyncPacket.html new file mode 100644 index 0000000..68f4036 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.SyncPacket.html @@ -0,0 +1,10 @@ +SyncPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface SyncPacket

                                                                                                Sent to server to request a ReceivedItemsPacket with all items ever received.

                                                                                                +

                                                                                                In principle, a network desync of items should never occur, as if connection is broken and then +re-established, the server will resend all items ever received on reconnection, so use of this packet should never be +needed.

                                                                                                +
                                                                                                interface SyncPacket {
                                                                                                    cmd: "Sync";
                                                                                                }

                                                                                                Properties

                                                                                                cmd +

                                                                                                Properties

                                                                                                cmd
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.TagsChangedJSONPacket.html b/docs/v2.0.1/interfaces/index.API.TagsChangedJSONPacket.html new file mode 100644 index 0000000..00bf966 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.TagsChangedJSONPacket.html @@ -0,0 +1,18 @@ +TagsChangedJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface TagsChangedJSONPacket

                                                                                                Sent to clients to broadcast a client has changed their tags.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface TagsChangedJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    slot: number;
                                                                                                    tags: string[];
                                                                                                    team: number;
                                                                                                    type: "TagsChanged";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                slot: number

                                                                                                Slot of the triggering player.

                                                                                                +
                                                                                                tags: string[]

                                                                                                Tags of the triggering player.

                                                                                                +
                                                                                                team: number

                                                                                                Team of the triggering player.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.API.TutorialJSONPacket.html b/docs/v2.0.1/interfaces/index.API.TutorialJSONPacket.html new file mode 100644 index 0000000..60ef7c0 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.API.TutorialJSONPacket.html @@ -0,0 +1,12 @@ +TutorialJSONPacket | archipelago.js - v2.0.1
                                                                                                +

                                                                                                Interface TutorialJSONPacket

                                                                                                Sent to relevant clients to broadcast tutorial information, usually on first connection.

                                                                                                +

                                                                                                PrintJSONPacket for all possible PrintJSON packet subtypes.

                                                                                                +
                                                                                                interface TutorialJSONPacket {
                                                                                                    cmd: "PrintJSON";
                                                                                                    data: JSONMessagePart[];
                                                                                                    type: "Tutorial";
                                                                                                }

                                                                                                Properties

                                                                                                Properties

                                                                                                cmd

                                                                                                All the textual metadata for this packet.

                                                                                                +
                                                                                                type

                                                                                                The PrintJSONPacket subtype.

                                                                                                +
                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.ClientOptions.html b/docs/v2.0.1/interfaces/index.ClientOptions.html new file mode 100644 index 0000000..3d7b5d5 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.ClientOptions.html @@ -0,0 +1,30 @@ +ClientOptions | archipelago.js - v2.0.1
                                                                                                +

                                                                                                  Interface ClientOptions

                                                                                                  An interface of client options that can be set on a Client object.

                                                                                                  +
                                                                                                  interface ClientOptions {
                                                                                                      autoFetchDataPackage?: boolean;
                                                                                                      debugLogVersions: boolean;
                                                                                                      maximumMessages?: number;
                                                                                                      timeout?: number;
                                                                                                  }

                                                                                                  Properties

                                                                                                  autoFetchDataPackage?: boolean

                                                                                                  Automatically requests the DataPackage from the server during Client.login, if the packages are missing +in the DataPackageManager.

                                                                                                  +
                                                                                                  true
                                                                                                  +
                                                                                                  + +
                                                                                                  debugLogVersions: boolean

                                                                                                  If enabled, logs the game, library version, and user agent to data storage, which can be used for debugging +purposes.

                                                                                                  +
                                                                                                  true
                                                                                                  +
                                                                                                  + +
                                                                                                  maximumMessages?: number

                                                                                                  Determines the maximum number of chat messages to log in MessageManager.

                                                                                                  +
                                                                                                  1000
                                                                                                  +
                                                                                                  + +

                                                                                                  If 0 or fewer, message logging will effectively be disabled.

                                                                                                  +
                                                                                                  timeout?: number

                                                                                                  The maximum number of milliseconds to wait for a response from the server when awaiting a response to a client +packet.

                                                                                                  +
                                                                                                  10000
                                                                                                  +
                                                                                                  + +
                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.1/interfaces/index.ConnectionOptions.html b/docs/v2.0.1/interfaces/index.ConnectionOptions.html new file mode 100644 index 0000000..92738b4 --- /dev/null +++ b/docs/v2.0.1/interfaces/index.ConnectionOptions.html @@ -0,0 +1,40 @@ +ConnectionOptions | archipelago.js - v2.0.1
                                                                                                  +

                                                                                                    Interface ConnectionOptions

                                                                                                    An interface of additional connection arguments when authenticating to an Archipelago server.

                                                                                                    +
                                                                                                    interface ConnectionOptions {
                                                                                                        items?: number;
                                                                                                        password?: string;
                                                                                                        slotData?: boolean;
                                                                                                        tags?: string[];
                                                                                                        uuid?: string;
                                                                                                        version?: {
                                                                                                            build: number;
                                                                                                            major: number;
                                                                                                            minor: number;
                                                                                                        };
                                                                                                    }

                                                                                                    Properties

                                                                                                    items?: number

                                                                                                    Determines the kinds of received item events the server will broadcast to this client when locations are checked.

                                                                                                    +

                                                                                                    Value is an integer bitflag combination of values that is documented in itemsHandlingFlags.

                                                                                                    +

                                                                                                    Defaults to request all received item events, so unless you need local-only functionality this property +can usually be omitted.

                                                                                                    +
                                                                                                    password?: string

                                                                                                    The room password, if the server requires a password to join. Otherwise, optional.

                                                                                                    +
                                                                                                    ""
                                                                                                    +
                                                                                                    + +
                                                                                                    slotData?: boolean

                                                                                                    Request this slot's data during connection. If false, server will respond with an empty object ({}) instead.

                                                                                                    +
                                                                                                    true
                                                                                                    +
                                                                                                    + +
                                                                                                    tags?: string[]

                                                                                                    A list of strings that denote special features or capabilities this sender is currently capable of. A list of +common tags is documented here:

                                                                                                    +

                                                                                                    https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/network%20protocol.md#tags.

                                                                                                    +
                                                                                                    []
                                                                                                    +
                                                                                                    + +
                                                                                                    uuid?: string

                                                                                                    A unique identifier for this client.

                                                                                                    +

                                                                                                    Not currently used for anything server side, but may change or be deprecated in a future Archipelago update.

                                                                                                    +

                                                                                                    Defaults to a randomly generated v4 UUID.

                                                                                                    +
                                                                                                    version?: {
                                                                                                        build: number;
                                                                                                        major: number;
                                                                                                        minor: number;
                                                                                                    }

                                                                                                    The version of Archipelago this client was designed for. This can be enforced on the server side to force a user +to update their client, if a new version was released.

                                                                                                    +

                                                                                                    Type declaration

                                                                                                    • Readonlybuild: number

                                                                                                      The build version component.

                                                                                                      +
                                                                                                    • Readonlymajor: number

                                                                                                      The major version component.

                                                                                                      +
                                                                                                    • Readonlyminor: number

                                                                                                      The minor version component.

                                                                                                      +

                                                                                                    targetVersion

                                                                                                    +
                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.1/modules.html b/docs/v2.0.1/modules.html new file mode 100644 index 0000000..0b0af76 --- /dev/null +++ b/docs/v2.0.1/modules.html @@ -0,0 +1,15 @@ +archipelago.js - v2.0.1
                                                                                                    +

                                                                                                      archipelago.js - v2.0.1

                                                                                                      + +

                                                                                                      + Index +

                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      Guides

                                                                                                      Other

                                                                                                      +
                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.1/modules/index.API.html b/docs/v2.0.1/modules/index.API.html new file mode 100644 index 0000000..25fe264 --- /dev/null +++ b/docs/v2.0.1/modules/index.API.html @@ -0,0 +1,99 @@ +API | archipelago.js - v2.0.1
                                                                                                      +

                                                                                                        Namespace API

                                                                                                        A collection of types, constants, and enumerations that get passed over the Archipelago network protocol.

                                                                                                        +

                                                                                                        You can read more information about the Network Protocol in the Archipelago +Network Protocol +documentation on their GitHub repository. +API

                                                                                                        +

                                                                                                        Users of this library should utilize built-in helper methods and objects, whenever available, but these +base types are still exposed, if needed.

                                                                                                        +

                                                                                                        DataStorage

                                                                                                        Network Packets

                                                                                                        Other

                                                                                                        Other

                                                                                                        Re-exports clientStatuses
                                                                                                        Re-exports itemClassifications
                                                                                                        Re-exports itemsHandlingFlags
                                                                                                        Re-exports permissions
                                                                                                        Re-exports slotTypes
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/modules/index.html b/docs/v2.0.1/modules/index.html new file mode 100644 index 0000000..58fa382 --- /dev/null +++ b/docs/v2.0.1/modules/index.html @@ -0,0 +1,58 @@ +index | archipelago.js - v2.0.1
                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/sitemap.xml b/docs/v2.0.1/sitemap.xml new file mode 100644 index 0000000..3d9fb4a --- /dev/null +++ b/docs/v2.0.1/sitemap.xml @@ -0,0 +1,531 @@ + + + + https://archipelago.js.org/modules.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/index.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/hierarchy.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/documents/Quick_Start.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/modules/index.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/modules/index.API.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.AdminCommandResultJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.BouncedPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.BouncePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ChatJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.CollectJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.CommandResultJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ConnectedPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ConnectionRefusedPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ConnectPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ConnectUpdatePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.CountdownJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.DataPackagePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.GetDataPackagePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.GetPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.GoalJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.HintJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.InvalidArgumentsPacketPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.InvalidCommandPacketPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ItemCheatJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ItemSendJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.JoinJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.LocationChecksPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.LocationInfoPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.LocationScoutsPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.PartJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ReceivedItemsPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ReleaseJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.RetrievedPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.RoomInfoPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.RoomUpdatePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.SayPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.ServerChatJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.SetNotifyPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.SetPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.SetReplyPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.StatusUpdatePacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.SyncPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.TagsChangedJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.API.TutorialJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.AddDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.AndDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.CeilingDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ClientPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ColorJSONMessagePart.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ConnectionError.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.DataPackage.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.DataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.DefaultDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.FloorDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.GamePackage.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.InvalidPacketPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ItemJSONMessagePart.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.JSONMessagePart.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.JSONRecord.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.JSONSerializable.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.LeftShiftDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.LocationJSONMessagePart.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.MaxDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.MinDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ModuloDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.MultiplyDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.NetworkHint.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.NetworkItem.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.NetworkPlayer.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.NetworkSlot.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.NetworkVersion.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.OrDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PermissionTable.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PermissionValue.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PopDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PowerDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PrintJSONPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.PrintJSONType.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.RemoveDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ReplaceDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.RightShiftDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ServerPacket.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.TextJSONMessagePart.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.UpdateDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ValidJSONColorType.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.ValidJSONMessagePartType.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.API.XorDataStorageOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.ArgumentError.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.BaseMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.Client.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.ColorMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.DataPackageManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.DataStorageManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.DeathLinkManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.EventBasedManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.Hint.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.IntermediateDataOperation.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.Item.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.ItemMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.ItemsManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.LocationMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.LoginError.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.MessageManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.PackageMetadata.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.Player.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.PlayerMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.PlayersManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.RoomStateManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.SocketError.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.SocketManager.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.TextualMessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/classes/index.UnauthenticatedError.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.ClientOptions.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/interfaces/index.ConnectionOptions.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.ClientStatus.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.DataChangeCallback.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.DeathEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.ItemEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.MessageEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.MessageLog.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.MessageNode.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.PlayerEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.RoomStateEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/types/index.SocketEvents.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.clientStatuses.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.itemClassifications.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.itemsHandlingFlags.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.libraryVersion.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.permissions.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.slotTypes.html + 2024-11-10T09:39:52.673Z + + + https://archipelago.js.org/variables/index.targetVersion.html + 2024-11-10T09:39:52.673Z + + diff --git a/docs/v2.0.1/types/index.API.AddDataStorageOperation.html b/docs/v2.0.1/types/index.API.AddDataStorageOperation.html new file mode 100644 index 0000000..46835d8 --- /dev/null +++ b/docs/v2.0.1/types/index.API.AddDataStorageOperation.html @@ -0,0 +1,9 @@ +AddDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias AddDataStorageOperation

                                                                                                        AddDataStorageOperation: {
                                                                                                            operation: "add";
                                                                                                            value: number | JSONSerializable[];
                                                                                                        }

                                                                                                        Adds value to the current value of the key, if both the current value and value are arrays then value will be +appended to the current value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "add"
                                                                                                        • Readonlyvalue: number | JSONSerializable[]

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.AndDataStorageOperation.html b/docs/v2.0.1/types/index.API.AndDataStorageOperation.html new file mode 100644 index 0000000..a1aad06 --- /dev/null +++ b/docs/v2.0.1/types/index.API.AndDataStorageOperation.html @@ -0,0 +1,8 @@ +AndDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias AndDataStorageOperation

                                                                                                        AndDataStorageOperation: {
                                                                                                            operation: "and";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Applies a bitwise AND to the current value of the key with value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "and"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.CeilingDataStorageOperation.html b/docs/v2.0.1/types/index.API.CeilingDataStorageOperation.html new file mode 100644 index 0000000..5f13f66 --- /dev/null +++ b/docs/v2.0.1/types/index.API.CeilingDataStorageOperation.html @@ -0,0 +1,8 @@ +CeilingDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias CeilingDataStorageOperation

                                                                                                        CeilingDataStorageOperation: {
                                                                                                            operation: "ceil";
                                                                                                            value: null;
                                                                                                        }

                                                                                                        Rounds up the current value to the nearest integer.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "ceil"
                                                                                                        • Readonlyvalue: null

                                                                                                          Ignored for this operation.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ClientPacket.html b/docs/v2.0.1/types/index.API.ClientPacket.html new file mode 100644 index 0000000..30dc3df --- /dev/null +++ b/docs/v2.0.1/types/index.API.ClientPacket.html @@ -0,0 +1,5 @@ +ClientPacket | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ClientPacket

                                                                                                        ClientPacket:
                                                                                                            | BouncePacket
                                                                                                            | ConnectPacket
                                                                                                            | ConnectUpdatePacket
                                                                                                            | GetPacket
                                                                                                            | GetDataPackagePacket
                                                                                                            | LocationChecksPacket
                                                                                                            | LocationScoutsPacket
                                                                                                            | SayPacket
                                                                                                            | SetPacket
                                                                                                            | SetNotifyPacket
                                                                                                            | StatusUpdatePacket
                                                                                                            | SyncPacket
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ColorJSONMessagePart.html b/docs/v2.0.1/types/index.API.ColorJSONMessagePart.html new file mode 100644 index 0000000..e910686 --- /dev/null +++ b/docs/v2.0.1/types/index.API.ColorJSONMessagePart.html @@ -0,0 +1,10 @@ +ColorJSONMessagePart | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ColorJSONMessagePart

                                                                                                        ColorJSONMessagePart: {
                                                                                                            color: ValidJSONColorType;
                                                                                                            text: string;
                                                                                                            type: "color";
                                                                                                        }

                                                                                                        A textual node containing color metadata.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlycolor: ValidJSONColorType

                                                                                                          Includes the color to print this text with.

                                                                                                          +
                                                                                                        • Readonlytext: string

                                                                                                          Used to supply text data for this node.

                                                                                                          +
                                                                                                        • Readonlytype: "color"

                                                                                                          Used to denote the intent of the message part.

                                                                                                          +

                                                                                                        JSONMessagePart for all possible message part node subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ConnectionError.html b/docs/v2.0.1/types/index.API.ConnectionError.html new file mode 100644 index 0000000..478716f --- /dev/null +++ b/docs/v2.0.1/types/index.API.ConnectionError.html @@ -0,0 +1,7 @@ +ConnectionError | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ConnectionError

                                                                                                        ConnectionError:
                                                                                                            | "InvalidSlot"
                                                                                                            | "InvalidGame"
                                                                                                            | "IncompatibleVersion"
                                                                                                            | "InvalidPassword"
                                                                                                            | "InvalidItemsHandling"

                                                                                                        A union of known errors the Archipelago server can send back to the client when they receive a +ConnectionRefusedPacket.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.DataPackage.html b/docs/v2.0.1/types/index.API.DataPackage.html new file mode 100644 index 0000000..8838a19 --- /dev/null +++ b/docs/v2.0.1/types/index.API.DataPackage.html @@ -0,0 +1,14 @@ +DataPackage | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias DataPackage

                                                                                                        DataPackage: {
                                                                                                            games: Record<string, GamePackage>;
                                                                                                        }

                                                                                                        A DataPackage is an object which contains arbitrary metadata about each game to enable a client to interact +with the Archipelago server easily.

                                                                                                        +

                                                                                                        Note:

                                                                                                        +
                                                                                                          +
                                                                                                        • Any name is unique to its type across its own Game only: Single Arrow can exist in two games.
                                                                                                        • +
                                                                                                        • The ids from the game Archipelago may be used in any other game. Especially Location ID -1: Cheat Console +and -2: Server (typically Remote Start Inventory).
                                                                                                        • +
                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlygames: Record<string, GamePackage>

                                                                                                          Mapping of all Games and their respective data. See GamePackage for additional info.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.DataStorageOperation.html b/docs/v2.0.1/types/index.API.DataStorageOperation.html new file mode 100644 index 0000000..02c7b2e --- /dev/null +++ b/docs/v2.0.1/types/index.API.DataStorageOperation.html @@ -0,0 +1,15 @@ +DataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias DataStorageOperation

                                                                                                        A union of all possible DataStorages. An operation manipulates or alters the value of a key in the data +storage. If the operation transforms the value from one state to another then the current value of the key is used +as the starting point otherwise the SetPacket's default is used if the key does not exist on the server +already.

                                                                                                        +

                                                                                                        Each operation object consists of an object containing both the operation to be applied, provided in the form of a +string, and the value to be used for that operation,

                                                                                                        +

                                                                                                        See each DataStorage subtype for more details.

                                                                                                        +
                                                                                                        { "operation": "add", "value": 12 }
                                                                                                        +
                                                                                                        + +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.DefaultDataStorageOperation.html b/docs/v2.0.1/types/index.API.DefaultDataStorageOperation.html new file mode 100644 index 0000000..9f2029e --- /dev/null +++ b/docs/v2.0.1/types/index.API.DefaultDataStorageOperation.html @@ -0,0 +1,9 @@ +DefaultDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias DefaultDataStorageOperation

                                                                                                        DefaultDataStorageOperation: {
                                                                                                            operation: "default";
                                                                                                            value: null;
                                                                                                        }

                                                                                                        If the key has no value yet, sets the current value of the key to default of the SetPacket's (value is +ignored).

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "default"
                                                                                                        • Readonlyvalue: null

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.FloorDataStorageOperation.html b/docs/v2.0.1/types/index.API.FloorDataStorageOperation.html new file mode 100644 index 0000000..39d33c6 --- /dev/null +++ b/docs/v2.0.1/types/index.API.FloorDataStorageOperation.html @@ -0,0 +1,8 @@ +FloorDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias FloorDataStorageOperation

                                                                                                        FloorDataStorageOperation: {
                                                                                                            operation: "floor";
                                                                                                            value: null;
                                                                                                        }

                                                                                                        Rounds down the current value to the nearest integer.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "floor"
                                                                                                        • Readonlyvalue: null

                                                                                                          Ignored for this operation.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.GamePackage.html b/docs/v2.0.1/types/index.API.GamePackage.html new file mode 100644 index 0000000..986a76f --- /dev/null +++ b/docs/v2.0.1/types/index.API.GamePackage.html @@ -0,0 +1,9 @@ +GamePackage | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias GamePackage

                                                                                                        GamePackage: {
                                                                                                            checksum: string;
                                                                                                            item_name_to_id: Record<string, number>;
                                                                                                            location_name_to_id: Record<string, number>;
                                                                                                        }

                                                                                                        Collection of data that contains meta information for a particular game.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlychecksum: string

                                                                                                          SHA1 checksum of this game's data.

                                                                                                          +
                                                                                                        • Readonlyitem_name_to_id: Record<string, number>

                                                                                                          Mapping of all item names to their respective id.

                                                                                                          +
                                                                                                        • Readonlylocation_name_to_id: Record<string, number>

                                                                                                          Mapping of all location names to their respective id.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.InvalidPacketPacket.html b/docs/v2.0.1/types/index.API.InvalidPacketPacket.html new file mode 100644 index 0000000..07406a8 --- /dev/null +++ b/docs/v2.0.1/types/index.API.InvalidPacketPacket.html @@ -0,0 +1,9 @@ +InvalidPacketPacket | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias InvalidPacketPacket

                                                                                                        A union of possible InvalidPacket packets. Sent to clients if the server caught a problem with a packet. See each +packet subtype for more details.

                                                                                                        +

                                                                                                        This only occurs for errors that are explicitly checked for. All other errors will cause the server to drop +the connection instead.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ItemJSONMessagePart.html b/docs/v2.0.1/types/index.API.ItemJSONMessagePart.html new file mode 100644 index 0000000..fccdc55 --- /dev/null +++ b/docs/v2.0.1/types/index.API.ItemJSONMessagePart.html @@ -0,0 +1,11 @@ +ItemJSONMessagePart | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ItemJSONMessagePart

                                                                                                        ItemJSONMessagePart: {
                                                                                                            flags: number;
                                                                                                            player: number;
                                                                                                            text: string;
                                                                                                            type: "item_id" | "item_name";
                                                                                                        }

                                                                                                        A textual node containing item metadata.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyflags: number

                                                                                                          Bit flags that determine if an item is progression, "nice to have", filler, or a trap.

                                                                                                          +
                                                                                                        • Readonlyplayer: number

                                                                                                          The id of the player who owns this item.

                                                                                                          +
                                                                                                        • Readonlytext: string

                                                                                                          Used to supply text data for this node.

                                                                                                          +
                                                                                                        • Readonlytype: "item_id" | "item_name"

                                                                                                          Used to denote the intent of the message part.

                                                                                                          +

                                                                                                        JSONMessagePart for all possible message part node subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.JSONMessagePart.html b/docs/v2.0.1/types/index.API.JSONMessagePart.html new file mode 100644 index 0000000..15d95b2 --- /dev/null +++ b/docs/v2.0.1/types/index.API.JSONMessagePart.html @@ -0,0 +1,8 @@ +JSONMessagePart | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias JSONMessagePart

                                                                                                        JSONMessagePart:
                                                                                                            | ItemJSONMessagePart
                                                                                                            | LocationJSONMessagePart
                                                                                                            | ColorJSONMessagePart
                                                                                                            | TextJSONMessagePart

                                                                                                        A union of all message node subtypes sent along with PrintJSONPacket, which can be reconstructed into a +legible message. Each node is intended to be read in the order provided in the packet.

                                                                                                        +

                                                                                                        See each subtype for more specific information.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.JSONRecord.html b/docs/v2.0.1/types/index.API.JSONRecord.html new file mode 100644 index 0000000..a5e861c --- /dev/null +++ b/docs/v2.0.1/types/index.API.JSONRecord.html @@ -0,0 +1,6 @@ +JSONRecord | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias JSONRecord

                                                                                                        JSONRecord: {
                                                                                                            [p: string]: JSONSerializable;
                                                                                                        }

                                                                                                        A record of JSON-serializable data.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.JSONSerializable.html b/docs/v2.0.1/types/index.API.JSONSerializable.html new file mode 100644 index 0000000..d4568ca --- /dev/null +++ b/docs/v2.0.1/types/index.API.JSONSerializable.html @@ -0,0 +1,6 @@ +JSONSerializable | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias JSONSerializable

                                                                                                        JSONSerializable:
                                                                                                            | string
                                                                                                            | number
                                                                                                            | boolean
                                                                                                            | null
                                                                                                            | JSONRecord
                                                                                                            | JSONSerializable[]

                                                                                                        A type union of all basic JSON-compatible types.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.LeftShiftDataStorageOperation.html b/docs/v2.0.1/types/index.API.LeftShiftDataStorageOperation.html new file mode 100644 index 0000000..ee4881f --- /dev/null +++ b/docs/v2.0.1/types/index.API.LeftShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +LeftShiftDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias LeftShiftDataStorageOperation

                                                                                                        LeftShiftDataStorageOperation: {
                                                                                                            operation: "left_shift";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Applies a bitwise left-shift to the current value of the key by value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "left_shift"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.LocationJSONMessagePart.html b/docs/v2.0.1/types/index.API.LocationJSONMessagePart.html new file mode 100644 index 0000000..a5260af --- /dev/null +++ b/docs/v2.0.1/types/index.API.LocationJSONMessagePart.html @@ -0,0 +1,10 @@ +LocationJSONMessagePart | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias LocationJSONMessagePart

                                                                                                        LocationJSONMessagePart: {
                                                                                                            player: number;
                                                                                                            text: string;
                                                                                                            type: "location_id" | "location_name";
                                                                                                        }

                                                                                                        A textual node containing location metadata.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyplayer: number

                                                                                                          The id of the player who has this location.

                                                                                                          +
                                                                                                        • Readonlytext: string

                                                                                                          Used to supply text data for this node.

                                                                                                          +
                                                                                                        • Readonlytype: "location_id" | "location_name"

                                                                                                          Used to denote the intent of the message part.

                                                                                                          +

                                                                                                        JSONMessagePart for all possible message part node subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.MaxDataStorageOperation.html b/docs/v2.0.1/types/index.API.MaxDataStorageOperation.html new file mode 100644 index 0000000..6864c68 --- /dev/null +++ b/docs/v2.0.1/types/index.API.MaxDataStorageOperation.html @@ -0,0 +1,8 @@ +MaxDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias MaxDataStorageOperation

                                                                                                        MaxDataStorageOperation: {
                                                                                                            operation: "max";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Sets the current value of the key to value if value is bigger.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "max"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.MinDataStorageOperation.html b/docs/v2.0.1/types/index.API.MinDataStorageOperation.html new file mode 100644 index 0000000..07dc1c5 --- /dev/null +++ b/docs/v2.0.1/types/index.API.MinDataStorageOperation.html @@ -0,0 +1,8 @@ +MinDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias MinDataStorageOperation

                                                                                                        MinDataStorageOperation: {
                                                                                                            operation: "min";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Sets the current value of the key to value if value is lower.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "min"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ModuloDataStorageOperation.html b/docs/v2.0.1/types/index.API.ModuloDataStorageOperation.html new file mode 100644 index 0000000..516c625 --- /dev/null +++ b/docs/v2.0.1/types/index.API.ModuloDataStorageOperation.html @@ -0,0 +1,8 @@ +ModuloDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ModuloDataStorageOperation

                                                                                                        ModuloDataStorageOperation: {
                                                                                                            operation: "mod";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Sets the current value of the key to the remainder after division by value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "mod"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.MultiplyDataStorageOperation.html b/docs/v2.0.1/types/index.API.MultiplyDataStorageOperation.html new file mode 100644 index 0000000..d5cff04 --- /dev/null +++ b/docs/v2.0.1/types/index.API.MultiplyDataStorageOperation.html @@ -0,0 +1,8 @@ +MultiplyDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias MultiplyDataStorageOperation

                                                                                                        MultiplyDataStorageOperation: {
                                                                                                            operation: "mul";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Multiplies the current value of the key by value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "mul"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.NetworkHint.html b/docs/v2.0.1/types/index.API.NetworkHint.html new file mode 100644 index 0000000..2654d84 --- /dev/null +++ b/docs/v2.0.1/types/index.API.NetworkHint.html @@ -0,0 +1,13 @@ +NetworkHint | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias NetworkHint

                                                                                                        NetworkHint: {
                                                                                                            entrance: string;
                                                                                                            finding_player: number;
                                                                                                            found: boolean;
                                                                                                            item: number;
                                                                                                            item_flags: number;
                                                                                                            location: number;
                                                                                                            receiving_player: number;
                                                                                                        }

                                                                                                        An object representing a hint information for a particular item and location that contains it.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyentrance: string

                                                                                                          The name of the entrance to the location where this item is located.

                                                                                                          +
                                                                                                        • Readonlyfinding_player: number

                                                                                                          The id of the player who has this item in their world.

                                                                                                          +
                                                                                                        • Readonlyfound: boolean

                                                                                                          Whether this item has already been found.

                                                                                                          +
                                                                                                        • Readonlyitem: number

                                                                                                          The id of this item.

                                                                                                          +
                                                                                                        • Readonlyitem_flags: number

                                                                                                          The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                          +
                                                                                                        • Readonlylocation: number

                                                                                                          The id of the location for this item.

                                                                                                          +
                                                                                                        • Readonlyreceiving_player: number

                                                                                                          The id of the player who owns this item.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.NetworkItem.html b/docs/v2.0.1/types/index.API.NetworkItem.html new file mode 100644 index 0000000..db76eb6 --- /dev/null +++ b/docs/v2.0.1/types/index.API.NetworkItem.html @@ -0,0 +1,11 @@ +NetworkItem | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias NetworkItem

                                                                                                        NetworkItem: {
                                                                                                            flags: number;
                                                                                                            item: number;
                                                                                                            location: number;
                                                                                                            player: number;
                                                                                                        }

                                                                                                        Items that are sent over the network.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyflags: number

                                                                                                          The classification bit flags for this item. See itemsHandlingFlags for known flags.

                                                                                                          +
                                                                                                        • Readonlyitem: number

                                                                                                          The item id of the item. Item ids are in the range of -2^53 to +2^53-1.

                                                                                                          +
                                                                                                        • Readonlylocation: number

                                                                                                          The location id of the location inside the world. Location ids are in the range of -2^53 to +2^53 - 1.

                                                                                                          +
                                                                                                        • Readonlyplayer: number

                                                                                                          The slot id for the player whose world the item was located in, except when inside a LocationInfoPacket, +then it will be the slot id of the player the item belongs to.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.NetworkPlayer.html b/docs/v2.0.1/types/index.API.NetworkPlayer.html new file mode 100644 index 0000000..50ebd03 --- /dev/null +++ b/docs/v2.0.1/types/index.API.NetworkPlayer.html @@ -0,0 +1,12 @@ +NetworkPlayer | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias NetworkPlayer

                                                                                                        NetworkPlayer: {
                                                                                                            alias: string;
                                                                                                            name: string;
                                                                                                            slot: number;
                                                                                                            team: number;
                                                                                                        }

                                                                                                        An object that contains metadata about an individual player on the network.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyalias: string

                                                                                                          Represents the player's name in current time. Can be changed during a game with the !alias <name> command by +the player.

                                                                                                          +
                                                                                                        • Readonlyname: string

                                                                                                          The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                          +
                                                                                                        • Readonlyslot: number

                                                                                                          Determines the slot id for this player. Slot numbers are unique per team and start at 1. Slot number 0 refers +to the Archipelago server; this may appear in instances where the server grants the player an item.

                                                                                                          +
                                                                                                        • Readonlyteam: number

                                                                                                          Determines the team the player is on. Useful for competitive seeds. Team numbers start at 0.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.NetworkSlot.html b/docs/v2.0.1/types/index.API.NetworkSlot.html new file mode 100644 index 0000000..6e1b96d --- /dev/null +++ b/docs/v2.0.1/types/index.API.NetworkSlot.html @@ -0,0 +1,10 @@ +NetworkSlot | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias NetworkSlot

                                                                                                        NetworkSlot: {
                                                                                                            game: string;
                                                                                                            group_members: number[];
                                                                                                            name: string;
                                                                                                            type: typeof slotTypes[keyof typeof slotTypes];
                                                                                                        }

                                                                                                        An object representing metadata about a given slot on each team.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlygame: string

                                                                                                          The game this slot is playing.

                                                                                                          +
                                                                                                        • Readonlygroup_members: number[]

                                                                                                          Contains a list of player ids, if the type is slotTypes.group. Used for item links, otherwise empty.

                                                                                                          +
                                                                                                        • Readonlyname: string

                                                                                                          The original slot name as defined by the player's configuration file. Individual names are unique among players.

                                                                                                          +
                                                                                                        • Readonlytype: typeof slotTypes[keyof typeof slotTypes]

                                                                                                          The type of slot this is. See slotTypes for known slot types.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.NetworkVersion.html b/docs/v2.0.1/types/index.API.NetworkVersion.html new file mode 100644 index 0000000..f4727ac --- /dev/null +++ b/docs/v2.0.1/types/index.API.NetworkVersion.html @@ -0,0 +1,12 @@ +NetworkVersion | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias NetworkVersion

                                                                                                        NetworkVersion: {
                                                                                                            build: number;
                                                                                                            class: "Version";
                                                                                                            major: number;
                                                                                                            minor: number;
                                                                                                        }

                                                                                                        An object representing software versioning. Used in the ConnectPacket to allow the client to inform the +server the minimum Archipelago version it supports.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlybuild: number

                                                                                                          The build/patch component of the version number. (e.g., 0.0.X)

                                                                                                          +
                                                                                                        • Readonlyclass: "Version"

                                                                                                          Apparently required to be present to ensure the Archipelago server parses this object correctly.

                                                                                                          +
                                                                                                        • Readonlymajor: number

                                                                                                          The major component of the version number. (e.g., X.0.0)

                                                                                                          +
                                                                                                        • Readonlyminor: number

                                                                                                          The minor component of the version number. (e.g., 0.X.0)

                                                                                                          +

                                                                                                        Archipelago does not follow a semver versioning standard.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.OrDataStorageOperation.html b/docs/v2.0.1/types/index.API.OrDataStorageOperation.html new file mode 100644 index 0000000..ce9b4c5 --- /dev/null +++ b/docs/v2.0.1/types/index.API.OrDataStorageOperation.html @@ -0,0 +1,8 @@ +OrDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias OrDataStorageOperation

                                                                                                        OrDataStorageOperation: {
                                                                                                            operation: "or";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Applies a bitwise OR to the current value of the key with value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "or"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PermissionTable.html b/docs/v2.0.1/types/index.API.PermissionTable.html new file mode 100644 index 0000000..259a8d4 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PermissionTable.html @@ -0,0 +1,35 @@ +PermissionTable | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PermissionTable

                                                                                                        PermissionTable: {
                                                                                                            collect: PermissionValue;
                                                                                                            release: PermissionValue;
                                                                                                            remaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>;
                                                                                                        }

                                                                                                        Mapping of restrict-able commands to their current permissions level.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlycollect: PermissionValue

                                                                                                          Dictates what is allowed when it comes to a player collecting their run. A collect is an action which sends +the rest of the items in a player's run.

                                                                                                          + +
                                                                                                        • Readonlyrelease: PermissionValue

                                                                                                          Dictates what is allowed when it comes to a player releasing their run. A release is an action which +distributes the rest of the items in a player's run to those other players awaiting them.

                                                                                                          + +
                                                                                                        • Readonlyremaining: Omit<PermissionValue, typeof auto | typeof autoEnabled>

                                                                                                          Dictates what is allowed when it comes to a player querying the items remaining in their run.

                                                                                                          +
                                                                                                            +
                                                                                                          • permissions.goal: Allows a player to query for items remaining in their run but only after they +completed their own goal.
                                                                                                          • +
                                                                                                          • permissions.enabled: Denotes that players may query for any items remaining in their run (even +those belonging to other players).
                                                                                                          • +
                                                                                                          • permissions.disabled: All remaining item query modes disabled.
                                                                                                          • +
                                                                                                          +

                                                                                                          This command cannot have the permissions.auto or permissions.autoEnabled permission.

                                                                                                          +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PermissionValue.html b/docs/v2.0.1/types/index.API.PermissionValue.html new file mode 100644 index 0000000..254db37 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PermissionValue.html @@ -0,0 +1,6 @@ +PermissionValue | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PermissionValue

                                                                                                        PermissionValue: typeof permissions[keyof typeof permissions]

                                                                                                        The type for a given permission value.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PopDataStorageOperation.html b/docs/v2.0.1/types/index.API.PopDataStorageOperation.html new file mode 100644 index 0000000..27e6087 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PopDataStorageOperation.html @@ -0,0 +1,9 @@ +PopDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PopDataStorageOperation

                                                                                                        PopDataStorageOperation: {
                                                                                                            operation: "pop";
                                                                                                            value: JSONSerializable;
                                                                                                        }

                                                                                                        List or Dict only: for lists it will remove the index of the value given. For dicts it removes the element with +the specified key of value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "pop"
                                                                                                        • Readonlyvalue: JSONSerializable

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PowerDataStorageOperation.html b/docs/v2.0.1/types/index.API.PowerDataStorageOperation.html new file mode 100644 index 0000000..410dc65 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PowerDataStorageOperation.html @@ -0,0 +1,8 @@ +PowerDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PowerDataStorageOperation

                                                                                                        PowerDataStorageOperation: {
                                                                                                            operation: "pow";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Multiplies the current value of the key to the power of value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "pow"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PrintJSONPacket.html b/docs/v2.0.1/types/index.API.PrintJSONPacket.html new file mode 100644 index 0000000..5c649d4 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PrintJSONPacket.html @@ -0,0 +1,9 @@ +PrintJSONPacket | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PrintJSONPacket

                                                                                                        A union of possible PrintJSON packets. Sent to clients purely to display a message to the player. While various +message types provide additional arguments, clients only need to evaluate the data argument to construct the +human-readable message text. All other arguments may be ignored safely.

                                                                                                        +

                                                                                                        Only some of these attributes are present on each subtype, see each subtype for more information.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.PrintJSONType.html b/docs/v2.0.1/types/index.API.PrintJSONType.html new file mode 100644 index 0000000..bb637e3 --- /dev/null +++ b/docs/v2.0.1/types/index.API.PrintJSONType.html @@ -0,0 +1,6 @@ +PrintJSONType | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias PrintJSONType

                                                                                                        PrintJSONType:
                                                                                                            | "ItemSend"
                                                                                                            | "ItemCheat"
                                                                                                            | "Hint"
                                                                                                            | "Join"
                                                                                                            | "Part"
                                                                                                            | "Chat"
                                                                                                            | "ServerChat"
                                                                                                            | "Tutorial"
                                                                                                            | "TagsChanged"
                                                                                                            | "CommandResult"
                                                                                                            | "AdminCommandResult"
                                                                                                            | "Goal"
                                                                                                            | "Release"
                                                                                                            | "Collect"
                                                                                                            | "Countdown"

                                                                                                        A union of all known PrintJSONPacket types.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.RemoveDataStorageOperation.html b/docs/v2.0.1/types/index.API.RemoveDataStorageOperation.html new file mode 100644 index 0000000..be0dde9 --- /dev/null +++ b/docs/v2.0.1/types/index.API.RemoveDataStorageOperation.html @@ -0,0 +1,8 @@ +RemoveDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias RemoveDataStorageOperation

                                                                                                        RemoveDataStorageOperation: {
                                                                                                            operation: "remove";
                                                                                                            value: JSONSerializable;
                                                                                                        }

                                                                                                        List only: removes the first instance of value found in the list.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "remove"
                                                                                                        • Readonlyvalue: JSONSerializable

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ReplaceDataStorageOperation.html b/docs/v2.0.1/types/index.API.ReplaceDataStorageOperation.html new file mode 100644 index 0000000..d490cf5 --- /dev/null +++ b/docs/v2.0.1/types/index.API.ReplaceDataStorageOperation.html @@ -0,0 +1,8 @@ +ReplaceDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ReplaceDataStorageOperation

                                                                                                        ReplaceDataStorageOperation: {
                                                                                                            operation: "replace";
                                                                                                            value: JSONSerializable;
                                                                                                        }

                                                                                                        Sets the current value of the key to value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "replace"
                                                                                                        • Readonlyvalue: JSONSerializable

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.RightShiftDataStorageOperation.html b/docs/v2.0.1/types/index.API.RightShiftDataStorageOperation.html new file mode 100644 index 0000000..dc5e78b --- /dev/null +++ b/docs/v2.0.1/types/index.API.RightShiftDataStorageOperation.html @@ -0,0 +1,8 @@ +RightShiftDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias RightShiftDataStorageOperation

                                                                                                        RightShiftDataStorageOperation: {
                                                                                                            operation: "right_shift";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Applies a bitwise right-shift to the current value of the key by value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "right_shift"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ServerPacket.html b/docs/v2.0.1/types/index.API.ServerPacket.html new file mode 100644 index 0000000..408d23e --- /dev/null +++ b/docs/v2.0.1/types/index.API.ServerPacket.html @@ -0,0 +1,5 @@ +ServerPacket | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ServerPacket

                                                                                                        ServerPacket:
                                                                                                            | BouncedPacket
                                                                                                            | ConnectedPacket
                                                                                                            | ConnectionRefusedPacket
                                                                                                            | DataPackagePacket
                                                                                                            | InvalidPacketPacket
                                                                                                            | LocationInfoPacket
                                                                                                            | PrintJSONPacket
                                                                                                            | ReceivedItemsPacket
                                                                                                            | RetrievedPacket
                                                                                                            | RoomInfoPacket
                                                                                                            | RoomUpdatePacket
                                                                                                            | SetReplyPacket
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.TextJSONMessagePart.html b/docs/v2.0.1/types/index.API.TextJSONMessagePart.html new file mode 100644 index 0000000..c447d52 --- /dev/null +++ b/docs/v2.0.1/types/index.API.TextJSONMessagePart.html @@ -0,0 +1,10 @@ +TextJSONMessagePart | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias TextJSONMessagePart

                                                                                                        TextJSONMessagePart: {
                                                                                                            text: string;
                                                                                                            type?:
                                                                                                                | "text"
                                                                                                                | "entrance_name"
                                                                                                                | "player_id"
                                                                                                                | "player_name";
                                                                                                        }

                                                                                                        A textual node containing plaintext metadata.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlytext: string

                                                                                                          Used to supply text data for this node.

                                                                                                          +
                                                                                                        • Optional Readonlytype?:
                                                                                                              | "text"
                                                                                                              | "entrance_name"
                                                                                                              | "player_id"
                                                                                                              | "player_name"

                                                                                                          Used to denote the intent of the message part.

                                                                                                          +

                                                                                                          If type is omitted, it should be treated as the text type.

                                                                                                          +

                                                                                                        JSONMessagePart for all possible message part node subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.UpdateDataStorageOperation.html b/docs/v2.0.1/types/index.API.UpdateDataStorageOperation.html new file mode 100644 index 0000000..ac9c50f --- /dev/null +++ b/docs/v2.0.1/types/index.API.UpdateDataStorageOperation.html @@ -0,0 +1,9 @@ +UpdateDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias UpdateDataStorageOperation

                                                                                                        UpdateDataStorageOperation: {
                                                                                                            operation: "update";
                                                                                                            value: JSONSerializable;
                                                                                                        }

                                                                                                        Dict only: Updates the dictionary with the specified elements given in value creating new keys, or updating old +ones if they previously existed.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "update"
                                                                                                        • Readonlyvalue: JSONSerializable

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ValidJSONColorType.html b/docs/v2.0.1/types/index.API.ValidJSONColorType.html new file mode 100644 index 0000000..f8d010c --- /dev/null +++ b/docs/v2.0.1/types/index.API.ValidJSONColorType.html @@ -0,0 +1,9 @@ +ValidJSONColorType | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ValidJSONColorType

                                                                                                        ValidJSONColorType:
                                                                                                            | "bold"
                                                                                                            | "underline"
                                                                                                            | "black"
                                                                                                            | "red"
                                                                                                            | "green"
                                                                                                            | "yellow"
                                                                                                            | "blue"
                                                                                                            | "magenta"
                                                                                                            | "cyan"
                                                                                                            | "white"
                                                                                                            | "black_bg"
                                                                                                            | "red_bg"
                                                                                                            | "green_bg"
                                                                                                            | "yellow_bg"
                                                                                                            | "blue_bg"
                                                                                                            | "purple_bg"
                                                                                                            | "cyan_bg"
                                                                                                            | "white_bg"

                                                                                                        This is a type union of all supported "colors" denoting a console color to display the message part with and is only +sent if the type is color. This is limited to console colors due to backwards compatibility needs with games such +as A Link to the Past. Although background colors as well as foreground colors are listed, only one may be applied +to a JSONMessagePart at a time.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.ValidJSONMessagePartType.html b/docs/v2.0.1/types/index.API.ValidJSONMessagePartType.html new file mode 100644 index 0000000..de8487c --- /dev/null +++ b/docs/v2.0.1/types/index.API.ValidJSONMessagePartType.html @@ -0,0 +1,18 @@ +ValidJSONMessagePartType | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias ValidJSONMessagePartType

                                                                                                        ValidJSONMessagePartType:
                                                                                                            | "text"
                                                                                                            | "player_id"
                                                                                                            | "player_name"
                                                                                                            | "item_id"
                                                                                                            | "item_name"
                                                                                                            | "location_id"
                                                                                                            | "location_name"
                                                                                                            | "entrance_name"
                                                                                                            | "color"

                                                                                                        This is a type union of all supported message types for denoting the intent of the message part. This can be used to +indicate special information which may be rendered differently depending on client.

                                                                                                        +
                                                                                                          +
                                                                                                        • text: Regular text content. This is also the default type and is often omitted.
                                                                                                        • +
                                                                                                        • player_id: Player id of someone on your team, should be resolved to player Name.
                                                                                                        • +
                                                                                                        • player_name: Player Name, could be a player within a multiplayer game or from another team, not id resolvable.
                                                                                                        • +
                                                                                                        • item_id: Item id, should be resolved to an item name.
                                                                                                        • +
                                                                                                        • item_name: Item name, not currently used over network, but supported by reference clients.
                                                                                                        • +
                                                                                                        • location_id: Location id, should be resolved to a location name.
                                                                                                        • +
                                                                                                        • location_name: Location name, not currently used over network, but supported by reference clients.
                                                                                                        • +
                                                                                                        • entrance_name: Entrance name. No id mapping exists.
                                                                                                        • +
                                                                                                        • color: Regular text that should be colored. Only type that will contain color data.
                                                                                                        • +
                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.API.XorDataStorageOperation.html b/docs/v2.0.1/types/index.API.XorDataStorageOperation.html new file mode 100644 index 0000000..7552d16 --- /dev/null +++ b/docs/v2.0.1/types/index.API.XorDataStorageOperation.html @@ -0,0 +1,8 @@ +XorDataStorageOperation | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                        Type Alias XorDataStorageOperation

                                                                                                        XorDataStorageOperation: {
                                                                                                            operation: "xor";
                                                                                                            value: number;
                                                                                                        }

                                                                                                        Applies a bitwise XOR to the current value of the key with value.

                                                                                                        +

                                                                                                        Type declaration

                                                                                                        • Readonlyoperation: "xor"
                                                                                                        • Readonlyvalue: number

                                                                                                          A value for the operation to apply against the current data storage value.

                                                                                                          +

                                                                                                        DataStorageOperation for all possible operation subtypes.

                                                                                                        +
                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.ClientStatus.html b/docs/v2.0.1/types/index.ClientStatus.html new file mode 100644 index 0000000..baba551 --- /dev/null +++ b/docs/v2.0.1/types/index.ClientStatus.html @@ -0,0 +1,6 @@ +ClientStatus | archipelago.js - v2.0.1
                                                                                                        +

                                                                                                          Type Alias ClientStatus

                                                                                                          ClientStatus: typeof clientStatuses[keyof typeof clientStatuses]

                                                                                                          A type alias for any known client status. See clientStatuses for more information.

                                                                                                          +
                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.1/types/index.DataChangeCallback.html b/docs/v2.0.1/types/index.DataChangeCallback.html new file mode 100644 index 0000000..bb1dbee --- /dev/null +++ b/docs/v2.0.1/types/index.DataChangeCallback.html @@ -0,0 +1,6 @@ +DataChangeCallback | archipelago.js - v2.0.1
                                                                                                          +

                                                                                                            Type Alias DataChangeCallback

                                                                                                            DataChangeCallback: ((key: string, value: JSONSerializable, oldValue?: JSONSerializable) => void)

                                                                                                            A callback that fires when a monitored key is updated in data storage.

                                                                                                            +
                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/types/index.DeathEvents.html b/docs/v2.0.1/types/index.DeathEvents.html new file mode 100644 index 0000000..16343a6 --- /dev/null +++ b/docs/v2.0.1/types/index.DeathEvents.html @@ -0,0 +1,12 @@ +DeathEvents | archipelago.js - v2.0.1
                                                                                                            +

                                                                                                              Type Alias DeathEvents

                                                                                                              DeathEvents: {
                                                                                                                  deathReceived: [source: string, time: number, cause?: string];
                                                                                                              }

                                                                                                              An interface with all supported death events and their respective callback arguments. To be called from +MessageManager.

                                                                                                              +

                                                                                                              Type declaration

                                                                                                              • deathReceived: [source: string, time: number, cause?: string]

                                                                                                                Fired when a DeathLink-enabled player has sent a DeathLink.

                                                                                                                +

                                                                                                                The player who sent this DeathLink.

                                                                                                                +

                                                                                                                The timestamp this player died. Time is in number of milliseconds from unix epoch (same timestamp +system in JavaScript).

                                                                                                                +

                                                                                                                Optional description detailing the specific cause of death.

                                                                                                                +
                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.1/types/index.ItemEvents.html b/docs/v2.0.1/types/index.ItemEvents.html new file mode 100644 index 0000000..706d9c2 --- /dev/null +++ b/docs/v2.0.1/types/index.ItemEvents.html @@ -0,0 +1,16 @@ +ItemEvents | archipelago.js - v2.0.1
                                                                                                              +

                                                                                                                Type Alias ItemEvents

                                                                                                                ItemEvents: {
                                                                                                                    hintFound: [hint: Hint];
                                                                                                                    hintReceived: [hint: Hint];
                                                                                                                    hintsInitialized: [hints: Hint[]];
                                                                                                                    itemsReceived: [items: Item[], startingIndex: number];
                                                                                                                }

                                                                                                                An interface with all supported item/hint events and their respective callback arguments. To be called from +ItemsManager.

                                                                                                                +

                                                                                                                Type declaration

                                                                                                                • hintFound: [hint: Hint]

                                                                                                                  Fired when a hint has been found.

                                                                                                                  +

                                                                                                                  The hint that has been found.

                                                                                                                  +
                                                                                                                • hintReceived: [hint: Hint]

                                                                                                                  Fired when a new hint has been received.

                                                                                                                  +

                                                                                                                  The hint that has been created.

                                                                                                                  +
                                                                                                                • hintsInitialized: [hints: Hint[]]

                                                                                                                  Fired shortly after initial connection with all current hints relevant to this player.

                                                                                                                  +

                                                                                                                  All hints ever created relevant to this player.

                                                                                                                  +
                                                                                                                • itemsReceived: [items: Item[], startingIndex: number]

                                                                                                                  Fired when items have been received.

                                                                                                                  +

                                                                                                                  An array of item metadata in the order they are sent.

                                                                                                                  +

                                                                                                                  The ItemsManager.received index for the first item in the items array.

                                                                                                                  +
                                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/types/index.MessageEvents.html b/docs/v2.0.1/types/index.MessageEvents.html new file mode 100644 index 0000000..dc7d66f --- /dev/null +++ b/docs/v2.0.1/types/index.MessageEvents.html @@ -0,0 +1,73 @@ +MessageEvents | archipelago.js - v2.0.1
                                                                                                                +

                                                                                                                  Type Alias MessageEvents

                                                                                                                  MessageEvents: {
                                                                                                                      adminCommand: [text: string, nodes: MessageNode[]];
                                                                                                                      chat: [message: string, player: Player, nodes: MessageNode[]];
                                                                                                                      collected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                      connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                      countdown: [text: string, value: number, nodes: MessageNode[]];
                                                                                                                      disconnected: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                      goaled: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                      itemCheated: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                      itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]];
                                                                                                                      itemSent: [text: string, item: Item, nodes: MessageNode[]];
                                                                                                                      message: [text: string, nodes: MessageNode[]];
                                                                                                                      released: [text: string, player: Player, nodes: MessageNode[]];
                                                                                                                      serverChat: [message: string, nodes: MessageNode[]];
                                                                                                                      tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]];
                                                                                                                      tutorial: [text: string, nodes: MessageNode[]];
                                                                                                                      userCommand: [text: string, nodes: MessageNode[]];
                                                                                                                  }

                                                                                                                  An interface with all supported message events and their respective callback arguments. To be called from +MessageManager.

                                                                                                                  +

                                                                                                                  Type declaration

                                                                                                                  • adminCommand: [text: string, nodes: MessageNode[]]

                                                                                                                    Fires on the result of running an admin command via !admin.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • chat: [message: string, player: Player, nodes: MessageNode[]]

                                                                                                                    Fires when a player chat message is received.

                                                                                                                    +

                                                                                                                    The plaintext message content without the sender name prefix.

                                                                                                                    +

                                                                                                                    The metadata of the player who sent this message.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +

                                                                                                                    nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                    +
                                                                                                                  • collected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                    Fires when a player has collected their remaining items from the multi-world.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player that collected.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • connected: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                    Fires when a client connects to the room session.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player being connected as.

                                                                                                                    +

                                                                                                                    The tags of the joining client.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • countdown: [text: string, value: number, nodes: MessageNode[]]

                                                                                                                    Fires when a countdown message is received.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The current countdown value.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • disconnected: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                    Fires when a client disconnects from the room session.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player being disconnected from.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • goaled: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                    Fires when a connected player has met their goal condition.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player that reached their goal.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • itemCheated: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                    Fires when another player is sent a cheated item.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The item being sent.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • itemHinted: [text: string, item: Item, found: boolean, nodes: MessageNode[]]

                                                                                                                    Fires when a hint-style message is received.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The item being hinted.

                                                                                                                    +

                                                                                                                    If the item was found.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +

                                                                                                                    This event is for hint messages received. To track more information on when hints are updated, utilize +one of the hint-type events on ItemsManager instead.

                                                                                                                    +
                                                                                                                  • itemSent: [text: string, item: Item, nodes: MessageNode[]]

                                                                                                                    Fires when another player is sent an item (except for cheated items).

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The item being sent.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • message: [text: string, nodes: MessageNode[]]

                                                                                                                    Fires when any kind of message is received.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • released: [text: string, player: Player, nodes: MessageNode[]]

                                                                                                                    Fires when a player has released their remaining items to the multi-world.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player that released.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • serverChat: [message: string, nodes: MessageNode[]]

                                                                                                                    Fires when a server chat message is received.

                                                                                                                    +

                                                                                                                    The plaintext message content without the sender name prefix.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +

                                                                                                                    nodes will contain the sender name prefix from the server, but message will not.

                                                                                                                    +
                                                                                                                  • tagsUpdated: [text: string, player: Player, tags: string[], nodes: MessageNode[]]

                                                                                                                    Fires when a client updates their tags.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    The player this client is connected to.

                                                                                                                    +

                                                                                                                    The new tags for this client.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • tutorial: [text: string, nodes: MessageNode[]]

                                                                                                                    Fires when tutorial-like information is received, such as on first connection explaining !help.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  • userCommand: [text: string, nodes: MessageNode[]]

                                                                                                                    Fires on the result of running a user command, such as !status.

                                                                                                                    +

                                                                                                                    The plaintext message content.

                                                                                                                    +

                                                                                                                    An array of message nodes in this message with additional context for each textual component.

                                                                                                                    +
                                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.1/types/index.MessageLog.html b/docs/v2.0.1/types/index.MessageLog.html new file mode 100644 index 0000000..7680814 --- /dev/null +++ b/docs/v2.0.1/types/index.MessageLog.html @@ -0,0 +1,6 @@ +MessageLog | archipelago.js - v2.0.1
                                                                                                                  +

                                                                                                                    Type Alias MessageLog

                                                                                                                    MessageLog: {
                                                                                                                        nodes: MessageNode[];
                                                                                                                        text: string;
                                                                                                                    }[]

                                                                                                                    A type for logged messages on MessageManager.

                                                                                                                    +
                                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.1/types/index.MessageNode.html b/docs/v2.0.1/types/index.MessageNode.html new file mode 100644 index 0000000..ac7a0e6 --- /dev/null +++ b/docs/v2.0.1/types/index.MessageNode.html @@ -0,0 +1,6 @@ +MessageNode | archipelago.js - v2.0.1
                                                                                                                    +

                                                                                                                      Type Alias MessageNode

                                                                                                                      MessageNode:
                                                                                                                          | ItemMessageNode
                                                                                                                          | LocationMessageNode
                                                                                                                          | ColorMessageNode
                                                                                                                          | TextualMessageNode
                                                                                                                          | PlayerMessageNode

                                                                                                                      A type union of all known message node types. See each type for more information.

                                                                                                                      +
                                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.1/types/index.PlayerEvents.html b/docs/v2.0.1/types/index.PlayerEvents.html new file mode 100644 index 0000000..ca16d75 --- /dev/null +++ b/docs/v2.0.1/types/index.PlayerEvents.html @@ -0,0 +1,9 @@ +PlayerEvents | archipelago.js - v2.0.1
                                                                                                                      +

                                                                                                                        Type Alias PlayerEvents

                                                                                                                        PlayerEvents: {
                                                                                                                            aliasUpdated: [player: Player, oldAlias: string, newAlias: string];
                                                                                                                        }

                                                                                                                        Type declaration

                                                                                                                        • aliasUpdated: [player: Player, oldAlias: string, newAlias: string]

                                                                                                                          Fires when a player updates their alias.

                                                                                                                          +

                                                                                                                          The Player for this player with the changes applied.

                                                                                                                          +

                                                                                                                          The player's previous alias.

                                                                                                                          +

                                                                                                                          The player's new alias.

                                                                                                                          +
                                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/types/index.RoomStateEvents.html b/docs/v2.0.1/types/index.RoomStateEvents.html new file mode 100644 index 0000000..9acd498 --- /dev/null +++ b/docs/v2.0.1/types/index.RoomStateEvents.html @@ -0,0 +1,25 @@ +RoomStateEvents | archipelago.js - v2.0.1
                                                                                                                        +

                                                                                                                          Type Alias RoomStateEvents

                                                                                                                          RoomStateEvents: {
                                                                                                                              hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number];
                                                                                                                              hintPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                              locationCheckPointsUpdated: [oldValue: number, newValue: number];
                                                                                                                              locationsChecked: [locations: number[]];
                                                                                                                              passwordUpdated: [password: boolean];
                                                                                                                              permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable];
                                                                                                                          }

                                                                                                                          An interface with all supported room events and their respective callback arguments. To be called from +RoomStateManager.

                                                                                                                          +

                                                                                                                          Type declaration

                                                                                                                          • hintCostUpdated: [oldCost: number, newCost: number, oldPercentage: number, newPercentage: number]

                                                                                                                            Fires when the hint cost has been updated.

                                                                                                                            +

                                                                                                                            The previous amount of hint points required to request a hint.

                                                                                                                            +

                                                                                                                            The new amount of hint points required to request a hint.

                                                                                                                            +

                                                                                                                            The old hint cost percentage.

                                                                                                                            +

                                                                                                                            The new hint cost percentage.

                                                                                                                            +
                                                                                                                          • hintPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                            Fires when the player's hint points value has updated.

                                                                                                                            +

                                                                                                                            The old hint point value.

                                                                                                                            +

                                                                                                                            The new hint point value.

                                                                                                                            +
                                                                                                                          • locationCheckPointsUpdated: [oldValue: number, newValue: number]

                                                                                                                            Fires when the location check points have been updated.

                                                                                                                            +

                                                                                                                            The previous location check points value.

                                                                                                                            +

                                                                                                                            The new location check points value.

                                                                                                                            +
                                                                                                                          • locationsChecked: [locations: number[]]

                                                                                                                            Fires when new locations have been checked (or all locations on initial connection).

                                                                                                                            +

                                                                                                                            All the newly checked locations.

                                                                                                                            +
                                                                                                                          • passwordUpdated: [password: boolean]

                                                                                                                            Fires when the room password has been toggled.

                                                                                                                            +

                                                                                                                            If the room now requires a password to join.

                                                                                                                            +
                                                                                                                          • permissionsUpdated: [oldValue: PermissionTable, newValue: PermissionTable]

                                                                                                                            Fires when command permissions have been updated.

                                                                                                                            +

                                                                                                                            The previous command permissions table.

                                                                                                                            +

                                                                                                                            The new command permissions table.

                                                                                                                            +
                                                                                                                          \ No newline at end of file diff --git a/docs/v2.0.1/types/index.SocketEvents.html b/docs/v2.0.1/types/index.SocketEvents.html new file mode 100644 index 0000000..73d738a --- /dev/null +++ b/docs/v2.0.1/types/index.SocketEvents.html @@ -0,0 +1,45 @@ +SocketEvents | archipelago.js - v2.0.1
                                                                                                                          +

                                                                                                                            Type Alias SocketEvents

                                                                                                                            SocketEvents: {
                                                                                                                                bounced: [packet: BouncedPacket, data: JSONRecord];
                                                                                                                                connected: [packet: ConnectedPacket];
                                                                                                                                connectionRefused: [packet: ConnectionRefusedPacket];
                                                                                                                                dataPackage: [packet: DataPackagePacket];
                                                                                                                                disconnected: [];
                                                                                                                                invalidPacket: [packet: InvalidPacketPacket];
                                                                                                                                locationInfo: [packet: LocationInfoPacket];
                                                                                                                                printJSON: [packet: PrintJSONPacket];
                                                                                                                                receivedItems: [packet: ReceivedItemsPacket];
                                                                                                                                receivedPacket: [packet: ServerPacket];
                                                                                                                                retrieved: [packet: RetrievedPacket];
                                                                                                                                roomInfo: [packet: RoomInfoPacket];
                                                                                                                                roomUpdate: [packet: RoomUpdatePacket];
                                                                                                                                sentPackets: [packets: ClientPacket[]];
                                                                                                                                setReply: [packet: SetReplyPacket];
                                                                                                                            }

                                                                                                                            An interface with all supported socket events and their respective callback arguments. To be called from +SocketManager.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            // Print all chat messages to the console when received.
                                                                                                                            client.socket.on("PrintJSON", (packet, message) => {
                                                                                                                            console.log(message);
                                                                                                                            });

                                                                                                                            // Warn when lost connection.
                                                                                                                            client.socket.on("Disconnect", () => {
                                                                                                                            console.warn("Lost connection to the server!");
                                                                                                                            } +
                                                                                                                            + +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.API.clientStatuses.html b/docs/v2.0.1/variables/index.API.clientStatuses.html new file mode 100644 index 0000000..5580db8 --- /dev/null +++ b/docs/v2.0.1/variables/index.API.clientStatuses.html @@ -0,0 +1,12 @@ +clientStatuses | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                            Variable clientStatusesConst

                                                                                                                            clientStatuses: {
                                                                                                                                connected: 5;
                                                                                                                                disconnected: 0;
                                                                                                                                goal: 30;
                                                                                                                                playing: 20;
                                                                                                                                ready: 10;
                                                                                                                            } = ...

                                                                                                                            A const of known containing the possible client states that may be used to inform the server during a status update.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            • Readonlyconnected: 5

                                                                                                                              Client is currently connected. This status is set automatically when a client connects.

                                                                                                                              +
                                                                                                                            • Readonlydisconnected: 0

                                                                                                                              Client is in an unknown or disconnected state. This status is set automatically initially and when all connected +clients have disconnected from the server.

                                                                                                                              +
                                                                                                                            • Readonlygoal: 30

                                                                                                                              Client has completed their goal. Once set, cannot be changed.

                                                                                                                              +
                                                                                                                            • Readonlyplaying: 20

                                                                                                                              Client is currently playing.

                                                                                                                              +
                                                                                                                            • Readonlyready: 10

                                                                                                                              Client is ready to start, but hasn't started playing yet.

                                                                                                                              +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.API.itemClassifications.html b/docs/v2.0.1/variables/index.API.itemClassifications.html new file mode 100644 index 0000000..921747f --- /dev/null +++ b/docs/v2.0.1/variables/index.API.itemClassifications.html @@ -0,0 +1,10 @@ +itemClassifications | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                            Variable itemClassificationsConst

                                                                                                                            itemClassifications: {
                                                                                                                                normal: 0;
                                                                                                                                progression: 1;
                                                                                                                                trap: 4;
                                                                                                                                useful: 2;
                                                                                                                            } = ...

                                                                                                                            Bit flags that define the special characteristics of a NetworkItem.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            • Readonlynormal: 0

                                                                                                                              A shorthand with no flags set, also known as 'filler' or 'junk' items.

                                                                                                                              +
                                                                                                                            • Readonlyprogression: 1

                                                                                                                              If set, indicates the item may unlock logical advancement.

                                                                                                                              +
                                                                                                                            • Readonlytrap: 4

                                                                                                                              If set, indicates the item can inconvenience a player.

                                                                                                                              +
                                                                                                                            • Readonlyuseful: 2

                                                                                                                              If set, indicates the item is classified as useful to have.

                                                                                                                              +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.API.itemsHandlingFlags.html b/docs/v2.0.1/variables/index.API.itemsHandlingFlags.html new file mode 100644 index 0000000..dcef536 --- /dev/null +++ b/docs/v2.0.1/variables/index.API.itemsHandlingFlags.html @@ -0,0 +1,11 @@ +itemsHandlingFlags | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                            Variable itemsHandlingFlagsConst

                                                                                                                            itemsHandlingFlags: {
                                                                                                                                all: 7;
                                                                                                                                minimal: 0;
                                                                                                                                others: 1;
                                                                                                                                own: 2;
                                                                                                                                starting: 4;
                                                                                                                            } = ...

                                                                                                                            Bit flags configuring which items should be sent by the server to this client.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            • Readonlyall: 7

                                                                                                                              Shorthand for REMOTE_DIFFERENT_WORLDS, REMOTE_OWN_WORLD, and REMOTE_STARTING_INVENTORY.

                                                                                                                              +
                                                                                                                            • Readonlyminimal: 0

                                                                                                                              Indicates the client only receives items created by cheat commands.

                                                                                                                              +
                                                                                                                            • Readonlyothers: 1

                                                                                                                              Indicates the client get items sent from other worlds.

                                                                                                                              +
                                                                                                                            • Readonlyown: 2

                                                                                                                              Indicates the client get items sent from your own world. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                              +
                                                                                                                            • Readonlystarting: 4

                                                                                                                              Indicates the client get your starting inventory sent. Requires REMOTE_DIFFERENT_WORLDS to be set.

                                                                                                                              +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.API.permissions.html b/docs/v2.0.1/variables/index.API.permissions.html new file mode 100644 index 0000000..3698c4b --- /dev/null +++ b/docs/v2.0.1/variables/index.API.permissions.html @@ -0,0 +1,14 @@ +permissions | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                            Variable permissionsConst

                                                                                                                            permissions: {
                                                                                                                                auto: 6;
                                                                                                                                autoEnabled: 7;
                                                                                                                                disabled: 0;
                                                                                                                                enabled: 1;
                                                                                                                                goal: 2;
                                                                                                                            } = ...

                                                                                                                            A const containing the possible command permissions, for commands that may be restricted.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            • Readonlyauto: 6

                                                                                                                              Forces players to use this command after they have completed their goal.

                                                                                                                              +

                                                                                                                              Only allowed on release and collect permissions.

                                                                                                                              +
                                                                                                                            • ReadonlyautoEnabled: 7

                                                                                                                              Allows players to use this command manually at any time and forces them to use this command after they have +completed their goal.

                                                                                                                              +

                                                                                                                              Only allowed on release and collect permissions.

                                                                                                                              +
                                                                                                                            • Readonlydisabled: 0

                                                                                                                              Prevents players from using this command at any time.

                                                                                                                              +
                                                                                                                            • Readonlyenabled: 1

                                                                                                                              Allows players to use this command manually at any time.

                                                                                                                              +
                                                                                                                            • Readonlygoal: 2

                                                                                                                              Allows players to use this command manually after they have completed their goal.

                                                                                                                              +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.API.slotTypes.html b/docs/v2.0.1/variables/index.API.slotTypes.html new file mode 100644 index 0000000..c648e1c --- /dev/null +++ b/docs/v2.0.1/variables/index.API.slotTypes.html @@ -0,0 +1,9 @@ +slotTypes | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                            Variable slotTypesConst

                                                                                                                            slotTypes: {
                                                                                                                                group: 2;
                                                                                                                                player: 1;
                                                                                                                                spectator: 0;
                                                                                                                            } = ...

                                                                                                                            An enumeration representing the nature of the slot.

                                                                                                                            +

                                                                                                                            Type declaration

                                                                                                                            • Readonlygroup: 2

                                                                                                                              This client is an item links group containing at least 1 player with active item links.

                                                                                                                              +
                                                                                                                            • Readonlyplayer: 1

                                                                                                                              This client is a player and is participating in the current game.

                                                                                                                              +
                                                                                                                            • Readonlyspectator: 0

                                                                                                                              This client is a spectator and not participating in the current game.

                                                                                                                              +
                                                                                                                            \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.clientStatuses.html b/docs/v2.0.1/variables/index.clientStatuses.html new file mode 100644 index 0000000..4111538 --- /dev/null +++ b/docs/v2.0.1/variables/index.clientStatuses.html @@ -0,0 +1,12 @@ +clientStatuses | archipelago.js - v2.0.1
                                                                                                                            +

                                                                                                                              Variable clientStatusesConst

                                                                                                                              clientStatuses: {
                                                                                                                                  connected: 5;
                                                                                                                                  disconnected: 0;
                                                                                                                                  goal: 30;
                                                                                                                                  playing: 20;
                                                                                                                                  ready: 10;
                                                                                                                              } = ...

                                                                                                                              A const of known containing the possible client states that may be used to inform the server during a status update.

                                                                                                                              +

                                                                                                                              Type declaration

                                                                                                                              • Readonlyconnected: 5

                                                                                                                                Client is currently connected. This status is set automatically when a client connects.

                                                                                                                                +
                                                                                                                              • Readonlydisconnected: 0

                                                                                                                                Client is in an unknown or disconnected state. This status is set automatically initially and when all connected +clients have disconnected from the server.

                                                                                                                                +
                                                                                                                              • Readonlygoal: 30

                                                                                                                                Client has completed their goal. Once set, cannot be changed.

                                                                                                                                +
                                                                                                                              • Readonlyplaying: 20

                                                                                                                                Client is currently playing.

                                                                                                                                +
                                                                                                                              • Readonlyready: 10

                                                                                                                                Client is ready to start, but hasn't started playing yet.

                                                                                                                                +
                                                                                                                              \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.itemClassifications.html b/docs/v2.0.1/variables/index.itemClassifications.html new file mode 100644 index 0000000..8e66108 --- /dev/null +++ b/docs/v2.0.1/variables/index.itemClassifications.html @@ -0,0 +1,10 @@ +itemClassifications | archipelago.js - v2.0.1
                                                                                                                              +

                                                                                                                                Variable itemClassificationsConst

                                                                                                                                itemClassifications: {
                                                                                                                                    none: 0;
                                                                                                                                    progression: 1;
                                                                                                                                    trap: 4;
                                                                                                                                    useful: 2;
                                                                                                                                } = ...

                                                                                                                                Bit flags that define the special characteristics of a API.NetworkItem.

                                                                                                                                +

                                                                                                                                Type declaration

                                                                                                                                • Readonlynone: 0

                                                                                                                                  A shorthand with no flags set, also known as 'filler' or 'junk' items.

                                                                                                                                  +
                                                                                                                                • Readonlyprogression: 1

                                                                                                                                  If set, indicates the item may unlock logical advancement.

                                                                                                                                  +
                                                                                                                                • Readonlytrap: 4

                                                                                                                                  If set, indicates the item can inconvenience a player.

                                                                                                                                  +
                                                                                                                                • Readonlyuseful: 2

                                                                                                                                  If set, indicates the item is classified as useful to have.

                                                                                                                                  +
                                                                                                                                \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.itemsHandlingFlags.html b/docs/v2.0.1/variables/index.itemsHandlingFlags.html new file mode 100644 index 0000000..e17326e --- /dev/null +++ b/docs/v2.0.1/variables/index.itemsHandlingFlags.html @@ -0,0 +1,11 @@ +itemsHandlingFlags | archipelago.js - v2.0.1
                                                                                                                                +

                                                                                                                                  Variable itemsHandlingFlagsConst

                                                                                                                                  itemsHandlingFlags: {
                                                                                                                                      all: 7;
                                                                                                                                      minimal: 0;
                                                                                                                                      others: 1;
                                                                                                                                      own: 2;
                                                                                                                                      starting: 4;
                                                                                                                                  } = ...

                                                                                                                                  Bit flags configuring which items should be sent by the server to this client.

                                                                                                                                  +

                                                                                                                                  Type declaration

                                                                                                                                  • Readonlyall: 7

                                                                                                                                    Shorthand for others, own, and starting.

                                                                                                                                    +
                                                                                                                                  • Readonlyminimal: 0

                                                                                                                                    Indicates the client only receives items created by cheat commands.

                                                                                                                                    +
                                                                                                                                  • Readonlyothers: 1

                                                                                                                                    Indicates the client get items sent from other worlds.

                                                                                                                                    +
                                                                                                                                  • Readonlyown: 2

                                                                                                                                    Indicates the client get items sent from your own world. Requires others bitflag to be set.

                                                                                                                                    +
                                                                                                                                  • Readonlystarting: 4

                                                                                                                                    Indicates the client get your starting inventory sent. Requires others bitflag to be set.

                                                                                                                                    +
                                                                                                                                  \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.libraryVersion.html b/docs/v2.0.1/variables/index.libraryVersion.html new file mode 100644 index 0000000..057316f --- /dev/null +++ b/docs/v2.0.1/variables/index.libraryVersion.html @@ -0,0 +1,6 @@ +libraryVersion | archipelago.js - v2.0.1
                                                                                                                                  +

                                                                                                                                    Variable libraryVersionConst

                                                                                                                                    libraryVersion = "2.0.1"

                                                                                                                                    The version of this library.

                                                                                                                                    +
                                                                                                                                    \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.permissions.html b/docs/v2.0.1/variables/index.permissions.html new file mode 100644 index 0000000..211ff65 --- /dev/null +++ b/docs/v2.0.1/variables/index.permissions.html @@ -0,0 +1,14 @@ +permissions | archipelago.js - v2.0.1
                                                                                                                                    +

                                                                                                                                      Variable permissionsConst

                                                                                                                                      permissions: {
                                                                                                                                          auto: 6;
                                                                                                                                          autoEnabled: 7;
                                                                                                                                          disabled: 0;
                                                                                                                                          enabled: 1;
                                                                                                                                          goal: 2;
                                                                                                                                      } = ...

                                                                                                                                      A const containing the possible command permissions, for commands that may be restricted.

                                                                                                                                      +

                                                                                                                                      Type declaration

                                                                                                                                      • Readonlyauto: 6

                                                                                                                                        Forces players to use this command after they have completed their goal.

                                                                                                                                        +

                                                                                                                                        Only allowed on release and collect permissions.

                                                                                                                                        +
                                                                                                                                      • ReadonlyautoEnabled: 7

                                                                                                                                        Allows players to use this command manually at any time and forces them to use this command after they have +completed their goal.

                                                                                                                                        +

                                                                                                                                        Only allowed on release and collect permissions.

                                                                                                                                        +
                                                                                                                                      • Readonlydisabled: 0

                                                                                                                                        Prevents players from using this command at any time.

                                                                                                                                        +
                                                                                                                                      • Readonlyenabled: 1

                                                                                                                                        Allows players to use this command manually at any time.

                                                                                                                                        +
                                                                                                                                      • Readonlygoal: 2

                                                                                                                                        Allows players to use this command manually after they have completed their goal.

                                                                                                                                        +
                                                                                                                                      \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.slotTypes.html b/docs/v2.0.1/variables/index.slotTypes.html new file mode 100644 index 0000000..5a4264f --- /dev/null +++ b/docs/v2.0.1/variables/index.slotTypes.html @@ -0,0 +1,9 @@ +slotTypes | archipelago.js - v2.0.1
                                                                                                                                      +

                                                                                                                                        Variable slotTypesConst

                                                                                                                                        slotTypes: {
                                                                                                                                            group: 2;
                                                                                                                                            player: 1;
                                                                                                                                            spectator: 0;
                                                                                                                                        } = ...

                                                                                                                                        An enumeration representing the nature of the slot.

                                                                                                                                        +

                                                                                                                                        Type declaration

                                                                                                                                        • Readonlygroup: 2

                                                                                                                                          This client is an item links group containing at least 1 player with active item links.

                                                                                                                                          +
                                                                                                                                        • Readonlyplayer: 1

                                                                                                                                          This client is a player and is participating in the current game.

                                                                                                                                          +
                                                                                                                                        • Readonlyspectator: 0

                                                                                                                                          This client is a spectator and not participating in the current game.

                                                                                                                                          +
                                                                                                                                        \ No newline at end of file diff --git a/docs/v2.0.1/variables/index.targetVersion.html b/docs/v2.0.1/variables/index.targetVersion.html new file mode 100644 index 0000000..2c0c135 --- /dev/null +++ b/docs/v2.0.1/variables/index.targetVersion.html @@ -0,0 +1,8 @@ +targetVersion | archipelago.js - v2.0.1
                                                                                                                                        +

                                                                                                                                          Variable targetVersionConst

                                                                                                                                          targetVersion: {
                                                                                                                                              build: 1;
                                                                                                                                              major: 0;
                                                                                                                                              minor: 5;
                                                                                                                                          } = ...

                                                                                                                                          Archipelago version this library attempts to target. Support for older versions of the Archipelago API is not +guaranteed and some newer enhancements may no longer work or be supported.

                                                                                                                                          +

                                                                                                                                          Version is represented in the format: major.minor.build.

                                                                                                                                          +
                                                                                                                                          \ No newline at end of file