sidechat.js 2.0.0-alpha.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +2 -2
  2. package/dist/index.d.ts +3 -0
  3. package/dist/sidechat.cjs +1 -1
  4. package/dist/sidechat.cjs.map +1 -1
  5. package/dist/sidechat.modern.js +1 -1
  6. package/dist/sidechat.modern.js.map +1 -1
  7. package/dist/sidechat.module.js +1 -1
  8. package/dist/sidechat.module.js.map +1 -1
  9. package/dist/sidechat.umd.js +1 -1
  10. package/dist/sidechat.umd.js.map +1 -1
  11. package/dist/types.d.ts +229 -0
  12. package/docs/sidechat.js/2.0.0/SidechatAPIClient.html +3 -0
  13. package/docs/sidechat.js/2.0.0/SidechatAPIError.html +3 -0
  14. package/docs/sidechat.js/2.0.0/classes_SidechatAPIClient.js.html +425 -0
  15. package/docs/sidechat.js/2.0.0/classes_SidechatAPIError.js.html +16 -0
  16. package/docs/sidechat.js/2.0.0/data/search.json +1 -0
  17. package/docs/sidechat.js/2.0.0/fonts/Inconsolata-Regular.ttf +0 -0
  18. package/docs/sidechat.js/2.0.0/fonts/OpenSans-Regular.ttf +0 -0
  19. package/docs/sidechat.js/2.0.0/fonts/WorkSans-Bold.ttf +0 -0
  20. package/docs/sidechat.js/2.0.0/global.html +3 -0
  21. package/docs/sidechat.js/2.0.0/index.html +4 -0
  22. package/docs/sidechat.js/2.0.0/scripts/core.js +702 -0
  23. package/docs/sidechat.js/2.0.0/scripts/core.min.js +23 -0
  24. package/docs/sidechat.js/2.0.0/scripts/resize.js +90 -0
  25. package/docs/sidechat.js/2.0.0/scripts/search.js +265 -0
  26. package/docs/sidechat.js/2.0.0/scripts/search.min.js +6 -0
  27. package/docs/sidechat.js/2.0.0/scripts/third-party/Apache-License-2.0.txt +202 -0
  28. package/docs/sidechat.js/2.0.0/scripts/third-party/fuse.js +9 -0
  29. package/docs/sidechat.js/2.0.0/scripts/third-party/hljs-line-num-original.js +369 -0
  30. package/docs/sidechat.js/2.0.0/scripts/third-party/hljs-line-num.js +1 -0
  31. package/docs/sidechat.js/2.0.0/scripts/third-party/hljs-original.js +5171 -0
  32. package/docs/sidechat.js/2.0.0/scripts/third-party/hljs.js +1 -0
  33. package/docs/sidechat.js/2.0.0/scripts/third-party/popper.js +5 -0
  34. package/docs/sidechat.js/2.0.0/scripts/third-party/tippy.js +1 -0
  35. package/docs/sidechat.js/2.0.0/scripts/third-party/tocbot.js +672 -0
  36. package/docs/sidechat.js/2.0.0/scripts/third-party/tocbot.min.js +1 -0
  37. package/docs/sidechat.js/2.0.0/styles/clean-jsdoc-theme-base.css +975 -0
  38. package/docs/sidechat.js/2.0.0/styles/clean-jsdoc-theme-dark.css +407 -0
  39. package/docs/sidechat.js/2.0.0/styles/clean-jsdoc-theme-light.css +388 -0
  40. package/docs/sidechat.js/2.0.0/styles/clean-jsdoc-theme.min.css +1 -0
  41. package/docs/sidechat.js/2.0.0/tutorial-Authentication.html +13 -0
  42. package/docs/sidechat.js/2.0.0/tutorial-Email Registration.html +6 -0
  43. package/docs/sidechat.js/2.0.0/types_SidechatTypes.js.html +98 -0
  44. package/docs/sidechat.js/2.0.0-alpha.0/SidechatAPIClient.html +1 -1
  45. package/docs/sidechat.js/2.0.0-alpha.0/SidechatAPIError.html +3 -0
  46. package/docs/sidechat.js/2.0.0-alpha.0/classes_SidechatAPIClient.js.html +92 -48
  47. package/docs/sidechat.js/2.0.0-alpha.0/classes_SidechatAPIError.js.html +16 -0
  48. package/docs/sidechat.js/2.0.0-alpha.0/data/search.json +1 -1
  49. package/docs/sidechat.js/2.0.0-alpha.0/global.html +1 -1
  50. package/docs/sidechat.js/2.0.0-alpha.0/index.html +2 -2
  51. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Authentication.html +13 -0
  52. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Email Registration.html +6 -0
  53. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Email Verification.html +6 -0
  54. package/docs/sidechat.js/2.0.0-alpha.0/types_SidechatTypes.js.html +19 -3
  55. package/docs/tutorials/Authentication.md +46 -0
  56. package/docs/tutorials/Email Registration.md +16 -0
  57. package/jsdoc.json +2 -1
  58. package/package.json +10 -3
  59. package/src/classes/SidechatAPIClient.js +96 -45
  60. package/src/classes/SidechatAPIError.js +5 -0
  61. package/src/index.js +2 -2
  62. package/src/tests/basicTest.js +14 -3
  63. package/src/types/SidechatTypes.js +17 -1
@@ -1,30 +1,51 @@
1
1
  <!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Source: classes/SidechatAPIClient.js</title><!--[if lt IE 9]>
2
2
  <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
3
- <![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section id="source-page" class="source-page"><header><h1 id="title" class="has-anchor">classes_SidechatAPIClient.js</h1></header><article><pre class="prettyprint source lang-js"><code>import "./types/SidechatTypes.js";
4
- import SidechatAPIError from "./classes/SidechatAPIError.js";
3
+ <![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section id="source-page" class="source-page"><header><h1 id="title" class="has-anchor">classes_SidechatAPIClient.js</h1></header><article><pre class="prettyprint source lang-js"><code>import "../types/SidechatTypes.js";
4
+ import SidechatAPIError from "../classes/SidechatAPIError.js";
5
5
 
6
6
  /**
7
- * API client class for making requests to Sidechat's private API. As of now all methods are static.
7
+ * API client class for making requests to Sidechat's private API. You'll need to [authenticate]{@tutorial Authentication} before using most of the methods.
8
8
  * @class
9
9
  * @since 2.0.0-alpha.0
10
- * @todo Add functionality for constructing a client with or without a token and having it keep track of requests/caching, etc
11
10
  */
12
11
  class SidechatAPIClient {
13
- static defaultHeaders = {
12
+ /** User bearer token */
13
+ userToken;
14
+ /** Default headers for every API request */
15
+ defaultHeaders = {
14
16
  Accept: "application/json",
15
17
  "Content-Type": "application/json",
16
18
  };
17
19
 
20
+ /**
21
+ * Create a new instance of the API client
22
+ * @param {SidechatAuthToken} [token] - user bearer token
23
+ */
24
+ constructor(token = "") {
25
+ if (token) {
26
+ this.userToken = token;
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Manually set the currently signed in user's token. Generally try to avoid this and instead either pass a token to the constructor or login automatically through the auth functions
32
+ * @method
33
+ * @param {SidechatAuthToken} token - user bearer token
34
+ */
35
+ setToken = (token) => {
36
+ this.userToken = token;
37
+ };
38
+
18
39
  /**
19
40
  * Initiate the login process with a phone number. Should be followed up with verifySMSCode().
20
41
  * @method
21
42
  * @param {Number} phoneNumber - US phone number (WITHOUT +1) to send verification code to
22
43
  */
23
- static loginViaSMS = async (phoneNumber) => {
44
+ loginViaSMS = async (phoneNumber) => {
24
45
  try {
25
46
  const res = await fetch(`https://api.sidechat.lol/v1/login_register`, {
26
47
  method: "POST",
27
- headers: defaultHeaders,
48
+ headers: this.defaultHeaders,
28
49
  body: JSON.stringify({
29
50
  phone_number: `+1${phoneNumber}`,
30
51
  version: 3,
@@ -33,7 +54,7 @@ class SidechatAPIClient {
33
54
  const json = await res.json();
34
55
  return json;
35
56
  } catch (err) {
36
- console.error(error);
57
+ console.error(err);
37
58
  throw new SidechatAPIError("Failed to request SMS verification.");
38
59
  }
39
60
  };
@@ -44,13 +65,13 @@ class SidechatAPIClient {
44
65
  * @param {Number} phoneNumber - US phone number (WITHOUT +1) that verification code was sent to
45
66
  * @param {String} code - the verification code
46
67
  */
47
- static verifySMSCode = async (phoneNumber, code) => {
68
+ verifySMSCode = async (phoneNumber, code) => {
48
69
  try {
49
70
  const res = await fetch(
50
71
  `https://api.sidechat.lol/v1/verify_phone_number`,
51
72
  {
52
73
  method: "POST",
53
- headers: defaultHeaders,
74
+ headers: this.defaultHeaders,
54
75
  body: JSON.stringify({
55
76
  phone_number: `+1${phoneNumber}`,
56
77
  code: code.toUpperCase(),
@@ -58,6 +79,9 @@ class SidechatAPIClient {
58
79
  }
59
80
  );
60
81
  const json = await res.json();
82
+ if (json?.logged_in_user?.token) {
83
+ this.userToken = json.logged_in_user.token;
84
+ }
61
85
  return json;
62
86
  } catch (err) {
63
87
  console.error(err);
@@ -71,7 +95,7 @@ class SidechatAPIClient {
71
95
  * @param {Number} age - user's age in years
72
96
  * @param {String} registrationID - the registration ID generated by verifySMSCode()
73
97
  */
74
- static setAge = async (age, registrationID) => {
98
+ setAge = async (age, registrationID) => {
75
99
  if (age &lt; 13) {
76
100
  throw new SidechatAPIError("You're too young to use Offsides.");
77
101
  }
@@ -80,7 +104,7 @@ class SidechatAPIClient {
80
104
  `https://api.sidechat.lol/v1/complete_registration`,
81
105
  {
82
106
  method: "POST",
83
- headers: defaultHeaders,
107
+ headers: this.defaultHeaders,
84
108
  body: JSON.stringify({
85
109
  age: Number(age),
86
110
  registration_id: registrationID,
@@ -88,6 +112,9 @@ class SidechatAPIClient {
88
112
  }
89
113
  );
90
114
  const json = await res.json();
115
+ if (json.token) {
116
+ this.userToken = json.token;
117
+ }
91
118
  return json;
92
119
  } catch (err) {
93
120
  console.error(err);
@@ -99,17 +126,20 @@ class SidechatAPIClient {
99
126
  * Initiate the email setup process. Should be followed up with checkEmailVerification().
100
127
  * @method
101
128
  * @param {String} email - school email address to send verification code to
102
- * @param {String} token - user bearer token
129
+ * @tutorial Email Registration
103
130
  */
104
- static registerEmail = async (email, token) => {
131
+ registerEmail = async (email) => {
132
+ if (!this.userToken) {
133
+ throw new SidechatAPIError("User is not authenticated.");
134
+ }
105
135
  try {
106
136
  const res = await fetch(
107
137
  `https://api.sidechat.lol/v2/users/register_email`,
108
138
  {
109
139
  method: "POST",
110
140
  headers: {
111
- ...defaultHeaders,
112
- Authorization: `Bearer ${token}`,
141
+ ...this.defaultHeaders,
142
+ Authorization: `Bearer ${this.userToken}`,
113
143
  },
114
144
  body: JSON.stringify({
115
145
  email: email,
@@ -130,17 +160,19 @@ class SidechatAPIClient {
130
160
  /**
131
161
  * Check is the user's email is verified.
132
162
  * @method
133
- * @param {String} token - user bearer token
134
163
  */
135
- static checkEmailVerification = async (token) => {
164
+ checkEmailVerification = async () => {
165
+ if (!this.userToken) {
166
+ throw new SidechatAPIError("User is not authenticated.");
167
+ }
136
168
  try {
137
169
  const res = await fetch(
138
170
  `https://api.sidechat.lol/v1/users/check_email_verified`,
139
171
  {
140
172
  method: "GET",
141
173
  headers: {
142
- ...defaultHeaders,
143
- Authorization: `Bearer ${token}`,
174
+ ...this.defaultHeaders,
175
+ Authorization: `Bearer ${this.userToken}`,
144
176
  },
145
177
  }
146
178
  );
@@ -160,17 +192,19 @@ class SidechatAPIClient {
160
192
  * Set the device ID of the current user
161
193
  * @method
162
194
  * @param {String} deviceId - the device ID to set
163
- * @param {String} token - the user bearer token
164
195
  */
165
- static setDeviceID = async (deviceID, token) => {
196
+ setDeviceID = async (deviceID) => {
197
+ if (!this.userToken) {
198
+ throw new SidechatAPIError("User is not authenticated.");
199
+ }
166
200
  try {
167
201
  const res = await fetch(
168
202
  `https://api.sidechat.lol/v1/register_device_token`,
169
203
  {
170
204
  method: "POST",
171
205
  headers: {
172
- ...defaultHeaders,
173
- Authorization: `Bearer ${token}`,
206
+ ...this.defaultHeaders,
207
+ Authorization: `Bearer ${this.userToken}`,
174
208
  },
175
209
  body: JSON.stringify({
176
210
  build_type: "release",
@@ -191,18 +225,20 @@ class SidechatAPIClient {
191
225
  /**
192
226
  * Get updated status for user and group
193
227
  * @method
194
- * @param {String} token - user bearer token
195
228
  * @param {String} [groupID] - ID of a specific group to retrieve info from
196
229
  */
197
- static getUserAndGroup = async (token, groupID = "") => {
230
+ getUserAndGroup = async (groupID = "") => {
231
+ if (!this.userToken) {
232
+ throw new SidechatAPIError("User is not authenticated.");
233
+ }
198
234
  try {
199
235
  const res = await fetch(
200
236
  `https://api.sidechat.lol/v1/updates?group_id=${groupID}`,
201
237
  {
202
238
  method: "GET",
203
239
  headers: {
204
- ...defaultHeaders,
205
- Authorization: `Bearer ${token}`,
240
+ ...this.defaultHeaders,
241
+ Authorization: `Bearer ${this.userToken}`,
206
242
  },
207
243
  }
208
244
  );
@@ -218,12 +254,14 @@ class SidechatAPIClient {
218
254
  * Fetches posts from the specified category in a group
219
255
  * @method
220
256
  * @param {String} groupID - group ID
221
- * @param {String} token - user bearer token
222
257
  * @param {"hot"|"recent"|"top"} category - category to filter posts
223
258
  * @param {SidechatCursorString} [cursor] - cursor string
224
- * @returns {{posts: SidechatPostOrComment[], cursor: SidechatCursorString}} List of posts and cursor
259
+ * @returns {SidechatPostsAndCursor} List of posts and cursor
225
260
  */
226
- static getGroupPosts = async (groupID, token, category = "hot", cursor) => {
261
+ getGroupPosts = async (groupID, category = "hot", cursor) => {
262
+ if (!this.userToken) {
263
+ throw new SidechatAPIError("User is not authenticated.");
264
+ }
227
265
  try {
228
266
  const res = await fetch(
229
267
  `https://api.sidechat.lol/v1/posts?group_id=${groupID}&amp;type=${category}${
@@ -232,8 +270,8 @@ class SidechatAPIClient {
232
270
  {
233
271
  method: "GET",
234
272
  headers: {
235
- ...defaultHeaders,
236
- Authorization: `Bearer ${token}`,
273
+ ...this.defaultHeaders,
274
+ Authorization: `Bearer ${this.userToken}`,
237
275
  },
238
276
  }
239
277
  );
@@ -249,16 +287,18 @@ class SidechatAPIClient {
249
287
  * Upvote or downvote, or unvote a post
250
288
  * @method
251
289
  * @param {String} postID - post ID to vote on
252
- * @param {String} token - user bearer token
253
290
  * @param {SidechatVoteString} action - whether to upvote, downvote, or reset vote
254
291
  */
255
- static setVote = async (postID, token, action) => {
292
+ setVote = async (postID, action) => {
293
+ if (!this.userToken) {
294
+ throw new SidechatAPIError("User is not authenticated.");
295
+ }
256
296
  try {
257
297
  const res = await fetch(`https://api.sidechat.lol/v1/posts/set_vote`, {
258
298
  method: "POST",
259
299
  headers: {
260
- ...defaultHeaders,
261
- Authorization: `Bearer ${token}`,
300
+ ...this.defaultHeaders,
301
+ Authorization: `Bearer ${this.userToken}`,
262
302
  },
263
303
  body: JSON.stringify({
264
304
  post_id: postID,
@@ -277,18 +317,20 @@ class SidechatAPIClient {
277
317
  * Get all the commments on a post
278
318
  * @method
279
319
  * @param {String} postID - post ID to get comments for
280
- * @param {String} token - user bearer token
281
320
  * @returns {SidechatPostOrComment[]} list of comments
282
321
  */
283
- static getPostComments = async (postID, token) => {
322
+ getPostComments = async (postID) => {
323
+ if (!this.userToken) {
324
+ throw new SidechatAPIError("User is not authenticated.");
325
+ }
284
326
  try {
285
327
  const res = await fetch(
286
328
  `https://api.sidechat.lol/v1/posts/comments/?post_id=${postID}`,
287
329
  {
288
330
  method: "GET",
289
331
  headers: {
290
- ...defaultHeaders,
291
- Authorization: `Bearer ${token}`,
332
+ ...this.defaultHeaders,
333
+ Authorization: `Bearer ${this.userToken}`,
292
334
  },
293
335
  }
294
336
  );
@@ -349,20 +391,22 @@ class SidechatAPIClient {
349
391
  /**
350
392
  * Gets groups to be displayed on the "Explore Groups" page
351
393
  * @method
352
- * @param {String} token - user bearer token
353
- * @returns {SidechatGroup}
394
+ * @returns {SidechatGroup[]}
354
395
  */
355
- static getAvailableGroups = async (token) => {
396
+ getAvailableGroups = async () => {
397
+ if (!this.userToken) {
398
+ throw new SidechatAPIError("User is not authenticated.");
399
+ }
356
400
  try {
357
401
  const res = await fetch(`https://api.sidechat.lol/v1/groups/explore`, {
358
402
  method: "GET",
359
403
  headers: {
360
- ...defaultHeaders,
361
- Authorization: `Bearer ${token}`,
404
+ ...this.defaultHeaders,
405
+ Authorization: `Bearer ${this.userToken}`,
362
406
  },
363
407
  });
364
408
  const json = await res.json();
365
- return json.groups;
409
+ return await json.groups;
366
410
  } catch (err) {
367
411
  console.error(err);
368
412
  throw new SidechatAPIError(`Failed to get groups from explore.`);
@@ -371,4 +415,4 @@ class SidechatAPIClient {
371
415
  }
372
416
 
373
417
  export default SidechatAPIClient;
374
- </code></pre></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
418
+ </code></pre></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Source: classes/SidechatAPIError.js</title><!--[if lt IE 9]>
2
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
3
+ <![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section id="source-page" class="source-page"><header><h1 id="title" class="has-anchor">classes_SidechatAPIError.js</h1></header><article><pre class="prettyprint source lang-js"><code>/**
4
+ * Throwable error caused by the Sidechat API
5
+ * @class
6
+ * @extends Error
7
+ */
8
+ class SidechatAPIError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = "SidechatAPIError";
12
+ }
13
+ }
14
+
15
+ export default SidechatAPIError;
16
+ </code></pre></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAsset">SidechatAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>
@@ -1 +1 @@
1
- {"list":[{"title":"SidechatAPIClient","link":"<a href=\"SidechatAPIClient.html\">SidechatAPIClient</a>"},{"title":"SidechatAPIClient#checkEmailVerification","link":"<a href=\"SidechatAPIClient.html#checkEmailVerification\">checkEmailVerification</a>","description":"<p>Check is the user's email is verified.</p>"},{"title":"SidechatAPIClient#getAvailableGroups","link":"<a href=\"SidechatAPIClient.html#getAvailableGroups\">getAvailableGroups</a>","description":"<p>Gets groups to be displayed on the &quot;Explore Groups&quot; page</p>"},{"title":"SidechatAPIClient#getGroupPosts","link":"<a href=\"SidechatAPIClient.html#getGroupPosts\">getGroupPosts</a>","description":"<p>Fetches posts from the specified category in a group</p>"},{"title":"SidechatAPIClient#getPostComments","link":"<a href=\"SidechatAPIClient.html#getPostComments\">getPostComments</a>","description":"<p>Get all the commments on a post</p>"},{"title":"SidechatAPIClient#getUserAndGroup","link":"<a href=\"SidechatAPIClient.html#getUserAndGroup\">getUserAndGroup</a>","description":"<p>Get updated status for user and group</p>"},{"title":"SidechatAPIClient#loginViaSMS","link":"<a href=\"SidechatAPIClient.html#loginViaSMS\">loginViaSMS</a>","description":"<p>Initiate the login process with a phone number. Should be followed up with verifySMSCode().</p>"},{"title":"SidechatAPIClient#registerEmail","link":"<a href=\"SidechatAPIClient.html#registerEmail\">registerEmail</a>","description":"<p>Initiate the email setup process. Should be followed up with checkEmailVerification().</p>"},{"title":"SidechatAPIClient#setAge","link":"<a href=\"SidechatAPIClient.html#setAge\">setAge</a>","description":"<p>Set the user's age</p>"},{"title":"SidechatAPIClient#setDeviceID","link":"<a href=\"SidechatAPIClient.html#setDeviceID\">setDeviceID</a>","description":"<p>Set the device ID of the current user</p>"},{"title":"SidechatAPIClient#setVote","link":"<a href=\"SidechatAPIClient.html#setVote\">setVote</a>","description":"<p>Upvote or downvote, or unvote a post</p>"},{"title":"SidechatAPIClient#verifySMSCode","link":"<a href=\"SidechatAPIClient.html#verifySMSCode\">verifySMSCode</a>","description":"<p>Verify the code sent via SMS with loginViaSMS().</p>"},{"title":"SidechatAsset","link":"<a href=\"global.html#SidechatAsset\">SidechatAsset</a>","description":"<p>An asset object, containing information about an image within a post or comment</p>"},{"title":"SidechatCursorString","link":"<a href=\"global.html#SidechatCursorString\">SidechatCursorString</a>","description":"<p>A cursor for paginating through post lists</p>"},{"title":"SidechatGroup","link":"<a href=\"global.html#SidechatGroup\">SidechatGroup</a>","description":"<p>A group object, containing metadata about a group as well as its join conditions and states</p>"},{"title":"SidechatIdentity","link":"<a href=\"global.html#SidechatIdentity\">SidechatIdentity</a>","description":"<p>A user's identity information</p>"},{"title":"SidechatPostOrComment","link":"<a href=\"global.html#SidechatPostOrComment\">SidechatPostOrComment</a>","description":"<p>A user-created post or comment, depending on the &quot;type&quot; prop</p>"},{"title":"SidechatPrivateAssetURL","link":"<a href=\"global.html#SidechatPrivateAssetURL\">SidechatPrivateAssetURL</a>","description":"<p>An asset URL that can only be accessed by making a request with a user's bearer token attached in the Authorization header</p>"},{"title":"SidechatVoteString","link":"<a href=\"global.html#SidechatVoteString\">SidechatVoteString</a>","description":"<p>Represents a vote on a comment or post</p>"}]}
1
+ {"list":[{"title":"SidechatAPIClient","link":"<a href=\"SidechatAPIClient.html\">SidechatAPIClient</a>","description":"<p>Create a new instance of the API client</p>"},{"title":"SidechatAPIClient#checkEmailVerification","link":"<a href=\"SidechatAPIClient.html#checkEmailVerification\">checkEmailVerification</a>","description":"<p>Check is the user's email is verified.</p>"},{"title":"SidechatAPIClient#defaultHeaders","link":"<a href=\"SidechatAPIClient.html#defaultHeaders\">defaultHeaders</a>","description":"<p>Default headers for every API request</p>"},{"title":"SidechatAPIClient#getAvailableGroups","link":"<a href=\"SidechatAPIClient.html#getAvailableGroups\">getAvailableGroups</a>","description":"<p>Gets groups to be displayed on the &quot;Explore Groups&quot; page</p>"},{"title":"SidechatAPIClient#getGroupPosts","link":"<a href=\"SidechatAPIClient.html#getGroupPosts\">getGroupPosts</a>","description":"<p>Fetches posts from the specified category in a group</p>"},{"title":"SidechatAPIClient#getPostComments","link":"<a href=\"SidechatAPIClient.html#getPostComments\">getPostComments</a>","description":"<p>Get all the commments on a post</p>"},{"title":"SidechatAPIClient#getUserAndGroup","link":"<a href=\"SidechatAPIClient.html#getUserAndGroup\">getUserAndGroup</a>","description":"<p>Get updated status for user and group</p>"},{"title":"SidechatAPIClient#loginViaSMS","link":"<a href=\"SidechatAPIClient.html#loginViaSMS\">loginViaSMS</a>","description":"<p>Initiate the login process with a phone number. Should be followed up with verifySMSCode().</p>"},{"title":"SidechatAPIClient#registerEmail","link":"<a href=\"SidechatAPIClient.html#registerEmail\">registerEmail</a>","description":"<p>Initiate the email setup process. Should be followed up with checkEmailVerification().</p>"},{"title":"SidechatAPIClient#setAge","link":"<a href=\"SidechatAPIClient.html#setAge\">setAge</a>","description":"<p>Set the user's age</p>"},{"title":"SidechatAPIClient#setDeviceID","link":"<a href=\"SidechatAPIClient.html#setDeviceID\">setDeviceID</a>","description":"<p>Set the device ID of the current user</p>"},{"title":"SidechatAPIClient#setToken","link":"<a href=\"SidechatAPIClient.html#setToken\">setToken</a>","description":"<p>Manually set the currently signed in user's token. Generally try to avoid this and instead either pass a token to the constructor or login automatically through the auth functions</p>"},{"title":"SidechatAPIClient#setVote","link":"<a href=\"SidechatAPIClient.html#setVote\">setVote</a>","description":"<p>Upvote or downvote, or unvote a post</p>"},{"title":"SidechatAPIClient#userToken","link":"<a href=\"SidechatAPIClient.html#userToken\">userToken</a>","description":"<p>User bearer token</p>"},{"title":"SidechatAPIClient#verifySMSCode","link":"<a href=\"SidechatAPIClient.html#verifySMSCode\">verifySMSCode</a>","description":"<p>Verify the code sent via SMS with loginViaSMS().</p>"},{"title":"SidechatAPIError","link":"<a href=\"SidechatAPIError.html\">SidechatAPIError</a>"},{"title":"SidechatAsset","link":"<a href=\"global.html#SidechatAsset\">SidechatAsset</a>","description":"<p>An asset object, containing information about an image within a post or comment</p>"},{"title":"SidechatAuthToken","link":"<a href=\"global.html#SidechatAuthToken\">SidechatAuthToken</a>","description":"<p>A user's bearer authentication token needed for most requests</p>"},{"title":"SidechatCursorString","link":"<a href=\"global.html#SidechatCursorString\">SidechatCursorString</a>","description":"<p>A cursor for paginating through post lists</p>"},{"title":"SidechatGroup","link":"<a href=\"global.html#SidechatGroup\">SidechatGroup</a>","description":"<p>A group object, containing metadata about a group as well as its join conditions and states</p>"},{"title":"SidechatIdentity","link":"<a href=\"global.html#SidechatIdentity\">SidechatIdentity</a>","description":"<p>A user's identity information</p>"},{"title":"SidechatPostOrComment","link":"<a href=\"global.html#SidechatPostOrComment\">SidechatPostOrComment</a>","description":"<p>A user-created post or comment, depending on the &quot;type&quot; prop</p>"},{"title":"SidechatPostsAndCursor","link":"<a href=\"global.html#SidechatPostsAndCursor\">SidechatPostsAndCursor</a>","description":"<p>A list of posts and the associated cursor</p>"},{"title":"SidechatPrivateAssetURL","link":"<a href=\"global.html#SidechatPrivateAssetURL\">SidechatPrivateAssetURL</a>","description":"<p>An asset URL that can only be accessed by making a request with a user's bearer token attached in the Authorization header</p>"},{"title":"SidechatVoteString","link":"<a href=\"global.html#SidechatVoteString\">SidechatVoteString</a>","description":"<p>A vote on a comment or post</p>"}]}