sidechat.js 2.5.5 → 2.6.0

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 (234) hide show
  1. package/dist/classes/SidechatAPIClient.d.ts +40 -3
  2. package/dist/classes/SidechatAPIClient.d.ts.map +1 -1
  3. package/dist/index.cjs +151 -12
  4. package/dist/index.mjs +151 -12
  5. package/dist/types/SidechatTypes.d.ts +69 -3
  6. package/dist/types/SidechatTypes.d.ts.map +1 -1
  7. package/docs/sidechat.js/2.5.6/SidechatAPIClient.html +3 -0
  8. package/docs/sidechat.js/2.5.6/SidechatAPIError.html +3 -0
  9. package/docs/sidechat.js/2.5.6/SidechatColorList.html +3 -0
  10. package/docs/sidechat.js/{2.4.6 → 2.5.6}/classes_SidechatAPIClient.js.html +181 -11
  11. package/docs/sidechat.js/2.5.6/classes_SidechatAPIError.js.html +16 -0
  12. package/docs/sidechat.js/2.5.6/classes_SidechatColorList.js.html +79 -0
  13. package/docs/sidechat.js/2.5.6/data/search.json +1 -0
  14. package/docs/sidechat.js/2.5.6/global.html +3 -0
  15. package/docs/sidechat.js/2.5.6/index.html +4 -0
  16. package/docs/sidechat.js/2.5.6/tutorial-Authentication.html +14 -0
  17. package/docs/sidechat.js/2.5.6/tutorial-Email Registration.html +6 -0
  18. package/docs/sidechat.js/{2.4.6 → 2.5.6}/types_SidechatTypes.js.html +23 -3
  19. package/docs/sidechat.js/2.6.0/SidechatAPIClient.html +3 -0
  20. package/docs/sidechat.js/2.6.0/SidechatAPIError.html +3 -0
  21. package/docs/sidechat.js/2.6.0/SidechatColorList.html +3 -0
  22. package/docs/sidechat.js/{2.4.7 → 2.6.0}/classes_SidechatAPIClient.js.html +268 -11
  23. package/docs/sidechat.js/2.6.0/classes_SidechatAPIError.js.html +16 -0
  24. package/docs/sidechat.js/2.6.0/classes_SidechatColorList.js.html +79 -0
  25. package/docs/sidechat.js/2.6.0/data/search.json +1 -0
  26. package/docs/sidechat.js/2.6.0/global.html +3 -0
  27. package/docs/sidechat.js/2.6.0/index.html +4 -0
  28. package/docs/sidechat.js/{2.4.6 → 2.6.0}/scripts/core.js +1 -1
  29. package/docs/sidechat.js/{2.4.6 → 2.6.0}/scripts/core.min.js +1 -1
  30. package/docs/sidechat.js/{2.4.6 → 2.6.0}/styles/clean-jsdoc-theme-base.css +3 -5
  31. package/docs/sidechat.js/2.6.0/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
  32. package/docs/sidechat.js/2.6.0/styles/clean-jsdoc-theme.min.css +1 -0
  33. package/docs/sidechat.js/2.6.0/tutorial-Authentication.html +14 -0
  34. package/docs/sidechat.js/2.6.0/tutorial-Email Registration.html +6 -0
  35. package/docs/sidechat.js/{2.4.7 → 2.6.0}/types_SidechatTypes.js.html +51 -7
  36. package/jsdoc.json +10 -0
  37. package/package.json +2 -2
  38. package/src/classes/SidechatAPIClient.js +120 -6
  39. package/src/types/SidechatTypes.js +31 -6
  40. package/docs/sidechat.js/1.0.0/data/search.json +0 -1
  41. package/docs/sidechat.js/1.0.0/global.html +0 -3
  42. package/docs/sidechat.js/1.0.0/index.html +0 -4
  43. package/docs/sidechat.js/1.0.0/index.js.html +0 -363
  44. package/docs/sidechat.js/1.0.0/scripts/core.js +0 -702
  45. package/docs/sidechat.js/1.0.0/scripts/core.min.js +0 -23
  46. package/docs/sidechat.js/1.0.0/styles/clean-jsdoc-theme-base.css +0 -975
  47. package/docs/sidechat.js/1.0.0/styles/clean-jsdoc-theme-dark.css +0 -407
  48. package/docs/sidechat.js/1.0.0/styles/clean-jsdoc-theme-light.css +0 -388
  49. package/docs/sidechat.js/1.0.0/styles/clean-jsdoc-theme.min.css +0 -1
  50. package/docs/sidechat.js/1.0.0/types_SidechatTypes.js.html +0 -82
  51. package/docs/sidechat.js/2.0.0-alpha.0/SidechatAPIClient.html +0 -3
  52. package/docs/sidechat.js/2.0.0-alpha.0/SidechatAPIError.html +0 -3
  53. package/docs/sidechat.js/2.0.0-alpha.0/classes_SidechatAPIClient.js.html +0 -418
  54. package/docs/sidechat.js/2.0.0-alpha.0/classes_SidechatAPIError.js.html +0 -16
  55. package/docs/sidechat.js/2.0.0-alpha.0/data/search.json +0 -1
  56. package/docs/sidechat.js/2.0.0-alpha.0/global.html +0 -3
  57. package/docs/sidechat.js/2.0.0-alpha.0/index.html +0 -4
  58. package/docs/sidechat.js/2.0.0-alpha.0/scripts/core.js +0 -702
  59. package/docs/sidechat.js/2.0.0-alpha.0/scripts/core.min.js +0 -23
  60. package/docs/sidechat.js/2.0.0-alpha.0/styles/clean-jsdoc-theme-base.css +0 -975
  61. package/docs/sidechat.js/2.0.0-alpha.0/styles/clean-jsdoc-theme-dark.css +0 -407
  62. package/docs/sidechat.js/2.0.0-alpha.0/styles/clean-jsdoc-theme-light.css +0 -388
  63. package/docs/sidechat.js/2.0.0-alpha.0/styles/clean-jsdoc-theme.min.css +0 -1
  64. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Authentication.html +0 -13
  65. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Email Registration.html +0 -6
  66. package/docs/sidechat.js/2.0.0-alpha.0/tutorial-Email Verification.html +0 -6
  67. package/docs/sidechat.js/2.0.0-alpha.0/types_SidechatTypes.js.html +0 -98
  68. package/docs/sidechat.js/2.4.0/SidechatAPIClient.html +0 -3
  69. package/docs/sidechat.js/2.4.0/SidechatAPIError.html +0 -3
  70. package/docs/sidechat.js/2.4.0/SidechatColorList.html +0 -3
  71. package/docs/sidechat.js/2.4.0/classes_SidechatAPIClient.js.html +0 -956
  72. package/docs/sidechat.js/2.4.0/classes_SidechatAPIError.js.html +0 -16
  73. package/docs/sidechat.js/2.4.0/classes_SidechatColorList.js.html +0 -79
  74. package/docs/sidechat.js/2.4.0/data/search.json +0 -1
  75. package/docs/sidechat.js/2.4.0/fonts/Inconsolata-Regular.ttf +0 -0
  76. package/docs/sidechat.js/2.4.0/fonts/OpenSans-Regular.ttf +0 -0
  77. package/docs/sidechat.js/2.4.0/fonts/WorkSans-Bold.ttf +0 -0
  78. package/docs/sidechat.js/2.4.0/global.html +0 -3
  79. package/docs/sidechat.js/2.4.0/index.html +0 -4
  80. package/docs/sidechat.js/2.4.0/scripts/core.js +0 -702
  81. package/docs/sidechat.js/2.4.0/scripts/core.min.js +0 -23
  82. package/docs/sidechat.js/2.4.0/scripts/resize.js +0 -90
  83. package/docs/sidechat.js/2.4.0/scripts/search.js +0 -265
  84. package/docs/sidechat.js/2.4.0/scripts/search.min.js +0 -6
  85. package/docs/sidechat.js/2.4.0/scripts/third-party/Apache-License-2.0.txt +0 -202
  86. package/docs/sidechat.js/2.4.0/scripts/third-party/fuse.js +0 -9
  87. package/docs/sidechat.js/2.4.0/scripts/third-party/hljs-line-num-original.js +0 -369
  88. package/docs/sidechat.js/2.4.0/scripts/third-party/hljs-line-num.js +0 -1
  89. package/docs/sidechat.js/2.4.0/scripts/third-party/hljs-original.js +0 -5171
  90. package/docs/sidechat.js/2.4.0/scripts/third-party/hljs.js +0 -1
  91. package/docs/sidechat.js/2.4.0/scripts/third-party/popper.js +0 -5
  92. package/docs/sidechat.js/2.4.0/scripts/third-party/tippy.js +0 -1
  93. package/docs/sidechat.js/2.4.0/scripts/third-party/tocbot.js +0 -672
  94. package/docs/sidechat.js/2.4.0/scripts/third-party/tocbot.min.js +0 -1
  95. package/docs/sidechat.js/2.4.0/styles/clean-jsdoc-theme-base.css +0 -975
  96. package/docs/sidechat.js/2.4.0/styles/clean-jsdoc-theme-dark.css +0 -407
  97. package/docs/sidechat.js/2.4.0/styles/clean-jsdoc-theme-light.css +0 -388
  98. package/docs/sidechat.js/2.4.0/styles/clean-jsdoc-theme.min.css +0 -1
  99. package/docs/sidechat.js/2.4.0/tutorial-Authentication.html +0 -14
  100. package/docs/sidechat.js/2.4.0/tutorial-Email Registration.html +0 -6
  101. package/docs/sidechat.js/2.4.0/types_SidechatTypes.js.html +0 -134
  102. package/docs/sidechat.js/2.4.4/SidechatAPIClient.html +0 -3
  103. package/docs/sidechat.js/2.4.4/SidechatAPIError.html +0 -3
  104. package/docs/sidechat.js/2.4.4/SidechatColorList.html +0 -3
  105. package/docs/sidechat.js/2.4.4/classes_SidechatAPIClient.js.html +0 -1100
  106. package/docs/sidechat.js/2.4.4/classes_SidechatAPIError.js.html +0 -16
  107. package/docs/sidechat.js/2.4.4/classes_SidechatColorList.js.html +0 -79
  108. package/docs/sidechat.js/2.4.4/data/search.json +0 -1
  109. package/docs/sidechat.js/2.4.4/fonts/Inconsolata-Regular.ttf +0 -0
  110. package/docs/sidechat.js/2.4.4/fonts/OpenSans-Regular.ttf +0 -0
  111. package/docs/sidechat.js/2.4.4/fonts/WorkSans-Bold.ttf +0 -0
  112. package/docs/sidechat.js/2.4.4/global.html +0 -3
  113. package/docs/sidechat.js/2.4.4/index.html +0 -4
  114. package/docs/sidechat.js/2.4.4/scripts/core.js +0 -726
  115. package/docs/sidechat.js/2.4.4/scripts/core.min.js +0 -23
  116. package/docs/sidechat.js/2.4.4/scripts/resize.js +0 -90
  117. package/docs/sidechat.js/2.4.4/scripts/search.js +0 -265
  118. package/docs/sidechat.js/2.4.4/scripts/search.min.js +0 -6
  119. package/docs/sidechat.js/2.4.4/scripts/third-party/Apache-License-2.0.txt +0 -202
  120. package/docs/sidechat.js/2.4.4/scripts/third-party/fuse.js +0 -9
  121. package/docs/sidechat.js/2.4.4/scripts/third-party/hljs-line-num-original.js +0 -369
  122. package/docs/sidechat.js/2.4.4/scripts/third-party/hljs-line-num.js +0 -1
  123. package/docs/sidechat.js/2.4.4/scripts/third-party/hljs-original.js +0 -5171
  124. package/docs/sidechat.js/2.4.4/scripts/third-party/hljs.js +0 -1
  125. package/docs/sidechat.js/2.4.4/scripts/third-party/popper.js +0 -5
  126. package/docs/sidechat.js/2.4.4/scripts/third-party/tippy.js +0 -1
  127. package/docs/sidechat.js/2.4.4/scripts/third-party/tocbot.js +0 -672
  128. package/docs/sidechat.js/2.4.4/scripts/third-party/tocbot.min.js +0 -1
  129. package/docs/sidechat.js/2.4.4/styles/clean-jsdoc-theme-base.css +0 -1161
  130. package/docs/sidechat.js/2.4.4/styles/clean-jsdoc-theme-without-scrollbar.min.css +0 -1
  131. package/docs/sidechat.js/2.4.4/styles/clean-jsdoc-theme.min.css +0 -1
  132. package/docs/sidechat.js/2.4.4/tutorial-Authentication.html +0 -14
  133. package/docs/sidechat.js/2.4.4/tutorial-Email Registration.html +0 -6
  134. package/docs/sidechat.js/2.4.4/types_SidechatTypes.js.html +0 -160
  135. package/docs/sidechat.js/2.4.6/SidechatAPIClient.html +0 -3
  136. package/docs/sidechat.js/2.4.6/SidechatAPIError.html +0 -3
  137. package/docs/sidechat.js/2.4.6/SidechatColorList.html +0 -3
  138. package/docs/sidechat.js/2.4.6/classes_SidechatAPIError.js.html +0 -16
  139. package/docs/sidechat.js/2.4.6/classes_SidechatColorList.js.html +0 -79
  140. package/docs/sidechat.js/2.4.6/data/search.json +0 -1
  141. package/docs/sidechat.js/2.4.6/fonts/Inconsolata-Regular.ttf +0 -0
  142. package/docs/sidechat.js/2.4.6/fonts/OpenSans-Regular.ttf +0 -0
  143. package/docs/sidechat.js/2.4.6/fonts/WorkSans-Bold.ttf +0 -0
  144. package/docs/sidechat.js/2.4.6/global.html +0 -3
  145. package/docs/sidechat.js/2.4.6/index.html +0 -4
  146. package/docs/sidechat.js/2.4.6/scripts/resize.js +0 -90
  147. package/docs/sidechat.js/2.4.6/scripts/search.js +0 -265
  148. package/docs/sidechat.js/2.4.6/scripts/search.min.js +0 -6
  149. package/docs/sidechat.js/2.4.6/scripts/third-party/Apache-License-2.0.txt +0 -202
  150. package/docs/sidechat.js/2.4.6/scripts/third-party/fuse.js +0 -9
  151. package/docs/sidechat.js/2.4.6/scripts/third-party/hljs-line-num-original.js +0 -369
  152. package/docs/sidechat.js/2.4.6/scripts/third-party/hljs-line-num.js +0 -1
  153. package/docs/sidechat.js/2.4.6/scripts/third-party/hljs-original.js +0 -5171
  154. package/docs/sidechat.js/2.4.6/scripts/third-party/hljs.js +0 -1
  155. package/docs/sidechat.js/2.4.6/scripts/third-party/popper.js +0 -5
  156. package/docs/sidechat.js/2.4.6/scripts/third-party/tippy.js +0 -1
  157. package/docs/sidechat.js/2.4.6/scripts/third-party/tocbot.js +0 -672
  158. package/docs/sidechat.js/2.4.6/scripts/third-party/tocbot.min.js +0 -1
  159. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme-without-scrollbar.min.css +0 -1
  160. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme.min.css +0 -1
  161. package/docs/sidechat.js/2.4.6/tutorial-Authentication.html +0 -14
  162. package/docs/sidechat.js/2.4.6/tutorial-Email Registration.html +0 -6
  163. package/docs/sidechat.js/2.4.7/SidechatAPIClient.html +0 -3
  164. package/docs/sidechat.js/2.4.7/SidechatAPIError.html +0 -3
  165. package/docs/sidechat.js/2.4.7/SidechatColorList.html +0 -3
  166. package/docs/sidechat.js/2.4.7/classes_SidechatAPIError.js.html +0 -16
  167. package/docs/sidechat.js/2.4.7/classes_SidechatColorList.js.html +0 -79
  168. package/docs/sidechat.js/2.4.7/data/search.json +0 -1
  169. package/docs/sidechat.js/2.4.7/fonts/Inconsolata-Regular.ttf +0 -0
  170. package/docs/sidechat.js/2.4.7/fonts/OpenSans-Regular.ttf +0 -0
  171. package/docs/sidechat.js/2.4.7/fonts/WorkSans-Bold.ttf +0 -0
  172. package/docs/sidechat.js/2.4.7/global.html +0 -3
  173. package/docs/sidechat.js/2.4.7/index.html +0 -4
  174. package/docs/sidechat.js/2.4.7/scripts/resize.js +0 -90
  175. package/docs/sidechat.js/2.4.7/scripts/search.js +0 -265
  176. package/docs/sidechat.js/2.4.7/scripts/search.min.js +0 -6
  177. package/docs/sidechat.js/2.4.7/scripts/third-party/Apache-License-2.0.txt +0 -202
  178. package/docs/sidechat.js/2.4.7/scripts/third-party/fuse.js +0 -9
  179. package/docs/sidechat.js/2.4.7/scripts/third-party/hljs-line-num-original.js +0 -369
  180. package/docs/sidechat.js/2.4.7/scripts/third-party/hljs-line-num.js +0 -1
  181. package/docs/sidechat.js/2.4.7/scripts/third-party/hljs-original.js +0 -5171
  182. package/docs/sidechat.js/2.4.7/scripts/third-party/hljs.js +0 -1
  183. package/docs/sidechat.js/2.4.7/scripts/third-party/popper.js +0 -5
  184. package/docs/sidechat.js/2.4.7/scripts/third-party/tippy.js +0 -1
  185. package/docs/sidechat.js/2.4.7/scripts/third-party/tocbot.js +0 -672
  186. package/docs/sidechat.js/2.4.7/scripts/third-party/tocbot.min.js +0 -1
  187. package/docs/sidechat.js/2.4.7/styles/clean-jsdoc-theme-dark.css +0 -412
  188. package/docs/sidechat.js/2.4.7/styles/clean-jsdoc-theme-light.css +0 -482
  189. package/docs/sidechat.js/2.4.7/styles/clean-jsdoc-theme-scrollbar.css +0 -30
  190. package/docs/sidechat.js/2.4.7/tutorial-Authentication.html +0 -14
  191. package/docs/sidechat.js/2.4.7/tutorial-Email Registration.html +0 -6
  192. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/fonts/Inconsolata-Regular.ttf +0 -0
  193. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/fonts/OpenSans-Regular.ttf +0 -0
  194. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/fonts/WorkSans-Bold.ttf +0 -0
  195. /package/docs/sidechat.js/{2.4.7 → 2.5.6}/scripts/core.js +0 -0
  196. /package/docs/sidechat.js/{2.4.7 → 2.5.6}/scripts/core.min.js +0 -0
  197. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/resize.js +0 -0
  198. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/search.js +0 -0
  199. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/search.min.js +0 -0
  200. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/Apache-License-2.0.txt +0 -0
  201. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/fuse.js +0 -0
  202. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/hljs-line-num-original.js +0 -0
  203. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/hljs-line-num.js +0 -0
  204. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/hljs-original.js +0 -0
  205. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/hljs.js +0 -0
  206. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/popper.js +0 -0
  207. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/tippy.js +0 -0
  208. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/tocbot.js +0 -0
  209. /package/docs/sidechat.js/{1.0.0 → 2.5.6}/scripts/third-party/tocbot.min.js +0 -0
  210. /package/docs/sidechat.js/{2.4.7 → 2.5.6}/styles/clean-jsdoc-theme-base.css +0 -0
  211. /package/docs/sidechat.js/{2.4.4 → 2.5.6}/styles/clean-jsdoc-theme-dark.css +0 -0
  212. /package/docs/sidechat.js/{2.4.4 → 2.5.6}/styles/clean-jsdoc-theme-light.css +0 -0
  213. /package/docs/sidechat.js/{2.4.4 → 2.5.6}/styles/clean-jsdoc-theme-scrollbar.css +0 -0
  214. /package/docs/sidechat.js/{2.4.7 → 2.5.6}/styles/clean-jsdoc-theme-without-scrollbar.min.css +0 -0
  215. /package/docs/sidechat.js/{2.4.7 → 2.5.6}/styles/clean-jsdoc-theme.min.css +0 -0
  216. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/fonts/Inconsolata-Regular.ttf +0 -0
  217. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/fonts/OpenSans-Regular.ttf +0 -0
  218. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/fonts/WorkSans-Bold.ttf +0 -0
  219. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/resize.js +0 -0
  220. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/search.js +0 -0
  221. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/search.min.js +0 -0
  222. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/Apache-License-2.0.txt +0 -0
  223. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/fuse.js +0 -0
  224. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/hljs-line-num-original.js +0 -0
  225. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/hljs-line-num.js +0 -0
  226. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/hljs-original.js +0 -0
  227. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/hljs.js +0 -0
  228. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/popper.js +0 -0
  229. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/tippy.js +0 -0
  230. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/tocbot.js +0 -0
  231. /package/docs/sidechat.js/{2.0.0-alpha.0 → 2.6.0}/scripts/third-party/tocbot.min.js +0 -0
  232. /package/docs/sidechat.js/{2.4.6 → 2.6.0}/styles/clean-jsdoc-theme-dark.css +0 -0
  233. /package/docs/sidechat.js/{2.4.6 → 2.6.0}/styles/clean-jsdoc-theme-light.css +0 -0
  234. /package/docs/sidechat.js/{2.4.6 → 2.6.0}/styles/clean-jsdoc-theme-scrollbar.css +0 -0
@@ -0,0 +1 @@
1
+ @font-face{font-display:swap;font-family:"heading";src:url(../fonts/WorkSans-Bold.ttf)format("truetype")}@font-face{font-display:swap;font-family:"body";src:url(../fonts/OpenSans-Regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:"code";src:url(../fonts/Inconsolata-Regular.ttf)format("truetype")}:root{--outer-wrapper-max-width:65rem}*{box-sizing:border-box;margin:0;padding:0}html,body{line-height:1.75;min-height:100%;width:100%}body{font-family:"body";overflow-x:hidden;position:relative}b{font-family:heading}h1,h2,h3,h4,h5,h6{font-family:"heading";font-weight:400;line-height:1.75}h1{font-size:3.5rem;margin:0}h2{font-size:2.25rem;margin:2rem 0 0}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:1rem}img{max-width:100%}a{text-decoration:none}a:hover{text-decoration:underline}a img{margin-right:.5rem}p{margin:1rem 0}article ul{list-style:disc}article ul li,article ol li{padding:.5rem 0}article ol,article ul{padding-left:2rem}article ol p,article ul p{margin:0}.variation{display:none}.signature-attributes{font-style:italic;font-weight:lighter}.ancestors a{text-decoration:none}.important{font-weight:700}.signature{font-family:"code"}.name{font-family:"code";font-weight:700}blockquote{border-radius:1rem;font-size:.875rem;margin:.5rem 0;padding:.0625rem 1.25rem}.details{border-radius:1rem;margin:1rem 0}.details .details-item-container{display:flex;padding:1rem 2rem}dt{font-family:heading}.details dt{float:left;min-width:11rem}.details ul{display:inline-flex;list-style-type:none;margin:0}.details ul li{display:inline-flex;margin-right:.6125rem;padding:0;word-break:break-word}.details ul li p{margin:0}.details pre.prettyprint{margin:0}.details .object-value{padding-top:0}.description{margin-bottom:2rem}.method-member-container table{margin-top:1rem}.pre-div .hljs-ln{margin:0}.code-caption{font-size:.875rem}.prettyprint{font-size:.875rem;overflow:auto}pre.prettyprint{margin-top:3rem}.prettyprint.source{width:inherit}.prettyprint code{display:block;font-size:1rem;line-height:1.75;padding:0 0 1rem}.prettyprint .compact{padding:0}h4.name{margin-top:.5rem}.params,.props,table{border-collapse:separate;border-radius:.5rem;border-spacing:0 .5rem;font-size:.875rem;margin:0;width:100%}table td:first-child,.params td:first-child,table thead th:first-child,.params thead th:first-child,.props thead th:first-child{border-bottom-left-radius:1rem;border-top-left-radius:1rem}table td:last-child,.params td:last-child,table thead th:last-child,.params thead th:last-child,.props thead th:last-child{border-bottom-right-radius:1rem;border-top-right-radius:1rem}table th,.params th{position:sticky;top:0}.params .name,.props .name,.name code{font-family:"code";font-size:1rem}.params td,.params th,.props td,.props th,th,td{display:table-cell;margin:0;padding:1rem 2rem;text-align:left;vertical-align:top}.params thead tr,.props thead tr{font-weight:700}.params .params thead tr,.props .props thead tr{font-weight:700}.params td.description>p:first-child,.props td.description>p:first-child{margin-top:0;padding-top:0}.params td.description>p:last-child,.props td.description>p:last-child{margin-bottom:0;padding-bottom:0}dl.param-type{margin-bottom:1rem;padding-bottom:1rem}.param-type dt,.param-type dd{display:inline-block}.param-type dd{font-family:"code";font-size:1rem}code{border-radius:.3rem;font-family:"code";font-size:1rem;padding:.1rem .4rem}.mt-20{margin-top:1.5rem}.codepen-form{bottom:0;position:absolute;right:.6125rem}.body-wrapper{display:flex;flex-direction:column;height:100vh;position:relative}.sidebar-container{bottom:0;display:flex;left:0;padding:1rem;position:fixed;top:0;width:25rem;z-index:10}.sidebar{border-radius:1rem;display:flex;flex:1;flex-direction:column;overflow:hidden;padding:1.5rem 0}.sidebar-title{font-family:heading;font-size:1.5rem;margin:0 0 2rem;padding:0 2rem;text-decoration:none}.sidebar-title:hover{text-decoration:none}.sidebar-items-container{flex:1;overflow:auto;position:relative}.sidebar-section-title{border-radius:1rem;font-family:heading;font-size:1.25rem;padding:.5rem 2rem}.with-arrow{align-items:center;cursor:pointer;display:flex}.with-arrow div{flex:1}.with-arrow svg{height:1rem;transition:transform .3s;width:1rem}.with-arrow[data-isopen=true] svg{transform:rotate(180deg)}.sidebar-section-children-container{border-radius:.5rem;overflow:hidden}.sidebar-section-children a{display:block;padding:.25rem 2rem;width:100%}.sidebar-section-children a{text-decoration:none}.with-arrow[data-isopen=false]+.sidebar-section-children-container{height:0;overflow:hidden}.with-arrow[data-isopen=true]+.sidebar-section-children-container{height:auto}.toc-container{bottom:0;position:fixed;right:4rem;top:0;width:16rem;z-index:10}.toc-content{display:flex;flex-direction:column;height:100%;padding-top:10rem}#eed4d2a0bfd64539bb9df78095dec881{flex:1;margin:2rem 0;overflow:auto}.toc-list{list-style:none;padding-left:1rem}.toc-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.toc-link.is-active-link{font-family:heading}.has-anchor{position:relative}.link-anchor{padding:0 .5rem}.has-anchor .link-anchor{left:0;position:absolute;text-decoration:none;top:0;transform:translateX(-100%);visibility:hidden}.has-anchor:hover .link-anchor{visibility:visible}.navbar-container{display:flex;height:7rem;justify-content:center;left:25rem;padding-top:1rem;position:fixed;right:25rem;top:0;z-index:10}.navbar{display:flex;flex:1;max-width:var(--outer-wrapper-max-width);padding:1rem 4rem 1rem 2rem}.navbar-left-items{display:flex;flex:1}.navbar-right-items{display:flex}.icon-button svg{height:1rem;width:1rem}.icon-button{background:0 0;border:0;border-radius:50%;cursor:pointer;display:inline-flex;padding:.5rem;position:relative;transition:background .3s}.navbar-right-item{align-items:center;display:flex;justify-content:center;margin:0 .25rem}.navbar-item{border-radius:.5rem;overflow:hidden}.navbar-item a{display:inline-block;padding:1rem 2rem;text-decoration:none;transition:.3s}.font-size-tooltip{align-items:center;display:flex;margin:0-.5rem}.font-size-tooltip .icon-button.disabled{pointer-events:none}.main-content{align-items:center;display:flex;flex:1;flex-direction:column;overflow:auto;padding:7rem 25rem 0;position:relative}.main-wrapper{max-width:var(--outer-wrapper-max-width);padding:0 4rem 1rem;width:100%}.p-h-n{padding:.4rem 1rem}.footer{border-radius:1rem;display:flex;font-size:.875rem;justify-content:center;margin-top:5rem;width:100%}.source-page+.footer{margin-top:3rem}.footer .wrapper{flex:1;max-width:var(--outer-wrapper-max-width);padding:1rem 2rem}pre{position:relative}.hljs table td{background:0 0;border-radius:0;line-height:1.5;padding:0 .6125rem}.hljs .hljs-ln-numbers{padding-left:1.5rem;user-select:none;white-space:nowrap;width:2rem}.hljs-ln-line.hljs-ln-numbers::before{content:attr(data-line-number)}.pre-div{border-radius:1rem;margin:2rem 0;overflow:hidden;position:relative}.pre-top-bar-container{align-items:center;display:flex;justify-content:space-between;left:0;padding:.3125rem 1.5rem;position:absolute;right:0;top:0}.code-copy-icon-container{align-items:center;border-radius:50%;cursor:pointer;display:flex;height:1.875rem;justify-content:center;transition:.3s;width:1.875rem}.code-copy-icon-container>div{margin-top:.25rem;position:relative}.sm-icon{height:1rem;width:1rem}.code-lang-name{font-family:"body";font-size:.75rem}.tooltip{border-radius:.3125rem;opacity:0;padding:.1875rem .5rem;position:absolute;right:2rem;top:.3125rem;transform:scale(0);transition:.3s}.show-tooltip{opacity:1;transform:scale(1)}.allow-overflow{overflow:auto}.bold{font-family:heading}.search-container{align-items:flex-start;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:50}.search-container .wrapper{border-radius:1rem;margin:3rem 25rem;max-width:60rem;padding:4rem 2rem 2rem;position:relative;width:100%}.search-close-button{position:absolute;right:1rem;top:1rem}.search-result-c-text{display:flex;justify-content:center;user-select:none}.search-result-c{max-height:40rem;min-height:20rem;overflow:auto;padding:2rem 0}.search-box-c{align-items:center;display:flex;position:relative;width:100%}.search-box-c svg{height:1.5rem;left:1.5rem;position:absolute;width:1.5rem}.search-input{border:0;border-radius:1rem;flex:1;font-family:body;font-size:1.25rem;padding:1rem 2rem 1rem 4rem;width:100%}.search-result-item{border-radius:1rem;display:block;margin:1rem 0;padding:1rem;text-decoration:none}.search-result-item:hover{text-decoration:none}.search-result-item:active{text-decoration:none}.search-result-item-title{font-family:heading;font-size:1.5rem;margin:0}.search-result-item-p{font-size:.875rem;margin:0}.mobile-menu-icon-container{bottom:1.5rem;display:none;position:fixed;right:2rem;z-index:30}.mobile-menu-icon-container .icon-button svg{height:2rem;width:2rem}.mobile-sidebar-container{bottom:0;display:none;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:25}.mobile-sidebar-container.show{display:block}.mobile-sidebar-wrapper{border-radius:1rem;display:flex;flex-direction:column;height:100%;padding-top:2rem;width:100%}.mobile-nav-links{display:flex;flex-wrap:wrap;padding-top:2rem}.mobile-sidebar-items-c{flex:1;overflow:auto}.mobile-navbar-actions{display:flex;padding:1rem}.rel{position:relative}.icon-button.codepen-button svg{height:1.5rem;width:1.5rem}.table-div{overflow:auto;width:100%}.tag-default{overflow:auto}@media screen and (max-width:100em){.toc-container{display:none}.main-content{padding:7rem 0 0 25rem}.search-container .wrapper{margin-right:1rem}.navbar-container{right:1rem}}@media screen and (min-width:65em){.mobile-sidebar-container.show{display:none}}@media screen and (max-width:65em){h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.875}h4,h5,h6{font-size:1rem}.main-wrapper{padding:0 1rem 1rem}.search-result-c{max-height:25rem}.mobile-menu-icon-container{display:block}.sidebar-container{display:none}.search-container .wrapper{margin-left:1rem}.main-content{padding-left:0;padding-top:1rem}.navbar-container{display:none}.source-page+.footer,.footer{margin-top:2rem}.has-anchor:hover .link-anchor{visibility:hidden}}.child-tutorial-container{display:flex;flex-direction:row;flex-wrap:wrap}.child-tutorial{border:1px solid;border-radius:10px;display:block;margin:5px;padding:10px 16px}.child-tutorial:hover{text-decoration:none}::selection{background:#ffce76;color:#222}body{background-color:#1a1a1a;color:#fff}a,a:active{color:#0bf}hr{color:#222}h1,h2,h3,h4,h5,h6{color:#fff}.sidebar{background-color:#222;color:#999}.sidebar-title{color:#999}.sidebar-section-title{color:#999}.sidebar-section-title:hover{background:#252525}.with-arrow{fill:#999}.sidebar-section-children-container{background:#292929}.sidebar-section-children.active{background:#444}.sidebar-section-children a:hover{background:#2c2c2c}.sidebar-section-children a{color:#fff}.navbar-container{background:#1a1a1a}.icon-button svg,.navbar-item a{color:#999;fill:#999}.font-size-tooltip .icon-button svg{fill:#fff}.font-size-tooltip .icon-button.disabled{background:#999}.icon-button:hover{background:#333}.icon-button:active{background:#444}.navbar-item a:active{background-color:#222;color:#aaa}.navbar-item:hover{background:#202020}.footer{background:#222;color:#999}.footer a{color:#999}.toc-link{color:#777;font-size:.875rem;transition:color .3s}.toc-link.is-active-link{color:#fff}.has-anchor .link-anchor{color:#555}.has-anchor .link-anchor:hover{color:#888}tt,code,kbd,samp{background:#333}.signature-attributes{color:#aaa}.ancestors{color:#999}.ancestors a{color:#999!important}.important{color:#c51313}.type-signature{color:#00918e}.name,.name a{color:#f7f7f7}.details{background:#222;color:#fff}.prettyprint{background:#222}.member-item-container strong,.method-member-container strong{color:#fff}.pre-top-bar-container{background:#292929}.prettyprint.source,.prettyprint code{background-color:#222;color:#c9d1d9}.pre-div{background-color:#222}.hljs .hljs-ln-numbers{color:#777}.hljs .selected{background:#444}.hljs .selected .hljs-ln-numbers{color:#eee}table .name,.params .name,.props .name,.name code{color:#fff}table td,.params td{background-color:#292929}table thead th,.params thead th,.props thead th{background-color:#222;color:#fff}table .params thead tr,.params .params thead tr,.props .props thead tr{background-color:#222;color:#fff}.disabled{color:#aaa}.code-lang-name{color:#ff8a00}.tooltip{background:#ffce76;color:#222}.hljs-comment{color:#8b949e}.hljs-doctag,.hljs-keyword,.hljs-template-tag,.hljs-variable.language_{color:#ff7b72}.hljs-template-variable,.hljs-type{color:#30ac7c}.hljs-meta,.hljs-string,.hljs-regexp{color:#a5d6ff}.hljs-title.class_,.hljs-title{color:#ffa657}.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}blockquote{background:#222;color:#fff}.search-container{background:rgba(255,255,255,.1)}.icon-button.search-close-button svg{fill:#a00}.search-container .wrapper{background:#222}.search-result-c{color:#666}.search-box-c{fill:#333}.search-input{background:#333;color:#fff}.search-box-c svg{fill:#fff}.search-result-item{background:#333}.search-result-item:hover{background:#444}.search-result-item:active{background:#555}.search-result-item-title{color:#fff}.search-result-item-p{color:#aaa}.mobile-menu-icon-container .icon-button{background:#333}.mobile-sidebar-container{background:#1a1a1a}.mobile-sidebar-wrapper{background:#222}.child-tutorial{border-color:#555;color:#f3f3f3}.child-tutorial:hover{background:#222}.light ::selection{background:#ffce76;color:#1d1919}body.light{background-color:#fff;color:#111}.light a,.light a:active{color:#007bff}.light hr{color:#f7f7f7}.light h1,.light h2,.light h3,.light h4,.light h5,.light h6{color:#111}.light .sidebar{background-color:#f7f7f7;color:#222}.light .sidebar-title{color:#222}.light .sidebar-section-title{color:#222}.light .sidebar-section-title:hover,.light .sidebar-section-title.active{background:#eee}.light .with-arrow{fill:#111}.light .sidebar-section-children-container{background:#eee}.light .sidebar-section-children.active{background:#ccc}.light .sidebar-section-children a:hover{background:#e0e0e0}.light .sidebar-section-children a{color:#111}.light .navbar-container{background:#fff}.light .icon-button svg,.light .navbar-item a{color:#222;fill:#222}.light .tippy-box{background:#eee;color:#111}.light .tippy-arrow{color:#f1f1f1}.light .font-size-tooltip .icon-button svg{fill:#111}.light .font-size-tooltip .icon-button.disabled svg{fill:#999}.light .icon-button:hover{background:#ddd}.light .icon-button:active{background:#ccc}.light .navbar-item a:active{background-color:#eee;color:#333}.light .navbar-item:hover{background:#f7f7f7}.light .footer{background:#f7f7f7;color:#111}.light .footer a{color:#111}.light .toc-link{color:#999;font-size:.875rem;transition:color .3s}.light .toc-link.is-active-link{color:#111}.light .has-anchor .link-anchor{color:#ddd}.light .has-anchor .link-anchor:hover{color:#ccc}.light .signature-attributes{color:#aaa}.light .ancestors{color:#999}.light .ancestors a{color:#999!important}.light .important{color:#ee1313}.light .type-signature{color:#00918e}.light .name,.light .name a{color:#293a80}.light .details{background:#f9f9f9;color:#101010}.light .member-item-container strong,.light .method-member-container strong{color:#000}.light .prettyprint{background:#f7f7f7}.light .pre-div{background:#f7f7f7}.light .hljs .hljs-ln-numbers{color:#aaa}.light .hljs .selected{background:#ccc}.light table.hljs-ln td{background:0 0}.light .hljs .selected .hljs-ln-numbers{color:#444}.light .pre-top-bar-container{background-color:#eee}.light .prettyprint code{background-color:#f7f7f7}.light table .name,.light .params .name,.light .props .name,.light .name code{color:#4d4e53}.light table td,.light .params td{background:#f7f7f7}.light table thead th,.light .params thead th,.light .props thead th{background-color:#eee;color:#111}.light table .params thead tr,.light .params .params thead tr,.light .props .props thead tr{background-color:#eee;color:#111}.light .disabled{color:#454545}.light .code-lang-name{color:red}.light .tooltip{background:#ffce76;color:#000}.light .hljs-comment,.light .hljs-quote{color:#a0a1a7}.light .hljs-doctag,.light .hljs-keyword,.light .hljs-formula{color:#a626a4}.light .hljs-section,.light .hljs-name,.light .hljs-selector-tag,.light .hljs-deletion,.light .hljs-subst{color:#e45649}.light .hljs-literal{color:#0184bb}.light .hljs-string,.light .hljs-regexp,.light .hljs-addition,.light .hljs-attribute,.light .hljs-meta .hljs-string{color:#50a14f}.light .hljs-attr,.light .hljs-variable,.light .hljs-template-variable,.light .hljs-type,.light .hljs-selector-class,.light .hljs-selector-attr,.light .hljs-selector-pseudo,.light .hljs-number{color:#986801}.light .hljs-symbol,.light .hljs-bullet,.light .hljs-link,.light .hljs-meta,.light .hljs-selector-id,.light .hljs-title{color:#4078f2}.light .hljs-built_in,.light .hljs-title.class_,.light .hljs-class .hljs-title{color:#c18401}.light .hljs-emphasis{font-style:italic}.light .hljs-strong{font-weight:700}.light .hljs-link{text-decoration:underline}.light blockquote{background:#eee;color:#111}.light code{background:#ddd;color:#000}.light .search-container{background:rgba(0,0,0,.1)}.light .search-close-button svg{fill:red}.light .search-container .wrapper{background:#eee}.light .search-result-c{color:#aaa}.light .search-box-c svg{fill:#333}.light .search-input{background:#f7f7f7;color:#111}.light .search-result-item{background:#f7f7f7}.light .search-result-item:hover{background:#e9e9e9}.light .search-result-item:active{background:#f7f7f7}.light .search-result-item-title{color:#111}.light .search-result-item-p{color:#aaa}.light .mobile-menu-icon-container .icon-button{background:#e5e5e5}.light .mobile-sidebar-container{background:#fff}.light .mobile-sidebar-wrapper{background:#f7f7f7}.light .child-tutorial{border-color:#aaa;color:#222}.light .child-tutorial:hover{background:#ccc}::-webkit-scrollbar{height:.3125rem;width:.3125rem}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{border-radius:1rem}::-webkit-scrollbar-track{background:#333}::-webkit-scrollbar-thumb{background:#555;outline:.06125rem solid #555}.light ::-webkit-scrollbar-track{background:#ddd}.light ::-webkit-scrollbar-thumb{background:#aaa;outline:.06125rem solid #aaa}
@@ -0,0 +1,14 @@
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>Tutorial: Authentication</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">sidechat.js</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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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><header><h2>Authentication</h2></header><article><p>There are two supported methods of authenticating a Sidechat.js API client. We recommend the automatic method, but you may choose to use the manual method if your project involves multiple instances of <code>SidechatAPIClient</code>.</p><p>Go ahead and import <code>SidechatAPIClient</code> from the module:</p><pre class="prettyprint source lang-javascript"><code>import { SidechatAPIClient } from &quot;sidechat.js&quot;;
4
+ </code></pre><h3 id="automatic-method">Automatic method</h3><p>First, create a new instance of the client:</p><pre class="prettyprint source lang-javascript"><code>const API = new SidechatAPIClient();
5
+ </code></pre><p>For existing users, logging in is trivial. First, send the user a verification code to their phone number. Make sure the passed phone number is in a 10-digit format with no dashes, spaces, or parentheses:</p><pre class="prettyprint source lang-javascript"><code>const phoneNumber = /* User's phone number */;
6
+ await API.loginViaSMS(phoneNumber);
7
+ </code></pre><p>Then once the user has inputted the 6-digit code into your application, verify it with the API:</p><pre class="prettyprint source lang-javascript"><code>const code = /* SMS verification code */;
8
+ await API.verifySMSCode(phoneNumber, code);
9
+ </code></pre><p>If the user already exists, calling those two functions will set the user token and all requests from here on out using this instance of the API client will be automatically authenticated.</p><p>If the user has not used Sidechat before, the <code>verifySMSCode</code> will return a <code>registrationID</code>, which you should store and then use to call the <code>setAge</code> function:</p><pre class="prettyprint source lang-javascript"><code>// Here &quot;res&quot; refers to the result of verifySMSCode()
10
+ const { registration_id } = res;
11
+ await API.setAge(18, registration_id);
12
+ </code></pre><p>Now the user should be logged in properly and future requests will be automatically authenticated. You may still need to <a href="tutorial-Email%20Registration.html">add an email address</a> for most functionality.</p><h3 id="manual-method">Manual method</h3><p>You can pass a user token directly to the constructor initialization:</p><pre class="prettyprint source lang-javascript"><code>const token = /* User bearer token as a string */;
13
+ const API = new SidechatAPIClient(token);
14
+ </code></pre><p>All requests from here on out using this instance of the API client will automatically use the token passed to the constructor.</p></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">sidechat.js</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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,6 @@
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>Tutorial: Email Registration</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">sidechat.js</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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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><header><h2>Email Registration</h2></header><article><blockquote><p>You can only start this process once you have <a href="tutorial-Authentication.html">authenticated as a user</a>.</p></blockquote><p>Start by sending a verification email to the user:</p><pre class="prettyprint source lang-javascript"><code>const email = /* User's email address */;
4
+ await API.registerEmail(email);
5
+ </code></pre><p>Once the user has clicked the link in the verification email, verify that they've clicked it:</p><pre class="prettyprint source lang-javascript"><code>await API.checkEmailVerification();
6
+ </code></pre><p>You should be verified!</p></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">sidechat.js</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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,11 +1,11 @@
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: types/SidechatTypes.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"><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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</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#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</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#SidechatSimpleAsset">SidechatSimpleAsset</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://offsides.micahlindley.com" 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">types_SidechatTypes.js</h1></header><article><pre class="prettyprint source lang-js"><code>/**
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">sidechat.js</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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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">types_SidechatTypes.js</h1></header><article><pre class="prettyprint source lang-js"><code>/**
4
4
  * A user-created post or comment, depending on the "type" prop
5
5
  * @typedef {Object} SidechatPostOrComment
6
6
  * @prop {"post"|"comment"} type - whether this object represents a post or a comment on a post
7
7
  * @prop {String} id - alphanumeric ID of post or comment
8
- * @prop {Boolean} authored_by_user - undocumented
8
+ * @prop {Boolean} authored_by_user - whether or not the post or comment was created by the current user
9
9
  * @prop {String} alias - post creator's name in-app
10
10
  * @prop {String} group_id - alphanumeric ID of group
11
11
  * @prop {SidechatGroup} group - group in which post or comment was created
@@ -16,14 +16,15 @@
16
16
  * @prop {SidechatSimpleAsset[]} assets - array of simple assets attached to post or comment
17
17
  * @prop {Array} attachments - undocumented
18
18
  * @prop {Boolean} dms_disabled - whether or not you can send a DM to creator of post
19
- * @prop {Array} tags - undocumented
19
+ * @prop {String[]} tags - undocumented
20
20
  * @prop {SidechatIdentity} identity - creator's identity information
21
21
  * @prop {Boolean} pinned - undocumented
22
- * @prop {Boolean} is_saved - undocumented
23
- * @prop {"following"|"not_following"} follow_status - undocumented
22
+ * @prop {Boolean} is_saved - whether or not the current user has saved the post
23
+ * @prop {"following"|"not_following"} follow_status - whether or not the current user should recieve activity notifications for the post
24
24
  * @prop {"group"} [destination] - undocumented
25
25
  * @prop {Number} [comment_count] - number of comments on post (only if type=post)
26
26
  * @prop {Boolean} [comments_disabled] - whether or not you can comment on post (only if type=post)
27
+ * @prop {SidechatPoll} [poll] - poll attached to post (only if the post has a poll)
27
28
  * @prop {String} [parent_post_id] - alphanumeric ID of parent post (only if type=comment)
28
29
  * @prop {String} [reply_post_id] - alphanumeric ID of comment being replied to, falls back to parent_post_id (only if type=comment)
29
30
  * @prop {String} [context] - text content of comment being replied to, falls back to text (only if type=comment)
@@ -83,6 +84,14 @@
83
84
  * @prop {Boolean} posted_with_username - undocumented
84
85
  */
85
86
 
87
+ /**
88
+ * A conversation icon associated with a user
89
+ * @typedef {Object} SidechatIcon
90
+ * @prop {String} emoji - unicode emoji character
91
+ * @prop {String} color - primary hex color code
92
+ * @prop {String} secondary_color - secondary hex color code
93
+ */
94
+
86
95
  /**
87
96
  * The current user's information
88
97
  * @typedef {Object} SidechatCurrentUser
@@ -96,6 +105,22 @@
96
105
  * @prop {String} wildcardEmailDomain - domain of verified email address on account, preceeded by *. to support subdomains
97
106
  */
98
107
 
108
+ /**
109
+ * A user's public profile
110
+ * @typedef {Object} SidechatProfile
111
+ * @prop {String} id - alphanumeric ID of user
112
+ * @prop {String} name - public-facing username
113
+ * @prop {SidechatIcon} conversation_icon - icon associated with user
114
+ * @prop {Boolean} description - the user bio
115
+ * @prop {String} index_name - undocumented
116
+ * @prop {String} analytics_name - undocumented
117
+ * @prop {String} color - undocumented
118
+ * @prop {String} share_color_start - undocumented
119
+ * @prop {String} share_color_end - undocumented
120
+ * @prop {"account"} group_join_type - undocumented
121
+ * @prop {"public_to_all"} group_visibility - the profile visibility status
122
+ */
123
+
99
124
  /**
100
125
  * Representation of a group membership
101
126
  * @typedef {Object} SidechatMembership
@@ -130,7 +155,6 @@
130
155
  * @prop {SidechatCursorString} cursor
131
156
  */
132
157
 
133
- export default {};
134
158
 
135
159
  /**
136
160
  * A direct message thread
@@ -157,4 +181,24 @@ export default {};
157
181
  * @prop {Boolean} authored_by_user - whether or not the current user sent the message
158
182
  * @prop {"message"} type - undocumented
159
183
  */
160
- </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"><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</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#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</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#SidechatSimpleAsset">SidechatSimpleAsset</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>
184
+
185
+ /**
186
+ * Represents a poll with choices
187
+ * @typedef {Object} SidechatPoll
188
+ * @prop {String} id - alphanumeric ID of poll
189
+ * @prop {String} post_id - alphanumeric ID of post to which poll is attached
190
+ * @prop {SidechatPollChoice[]} choices - array of poll choices
191
+ * @prop {Boolean} allows_view_results - whether or not poll results are publicly visible
192
+ * @prop {Number} view_results_count - number of users who have viewed poll results
193
+ * @prop {Boolean} participated - whether or not current user has voted in poll
194
+ */
195
+
196
+ /**
197
+ * Represents a poll choice
198
+ * @typedef {Object} SidechatPollChoice
199
+ * @prop {Number} count - number of votes for choice
200
+ * @prop {String} text - user-visible text of choice
201
+ * @prop {Boolean} selected - whether or not current user has voted for choice
202
+ */
203
+
204
+ export default {};</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">sidechat.js</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/sidechat.js" target="_blank">GitHub</a></div><div class="navbar-item"><a id="" href="https://www.npmjs.com/package/sidechat.js" target="_blank">NPM</a></div><div class="navbar-item"><a id="" href="https://offsides.micahlindley.com" 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 class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</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#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectMessage">SidechatDirectMessage</a></div><div class="sidebar-section-children"><a href="global.html#SidechatDirectThread">SidechatDirectThread</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIcon">SidechatIcon</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPoll">SidechatPoll</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPollChoice">SidechatPollChoice</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#SidechatProfile">SidechatProfile</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</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>
package/jsdoc.json CHANGED
@@ -28,6 +28,16 @@
28
28
  "homepageTitle": "Sidechat.js Documentation",
29
29
  "base_url": "https://micahlindley.com/sidechat.js/",
30
30
  "menu": [
31
+ {
32
+ "title": "GitHub",
33
+ "link": "https://github.com/micahlt/sidechat.js",
34
+ "target": "_blank"
35
+ },
36
+ {
37
+ "title": "NPM",
38
+ "link": "https://www.npmjs.com/package/sidechat.js",
39
+ "target": "_blank"
40
+ },
31
41
  {
32
42
  "title": "Offsides (Sidechat for Android)",
33
43
  "link": "https://offsides.micahlindley.com",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sidechat.js",
3
- "version": "2.5.5",
3
+ "version": "2.6.0",
4
4
  "description": "A reverse-engineered API wrapper for Sidechat",
5
5
  "type": "module",
6
6
  "source": "./src/index.js",
@@ -49,6 +49,6 @@
49
49
  "prompt-sync": "^4.2.0",
50
50
  "rollup": "^2.79.2",
51
51
  "rollup-plugin-copy": "^3.5.0",
52
- "typescript": "^5.7.2"
52
+ "typescript": "^5.7.3"
53
53
  }
54
54
  }
@@ -543,6 +543,33 @@ class SidechatAPIClient {
543
543
  }
544
544
  };
545
545
 
546
+ /**
547
+ * Searches for new groups based on a query keyword
548
+ * @method
549
+ * @since 2.6.0
550
+ * @param {String} query - the string to search for. This will be encoded, so strings with spaces and special characters are okay.
551
+ * @returns {SidechatGroup[]}
552
+ */
553
+ searchAvailableGroups = async (query) => {
554
+ if (!this.userToken) {
555
+ throw new SidechatAPIError("User is not authenticated.");
556
+ }
557
+ try {
558
+ const res = await fetch(`${this.apiRoot}/v1/groups/explore/search?term=${encodeURIComponent(query)}`, {
559
+ method: "GET",
560
+ headers: {
561
+ ...this.defaultHeaders,
562
+ Authorization: `Bearer ${this.userToken}`,
563
+ },
564
+ });
565
+ const json = await res.json();
566
+ return await json.results;
567
+ } catch (err) {
568
+ console.error(err);
569
+ throw new SidechatAPIError(`Failed to search groups.`);
570
+ }
571
+ };
572
+
546
573
  /**
547
574
  * Retrieves the entire accessible asset library. Be warned that as of the time of this documentation, it's a 1.5MB JSON download and this request is very expensive.
548
575
  * @method
@@ -873,10 +900,7 @@ class SidechatAPIClient {
873
900
  uri: uri,
874
901
  });
875
902
 
876
- const urlReq = await this.sendRequest(
877
- `/v1/assets/upload_url?content_type=${imageType}`,
878
- "GET"
879
- );
903
+ const urlReq = await this.sendRequest(`/v1/assets/upload_url?content_type=${imageType}`);
880
904
  const urlJson = await urlReq.json();
881
905
 
882
906
  try {
@@ -900,7 +924,7 @@ class SidechatAPIClient {
900
924
  };
901
925
 
902
926
  /**
903
- * Sets the conversation icon of the current user
927
+ * Sets the conversation icon of a user
904
928
  * @method
905
929
  * @since 2.2.1
906
930
  * @param {String} userID - alphanumeric ID of user
@@ -937,6 +961,37 @@ class SidechatAPIClient {
937
961
  }
938
962
  };
939
963
 
964
+ /**
965
+ * Sets the bio text of a user
966
+ * @method
967
+ * @since 2.5.6
968
+ * @param {String} userID - alphanumeric ID of user
969
+ * @param {String} bio - text to set as bio
970
+ */
971
+ setUserBio = async (userID, bio) => {
972
+ if (!this.userToken) {
973
+ throw new SidechatAPIError("User is not authenticated.");
974
+ }
975
+ try {
976
+ const res = await fetch(`${this.apiRoot}/v1/users/${userID}`, {
977
+ method: "PATCH",
978
+ headers: {
979
+ ...this.defaultHeaders,
980
+ "App-Version": "5.4.22",
981
+ Authorization: `Bearer ${this.userToken}`,
982
+ },
983
+ body: JSON.stringify({
984
+ bio: bio
985
+ }),
986
+ });
987
+ const json = await res.json();
988
+ return await json;
989
+ } catch (err) {
990
+ console.error(err);
991
+ throw new SidechatAPIError(`Failed to set bio.`);
992
+ }
993
+ };
994
+
940
995
  /**
941
996
  * Checks if user can set their username to a string
942
997
  * @method
@@ -1000,6 +1055,60 @@ class SidechatAPIClient {
1000
1055
  }
1001
1056
  };
1002
1057
 
1058
+ /**
1059
+ * Fetches a public user profile
1060
+ * @method
1061
+ * @since 2.6.0
1062
+ * @param {String} username - username of the user to fetch
1063
+ * @returns {SidechatProfile}
1064
+ */
1065
+ getUserProfile = async (username) => {
1066
+ if (!this.userToken) {
1067
+ throw new SidechatAPIError("User is not authenticated.");
1068
+ }
1069
+ try {
1070
+ const res = await fetch(`${this.apiRoot}/v1/groups/username?username=${username}`, {
1071
+ method: "GET",
1072
+ headers: {
1073
+ ...this.defaultHeaders,
1074
+ Authorization: `Bearer ${this.userToken}`,
1075
+ }
1076
+ });
1077
+ const json = await res.json();
1078
+ return await json.group;
1079
+ } catch (err) {
1080
+ console.error(err);
1081
+ throw new SidechatAPIError(`Failed to set icon.`);
1082
+ }
1083
+ };
1084
+
1085
+ /**
1086
+ * Fetches a public user's posts
1087
+ * @method
1088
+ * @since 2.6.0
1089
+ * @param {String} username - username of the user to fetch
1090
+ * @returns {SidechatPostOrComment[]}
1091
+ */
1092
+ getUserPosts = async (username) => {
1093
+ if (!this.userToken) {
1094
+ throw new SidechatAPIError("User is not authenticated.");
1095
+ }
1096
+ try {
1097
+ const res = await fetch(`${this.apiRoot}/v1/users/posts?username=${username}`, {
1098
+ method: "GET",
1099
+ headers: {
1100
+ ...this.defaultHeaders,
1101
+ Authorization: `Bearer ${this.userToken}`,
1102
+ }
1103
+ });
1104
+ const json = await res.json();
1105
+ return await json.posts;
1106
+ } catch (err) {
1107
+ console.error(err);
1108
+ throw new SidechatAPIError(`Failed to set icon.`);
1109
+ }
1110
+ };
1111
+
1003
1112
  /**
1004
1113
  * Marks an activity item as read
1005
1114
  * @method
@@ -1055,8 +1164,13 @@ class SidechatAPIClient {
1055
1164
  };
1056
1165
 
1057
1166
  /**
1058
- * Joins a group chat
1167
+ * Joins a group chat. To mimic the official client, use the user's display name and icon by default.
1059
1168
  * @method
1169
+ * @param {String} groupChatID - alphanumeric ID of group chat to join
1170
+ * @param {String} displayName - display name to use in chat
1171
+ * @param {String} emoji - emoji to use as icon
1172
+ * @param {String} primaryColor - hex string of primary color
1173
+ * @param {String} secondaryColor - hex string of secondary color
1060
1174
  * @since 2.3.5
1061
1175
  */
1062
1176
  joinGroupChat = async (