diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 000000000..e2ac6616a --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 000000000..ab6713ab4 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,113 @@ +:root { + --light-hl-0: #0000FF; + --dark-hl-0: #569CD6; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #0070C1; + --dark-hl-2: #4FC1FF; + --light-hl-3: #001080; + --dark-hl-3: #9CDCFE; + --light-hl-4: #795E26; + --dark-hl-4: #DCDCAA; + --light-hl-5: #A31515; + --dark-hl-5: #CE9178; + --light-hl-6: #098658; + --dark-hl-6: #B5CEA8; + --light-hl-7: #AF00DB; + --dark-hl-7: #C586C0; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --light-hl-9: #267F99; + --dark-hl-9: #4EC9B0; + --light-hl-10: #000000FF; + --dark-hl-10: #D4D4D4; + --light-hl-11: #EE0000; + --dark-hl-11: #D7BA7D; + --light-hl-12: #811F3F; + --dark-hl-12: #D16969; + --light-code-background: #F5F5F5; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} } + +body.light { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} + +body.dark { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.css b/docs/assets/icons.css new file mode 100644 index 000000000..776a3562d --- /dev/null +++ b/docs/assets/icons.css @@ -0,0 +1,1043 @@ +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(./icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(./icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -187px; +} diff --git a/docs/assets/icons.png b/docs/assets/icons.png new file mode 100644 index 000000000..3836d5fe4 Binary files /dev/null and b/docs/assets/icons.png differ diff --git a/docs/assets/icons@2x.png b/docs/assets/icons@2x.png new file mode 100644 index 000000000..5a209e2f6 Binary files /dev/null and b/docs/assets/icons@2x.png differ diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 000000000..bd45452db --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,52 @@ +(()=>{var Ce=Object.create;var ue=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&i!==r&&ue(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?Ce(Re(t)):{},De(e||!t||!t.__esModule?ue(r,"default",{value:t,enumerable:!0}):r,t));var pe=Me((de,fe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,u],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?h+=2:a==l&&(r+=n[u+1]*i[h+1],u+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof de=="object"?fe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ce=[];function N(t,e){ce.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){ce.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ie=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onScroll(){this.scrollTop=window.scrollY||0;let r=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(r),this.hideShowToolbar()}hideShowToolbar(){var n;let r=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,r!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(n=this.secondaryNav)==null||n.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},Q=ie;Q.instance=new ie;var X=class extends k{constructor(r){super(r);this.anchors=[];this.index=-1;Q.instance.addEventListener("resize",()=>this.onResize()),Q.instance.addEventListener("scroll",n=>this.onScroll(n)),this.createAnchors()}createAnchors(){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substr(0,r.indexOf("#"))),this.el.querySelectorAll("a").forEach(n=>{let i=n.href;if(i.indexOf("#")==-1||i.substr(0,r.length)!=r)return;let s=i.substr(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=n.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let r;for(let i=0,s=this.anchors.length;ii.position-s.position);let n=new CustomEvent("scroll",{detail:{scrollTop:Q.instance.scrollTop}});this.onScroll(n)}onScroll(r){let n=r.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>n;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var he=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var ge=Fe(pe());function ye(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ae(t,n,r,s)}function Ae(t,e,r,n){r.addEventListener("input",he(()=>{He(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?ze(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Ve(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ge.Index.load(window.searchData.index))}function He(t,e,r,n){var o,a;if(Ve(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let l=0;lu.score-l.score);for(let l=0,u=Math.min(10,s.length);l${ve(h.parent,i)}.${f}`);let p=document.createElement("li");p.classList.value=(a=h.classes)!=null?a:"";let E=document.createElement("a");E.href=n.base+h.url,E.classList.add("tsd-kind-icon"),E.innerHTML=f,p.append(E),e.appendChild(p)}}function me(t,e){var n,i;let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let s=r;if(e===1)do s=(n=s.nextElementSibling)!=null?n:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);else do s=(i=s.previousElementSibling)!=null?i:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);s&&(r.classList.remove("current"),s.classList.add("current"))}}function ze(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(se(t.substring(s,o)),`${se(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(se(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function se(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var oe=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},Z=class extends k{constructor(r){super(r);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(n=>{n.addEventListener("touchstart",i=>this.onClick(i)),n.addEventListener("click",i=>this.onClick(i))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(r){if(r<0&&(r=0),r>this.groups.length-1&&(r=this.groups.length-1),this.index==r)return;let n=this.groups[r];if(this.index>-1){let i=this.groups[this.index];i.removeClass("current").addClass("fade-out"),n.addClass("current"),n.addClass("fade-in"),Q.instance.triggerResize(),setTimeout(()=>{i.removeClass("fade-out"),n.removeClass("fade-in")},300)}else n.addClass("current"),Q.instance.triggerResize();this.index=r}createGroups(){let r=this.el.children;if(r.length<2)return;this.container=this.el.nextElementSibling;let n=this.container.children;this.groups=[];for(let i=0;i{n.signature===r.currentTarget&&this.setIndex(i)})}};var C="mousedown",Le="mousemove",_="mouseup",K={x:0,y:0},xe=!1,ae=!1,je=!1,A=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(je=!0,C="touchstart",Le="touchmove",_="touchend");document.addEventListener(C,t=>{ae=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;K.y=e.pageY||0,K.x=e.pageX||0});document.addEventListener(Le,t=>{if(!!ae&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=K.x-(e.pageX||0),n=K.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ae=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var ee=class extends k{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(C,n=>this.onDocumentPointerDown(n)),document.addEventListener(_,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){A||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!A&&this.active&&r.target.closest(".col-menu")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substr(0,i.indexOf("#"))),n.href.substr(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},re=class extends te{initialize(){let r=document.querySelector("#tsd-filter-"+this.key);!r||(this.checkbox=r,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(r,n){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(r){return r=="true"}toLocalStorage(r){return r?"true":"false"}},le=class extends te{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let r=document.querySelector("#tsd-filter-"+this.key);if(!r)return;this.select=r;let n=()=>{this.select.classList.add("active")},i=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,n),this.select.addEventListener("mouseover",n),this.select.addEventListener("mouseleave",i),this.select.querySelectorAll("li").forEach(s=>{s.addEventListener(_,o=>{r.classList.remove("active"),this.setValue(o.target.dataset.value||"")})}),document.addEventListener(C,s=>{this.select.contains(s.target)||this.select.classList.remove("active")})}handleValueChange(r,n){this.select.querySelectorAll("li.selected").forEach(o=>{o.classList.remove("selected")});let i=this.select.querySelector('li[data-value="'+n+'"]'),s=this.select.querySelector(".tsd-select-label");i&&s&&(i.classList.add("selected"),s.textContent=i.textContent),document.documentElement.classList.remove("toggle-"+r),document.documentElement.classList.add("toggle-"+n)}fromLocalStorage(r){return r}toLocalStorage(r){return r}},j=class extends k{constructor(r){super(r);this.optionVisibility=new le("visibility","private"),this.optionInherited=new re("inherited",!0),this.optionExternals=new re("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function we(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,be(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),be(t.value)})}function be(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}ye();N(X,".menu-highlight");N(Z,".tsd-signatures");N(ee,"a[data-toggle]");j.isSupported()?N(j,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&we(Te);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 000000000..d0910099b --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"id\":0,\"kind\":2,\"name\":\"index\",\"url\":\"modules/index.html\",\"classes\":\"tsd-kind-module\"},{\"id\":1,\"kind\":64,\"name\":\"init\",\"url\":\"modules/index.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":2,\"kind\":64,\"name\":\"getAllCORSHeaders\",\"url\":\"modules/index.html#getAllCORSHeaders\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":3,\"kind\":64,\"name\":\"getUserCount\",\"url\":\"modules/index.html#getUserCount\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":4,\"kind\":64,\"name\":\"getUsersOldestFirst\",\"url\":\"modules/index.html#getUsersOldestFirst\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":5,\"kind\":64,\"name\":\"getUsersNewestFirst\",\"url\":\"modules/index.html#getUsersNewestFirst\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":6,\"kind\":64,\"name\":\"deleteUser\",\"url\":\"modules/index.html#deleteUser\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":7,\"kind\":64,\"name\":\"createUserIdMapping\",\"url\":\"modules/index.html#createUserIdMapping\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":8,\"kind\":64,\"name\":\"getUserIdMapping\",\"url\":\"modules/index.html#getUserIdMapping\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":9,\"kind\":64,\"name\":\"deleteUserIdMapping\",\"url\":\"modules/index.html#deleteUserIdMapping\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":10,\"kind\":64,\"name\":\"updateOrDeleteUserIdMappingInfo\",\"url\":\"modules/index.html#updateOrDeleteUserIdMappingInfo\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":11,\"kind\":64,\"name\":\"getUser\",\"url\":\"modules/index.html#getUser\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":12,\"kind\":64,\"name\":\"listUsersByAccountInfo\",\"url\":\"modules/index.html#listUsersByAccountInfo\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":13,\"kind\":64,\"name\":\"convertToRecipeUserId\",\"url\":\"modules/index.html#convertToRecipeUserId\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":14,\"kind\":64,\"name\":\"getRequestFromUserContext\",\"url\":\"modules/index.html#getRequestFromUserContext\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":15,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/index.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":16,\"kind\":128,\"name\":\"default\",\"url\":\"classes/index.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":17,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/index.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":18,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/index.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"index.default\"},{\"id\":19,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/index.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":20,\"kind\":1024,\"name\":\"RecipeUserId\",\"url\":\"classes/index.default.html#RecipeUserId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":21,\"kind\":1024,\"name\":\"User\",\"url\":\"classes/index.default.html#User\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":22,\"kind\":2048,\"name\":\"getAllCORSHeaders\",\"url\":\"classes/index.default.html#getAllCORSHeaders\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":23,\"kind\":2048,\"name\":\"getUserCount\",\"url\":\"classes/index.default.html#getUserCount\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":24,\"kind\":2048,\"name\":\"getUsersOldestFirst\",\"url\":\"classes/index.default.html#getUsersOldestFirst\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":25,\"kind\":2048,\"name\":\"getUsersNewestFirst\",\"url\":\"classes/index.default.html#getUsersNewestFirst\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":26,\"kind\":2048,\"name\":\"createUserIdMapping\",\"url\":\"classes/index.default.html#createUserIdMapping\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":27,\"kind\":2048,\"name\":\"getUserIdMapping\",\"url\":\"classes/index.default.html#getUserIdMapping\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":28,\"kind\":2048,\"name\":\"deleteUserIdMapping\",\"url\":\"classes/index.default.html#deleteUserIdMapping\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":29,\"kind\":2048,\"name\":\"updateOrDeleteUserIdMappingInfo\",\"url\":\"classes/index.default.html#updateOrDeleteUserIdMappingInfo\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":30,\"kind\":2048,\"name\":\"getUser\",\"url\":\"classes/index.default.html#getUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":31,\"kind\":2048,\"name\":\"listUsersByAccountInfo\",\"url\":\"classes/index.default.html#listUsersByAccountInfo\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":32,\"kind\":2048,\"name\":\"deleteUser\",\"url\":\"classes/index.default.html#deleteUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":33,\"kind\":2048,\"name\":\"convertToRecipeUserId\",\"url\":\"classes/index.default.html#convertToRecipeUserId\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":34,\"kind\":2048,\"name\":\"getRequestFromUserContext\",\"url\":\"classes/index.default.html#getRequestFromUserContext\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"index.default\"},{\"id\":35,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/index.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"index.default\"},{\"id\":36,\"kind\":2,\"name\":\"framework\",\"url\":\"modules/framework.html\",\"classes\":\"tsd-kind-module\"},{\"id\":37,\"kind\":32,\"name\":\"express\",\"url\":\"modules/framework.html#express-1\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":38,\"kind\":32,\"name\":\"fastify\",\"url\":\"modules/framework.html#fastify-1\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":39,\"kind\":32,\"name\":\"hapi\",\"url\":\"modules/framework.html#hapi-1\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":40,\"kind\":32,\"name\":\"loopback\",\"url\":\"modules/framework.html#loopback-1\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":41,\"kind\":32,\"name\":\"koa\",\"url\":\"modules/framework.html#koa-1\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":42,\"kind\":32,\"name\":\"awsLambda\",\"url\":\"modules/framework.html#awsLambda\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":43,\"kind\":32,\"name\":\"default\",\"url\":\"modules/framework.html#default\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":44,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/framework.html#default.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-variable\",\"parent\":\"framework.default\"},{\"id\":45,\"kind\":1024,\"name\":\"express\",\"url\":\"modules/framework.html#default.__type.express\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":46,\"kind\":1024,\"name\":\"fastify\",\"url\":\"modules/framework.html#default.__type.fastify\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":47,\"kind\":1024,\"name\":\"hapi\",\"url\":\"modules/framework.html#default.__type.hapi\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":48,\"kind\":1024,\"name\":\"loopback\",\"url\":\"modules/framework.html#default.__type.loopback\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":49,\"kind\":1024,\"name\":\"koa\",\"url\":\"modules/framework.html#default.__type.koa\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":50,\"kind\":1024,\"name\":\"awsLambda\",\"url\":\"modules/framework.html#default.__type.awsLambda-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework.default.__type\"},{\"id\":51,\"kind\":2,\"name\":\"framework/awsLambda\",\"url\":\"modules/framework_awsLambda.html\",\"classes\":\"tsd-kind-module\"},{\"id\":52,\"kind\":64,\"name\":\"middleware\",\"url\":\"modules/framework_awsLambda.html#middleware\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/awsLambda\"},{\"id\":53,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_awsLambda.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/awsLambda\"},{\"id\":54,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_awsLambda.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/awsLambda\"},{\"id\":55,\"kind\":2,\"name\":\"framework/custom\",\"url\":\"modules/framework_custom.html\",\"classes\":\"tsd-kind-module\"},{\"id\":56,\"kind\":64,\"name\":\"middleware\",\"url\":\"modules/framework_custom.html#middleware\",\"classes\":\"tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"framework/custom\"},{\"id\":57,\"kind\":64,\"name\":\"errorHandler\",\"url\":\"modules/framework_custom.html#errorHandler\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/custom\"},{\"id\":58,\"kind\":2,\"name\":\"framework/express\",\"url\":\"modules/framework_express.html\",\"classes\":\"tsd-kind-module\"},{\"id\":59,\"kind\":64,\"name\":\"middleware\",\"url\":\"modules/framework_express.html#middleware\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/express\"},{\"id\":60,\"kind\":64,\"name\":\"errorHandler\",\"url\":\"modules/framework_express.html#errorHandler\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/express\"},{\"id\":61,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_express.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/express\"},{\"id\":62,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_express.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/express\"},{\"id\":63,\"kind\":2,\"name\":\"framework/fastify\",\"url\":\"modules/framework_fastify.html\",\"classes\":\"tsd-kind-module\"},{\"id\":64,\"kind\":64,\"name\":\"plugin\",\"url\":\"modules/framework_fastify.html#plugin\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/fastify\"},{\"id\":65,\"kind\":64,\"name\":\"errorHandler\",\"url\":\"modules/framework_fastify.html#errorHandler\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/fastify\"},{\"id\":66,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_fastify.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/fastify\"},{\"id\":67,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_fastify.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/fastify\"},{\"id\":68,\"kind\":2,\"name\":\"framework/hapi\",\"url\":\"modules/framework_hapi.html\",\"classes\":\"tsd-kind-module\"},{\"id\":69,\"kind\":32,\"name\":\"plugin\",\"url\":\"modules/framework_hapi.html#plugin\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"framework/hapi\"},{\"id\":70,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_hapi.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/hapi\"},{\"id\":71,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_hapi.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/hapi\"},{\"id\":72,\"kind\":2,\"name\":\"framework/koa\",\"url\":\"modules/framework_koa.html\",\"classes\":\"tsd-kind-module\"},{\"id\":73,\"kind\":64,\"name\":\"middleware\",\"url\":\"modules/framework_koa.html#middleware\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/koa\"},{\"id\":74,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_koa.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/koa\"},{\"id\":75,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_koa.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/koa\"},{\"id\":76,\"kind\":2,\"name\":\"framework/loopback\",\"url\":\"modules/framework_loopback.html\",\"classes\":\"tsd-kind-module\"},{\"id\":77,\"kind\":64,\"name\":\"middleware\",\"url\":\"modules/framework_loopback.html#middleware\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/loopback\"},{\"id\":78,\"kind\":64,\"name\":\"wrapRequest\",\"url\":\"modules/framework_loopback.html#wrapRequest\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/loopback\"},{\"id\":79,\"kind\":64,\"name\":\"wrapResponse\",\"url\":\"modules/framework_loopback.html#wrapResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"framework/loopback\"},{\"id\":80,\"kind\":2,\"name\":\"ingredients/emaildelivery\",\"url\":\"modules/ingredients_emaildelivery.html\",\"classes\":\"tsd-kind-module\"},{\"id\":81,\"kind\":128,\"name\":\"default\",\"url\":\"classes/ingredients_emaildelivery.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"ingredients/emaildelivery\"},{\"id\":82,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ingredients_emaildelivery.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter\",\"parent\":\"ingredients/emaildelivery.default\"},{\"id\":83,\"kind\":1024,\"name\":\"ingredientInterfaceImpl\",\"url\":\"classes/ingredients_emaildelivery.default.html#ingredientInterfaceImpl\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ingredients/emaildelivery.default\"},{\"id\":84,\"kind\":2,\"name\":\"ingredients/smsdelivery\",\"url\":\"modules/ingredients_smsdelivery.html\",\"classes\":\"tsd-kind-module\"},{\"id\":85,\"kind\":128,\"name\":\"default\",\"url\":\"classes/ingredients_smsdelivery.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"ingredients/smsdelivery\"},{\"id\":86,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ingredients_smsdelivery.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter\",\"parent\":\"ingredients/smsdelivery.default\"},{\"id\":87,\"kind\":1024,\"name\":\"ingredientInterfaceImpl\",\"url\":\"classes/ingredients_smsdelivery.default.html#ingredientInterfaceImpl\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ingredients/smsdelivery.default\"},{\"id\":88,\"kind\":2,\"name\":\"recipe/accountlinking\",\"url\":\"modules/recipe_accountlinking.html\",\"classes\":\"tsd-kind-module\"},{\"id\":89,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_accountlinking.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":90,\"kind\":64,\"name\":\"canCreatePrimaryUser\",\"url\":\"modules/recipe_accountlinking.html#canCreatePrimaryUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":91,\"kind\":64,\"name\":\"createPrimaryUser\",\"url\":\"modules/recipe_accountlinking.html#createPrimaryUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":92,\"kind\":64,\"name\":\"canLinkAccounts\",\"url\":\"modules/recipe_accountlinking.html#canLinkAccounts-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":93,\"kind\":64,\"name\":\"linkAccounts\",\"url\":\"modules/recipe_accountlinking.html#linkAccounts-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":94,\"kind\":64,\"name\":\"unlinkAccount\",\"url\":\"modules/recipe_accountlinking.html#unlinkAccount-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":95,\"kind\":64,\"name\":\"createPrimaryUserIdOrLinkAccounts\",\"url\":\"modules/recipe_accountlinking.html#createPrimaryUserIdOrLinkAccounts\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":96,\"kind\":64,\"name\":\"getPrimaryUserThatCanBeLinkedToRecipeUserId\",\"url\":\"modules/recipe_accountlinking.html#getPrimaryUserThatCanBeLinkedToRecipeUserId\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":97,\"kind\":64,\"name\":\"isSignUpAllowed\",\"url\":\"modules/recipe_accountlinking.html#isSignUpAllowed\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":98,\"kind\":64,\"name\":\"isSignInAllowed\",\"url\":\"modules/recipe_accountlinking.html#isSignInAllowed\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":99,\"kind\":64,\"name\":\"isEmailChangeAllowed\",\"url\":\"modules/recipe_accountlinking.html#isEmailChangeAllowed\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":100,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_accountlinking.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":101,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_accountlinking.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":102,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_accountlinking.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":103,\"kind\":2048,\"name\":\"createPrimaryUserIdOrLinkAccounts\",\"url\":\"classes/recipe_accountlinking.default.html#createPrimaryUserIdOrLinkAccounts\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":104,\"kind\":2048,\"name\":\"getPrimaryUserThatCanBeLinkedToRecipeUserId\",\"url\":\"classes/recipe_accountlinking.default.html#getPrimaryUserThatCanBeLinkedToRecipeUserId\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":105,\"kind\":2048,\"name\":\"canCreatePrimaryUser\",\"url\":\"classes/recipe_accountlinking.default.html#canCreatePrimaryUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":106,\"kind\":2048,\"name\":\"createPrimaryUser\",\"url\":\"classes/recipe_accountlinking.default.html#createPrimaryUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":107,\"kind\":2048,\"name\":\"canLinkAccounts\",\"url\":\"classes/recipe_accountlinking.default.html#canLinkAccounts\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":108,\"kind\":2048,\"name\":\"linkAccounts\",\"url\":\"classes/recipe_accountlinking.default.html#linkAccounts\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":109,\"kind\":2048,\"name\":\"unlinkAccount\",\"url\":\"classes/recipe_accountlinking.default.html#unlinkAccount\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":110,\"kind\":2048,\"name\":\"isSignUpAllowed\",\"url\":\"classes/recipe_accountlinking.default.html#isSignUpAllowed\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":111,\"kind\":2048,\"name\":\"isSignInAllowed\",\"url\":\"classes/recipe_accountlinking.default.html#isSignInAllowed\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":112,\"kind\":2048,\"name\":\"isEmailChangeAllowed\",\"url\":\"classes/recipe_accountlinking.default.html#isEmailChangeAllowed\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":113,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_accountlinking.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/accountlinking.default\"},{\"id\":114,\"kind\":2,\"name\":\"recipe/dashboard\",\"url\":\"modules/recipe_dashboard.html\",\"classes\":\"tsd-kind-module\"},{\"id\":115,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_dashboard.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/dashboard\"},{\"id\":116,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_dashboard.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/dashboard\"},{\"id\":117,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_dashboard.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/dashboard.default\"},{\"id\":118,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_dashboard.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/dashboard.default\"},{\"id\":119,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_dashboard.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/dashboard.default\"},{\"id\":120,\"kind\":2,\"name\":\"recipe/emailpassword\",\"url\":\"modules/recipe_emailpassword.html\",\"classes\":\"tsd-kind-module\"},{\"id\":121,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_emailpassword.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":122,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/recipe_emailpassword.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":123,\"kind\":64,\"name\":\"signUp\",\"url\":\"modules/recipe_emailpassword.html#signUp-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":124,\"kind\":64,\"name\":\"signIn\",\"url\":\"modules/recipe_emailpassword.html#signIn-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":125,\"kind\":64,\"name\":\"verifyCredentials\",\"url\":\"modules/recipe_emailpassword.html#verifyCredentials-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":126,\"kind\":64,\"name\":\"createResetPasswordToken\",\"url\":\"modules/recipe_emailpassword.html#createResetPasswordToken-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":127,\"kind\":64,\"name\":\"resetPasswordUsingToken\",\"url\":\"modules/recipe_emailpassword.html#resetPasswordUsingToken\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":128,\"kind\":64,\"name\":\"consumePasswordResetToken\",\"url\":\"modules/recipe_emailpassword.html#consumePasswordResetToken-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":129,\"kind\":64,\"name\":\"updateEmailOrPassword\",\"url\":\"modules/recipe_emailpassword.html#updateEmailOrPassword-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":130,\"kind\":64,\"name\":\"createResetPasswordLink\",\"url\":\"modules/recipe_emailpassword.html#createResetPasswordLink\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":131,\"kind\":64,\"name\":\"sendResetPasswordEmail\",\"url\":\"modules/recipe_emailpassword.html#sendResetPasswordEmail\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":132,\"kind\":64,\"name\":\"sendEmail\",\"url\":\"modules/recipe_emailpassword.html#sendEmail\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":133,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_emailpassword.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":134,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_emailpassword.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":135,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_emailpassword.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":136,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/recipe_emailpassword.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":137,\"kind\":2048,\"name\":\"signUp\",\"url\":\"classes/recipe_emailpassword.default.html#signUp\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":138,\"kind\":2048,\"name\":\"signIn\",\"url\":\"classes/recipe_emailpassword.default.html#signIn\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":139,\"kind\":2048,\"name\":\"verifyCredentials\",\"url\":\"classes/recipe_emailpassword.default.html#verifyCredentials\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":140,\"kind\":2048,\"name\":\"createResetPasswordToken\",\"url\":\"classes/recipe_emailpassword.default.html#createResetPasswordToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":141,\"kind\":2048,\"name\":\"resetPasswordUsingToken\",\"url\":\"classes/recipe_emailpassword.default.html#resetPasswordUsingToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":142,\"kind\":2048,\"name\":\"consumePasswordResetToken\",\"url\":\"classes/recipe_emailpassword.default.html#consumePasswordResetToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":143,\"kind\":2048,\"name\":\"updateEmailOrPassword\",\"url\":\"classes/recipe_emailpassword.default.html#updateEmailOrPassword\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":144,\"kind\":2048,\"name\":\"createResetPasswordLink\",\"url\":\"classes/recipe_emailpassword.default.html#createResetPasswordLink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":145,\"kind\":2048,\"name\":\"sendResetPasswordEmail\",\"url\":\"classes/recipe_emailpassword.default.html#sendResetPasswordEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":146,\"kind\":2048,\"name\":\"sendEmail\",\"url\":\"classes/recipe_emailpassword.default.html#sendEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":147,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_emailpassword.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/emailpassword.default\"},{\"id\":148,\"kind\":2,\"name\":\"recipe/emailverification\",\"url\":\"modules/recipe_emailverification.html\",\"classes\":\"tsd-kind-module\"},{\"id\":149,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_emailverification.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":150,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/recipe_emailverification.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":151,\"kind\":64,\"name\":\"createEmailVerificationToken\",\"url\":\"modules/recipe_emailverification.html#createEmailVerificationToken-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":152,\"kind\":64,\"name\":\"createEmailVerificationLink\",\"url\":\"modules/recipe_emailverification.html#createEmailVerificationLink\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":153,\"kind\":64,\"name\":\"sendEmailVerificationEmail\",\"url\":\"modules/recipe_emailverification.html#sendEmailVerificationEmail\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":154,\"kind\":64,\"name\":\"verifyEmailUsingToken\",\"url\":\"modules/recipe_emailverification.html#verifyEmailUsingToken-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":155,\"kind\":64,\"name\":\"isEmailVerified\",\"url\":\"modules/recipe_emailverification.html#isEmailVerified-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":156,\"kind\":64,\"name\":\"revokeEmailVerificationTokens\",\"url\":\"modules/recipe_emailverification.html#revokeEmailVerificationTokens-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":157,\"kind\":64,\"name\":\"unverifyEmail\",\"url\":\"modules/recipe_emailverification.html#unverifyEmail-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":158,\"kind\":64,\"name\":\"sendEmail\",\"url\":\"modules/recipe_emailverification.html#sendEmail\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":159,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_emailverification.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":160,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_emailverification.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":161,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_emailverification.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/emailverification.default\"},{\"id\":162,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/recipe_emailverification.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":163,\"kind\":1024,\"name\":\"EmailVerificationClaim\",\"url\":\"classes/recipe_emailverification.default.html#EmailVerificationClaim\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":164,\"kind\":2048,\"name\":\"createEmailVerificationToken\",\"url\":\"classes/recipe_emailverification.default.html#createEmailVerificationToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":165,\"kind\":2048,\"name\":\"createEmailVerificationLink\",\"url\":\"classes/recipe_emailverification.default.html#createEmailVerificationLink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":166,\"kind\":2048,\"name\":\"sendEmailVerificationEmail\",\"url\":\"classes/recipe_emailverification.default.html#sendEmailVerificationEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":167,\"kind\":2048,\"name\":\"verifyEmailUsingToken\",\"url\":\"classes/recipe_emailverification.default.html#verifyEmailUsingToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":168,\"kind\":2048,\"name\":\"isEmailVerified\",\"url\":\"classes/recipe_emailverification.default.html#isEmailVerified\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":169,\"kind\":2048,\"name\":\"revokeEmailVerificationTokens\",\"url\":\"classes/recipe_emailverification.default.html#revokeEmailVerificationTokens\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":170,\"kind\":2048,\"name\":\"unverifyEmail\",\"url\":\"classes/recipe_emailverification.default.html#unverifyEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":171,\"kind\":2048,\"name\":\"sendEmail\",\"url\":\"classes/recipe_emailverification.default.html#sendEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/emailverification.default\"},{\"id\":172,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_emailverification.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/emailverification.default\"},{\"id\":173,\"kind\":2,\"name\":\"recipe/jwt\",\"url\":\"modules/recipe_jwt.html\",\"classes\":\"tsd-kind-module\"},{\"id\":174,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_jwt.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":175,\"kind\":64,\"name\":\"createJWT\",\"url\":\"modules/recipe_jwt.html#createJWT-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":176,\"kind\":64,\"name\":\"getJWKS\",\"url\":\"modules/recipe_jwt.html#getJWKS-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":177,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_jwt.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":178,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_jwt.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/jwt.default\"},{\"id\":179,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_jwt.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/jwt.default\"},{\"id\":180,\"kind\":2048,\"name\":\"createJWT\",\"url\":\"classes/recipe_jwt.default.html#createJWT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/jwt.default\"},{\"id\":181,\"kind\":2048,\"name\":\"getJWKS\",\"url\":\"classes/recipe_jwt.default.html#getJWKS\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/jwt.default\"},{\"id\":182,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_jwt.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/jwt.default\"},{\"id\":183,\"kind\":2,\"name\":\"recipe/multifactorauth\",\"url\":\"modules/recipe_multifactorauth.html\",\"classes\":\"tsd-kind-module\"},{\"id\":184,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_multifactorauth.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":185,\"kind\":64,\"name\":\"assertAllowedToSetupFactorElseThrowInvalidClaimError\",\"url\":\"modules/recipe_multifactorauth.html#assertAllowedToSetupFactorElseThrowInvalidClaimError-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":186,\"kind\":64,\"name\":\"markFactorAsCompleteInSession\",\"url\":\"modules/recipe_multifactorauth.html#markFactorAsCompleteInSession-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":187,\"kind\":64,\"name\":\"getFactorsSetupForUser\",\"url\":\"modules/recipe_multifactorauth.html#getFactorsSetupForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":188,\"kind\":64,\"name\":\"getRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#getRequiredSecondaryFactorsForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":189,\"kind\":64,\"name\":\"addToRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#addToRequiredSecondaryFactorsForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":190,\"kind\":64,\"name\":\"removeFromRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#removeFromRequiredSecondaryFactorsForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":191,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_multifactorauth.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":192,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_multifactorauth.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":193,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_multifactorauth.default.html#__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":194,\"kind\":1024,\"name\":\"MultiFactorAuthClaim\",\"url\":\"classes/recipe_multifactorauth.default.html#MultiFactorAuthClaim\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":195,\"kind\":1024,\"name\":\"FactorIds\",\"url\":\"classes/recipe_multifactorauth.default.html#FactorIds\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":196,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_multifactorauth.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":197,\"kind\":1024,\"name\":\"EMAILPASSWORD\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.EMAILPASSWORD\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":198,\"kind\":1024,\"name\":\"OTP_EMAIL\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.OTP_EMAIL\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":199,\"kind\":1024,\"name\":\"OTP_PHONE\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.OTP_PHONE\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":200,\"kind\":1024,\"name\":\"LINK_EMAIL\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.LINK_EMAIL\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":201,\"kind\":1024,\"name\":\"LINK_PHONE\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.LINK_PHONE\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":202,\"kind\":1024,\"name\":\"THIRDPARTY\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.THIRDPARTY\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":203,\"kind\":1024,\"name\":\"TOTP\",\"url\":\"classes/recipe_multifactorauth.default.html#__type.TOTP\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.default.__type\"},{\"id\":204,\"kind\":2048,\"name\":\"assertAllowedToSetupFactorElseThrowInvalidClaimError\",\"url\":\"classes/recipe_multifactorauth.default.html#assertAllowedToSetupFactorElseThrowInvalidClaimError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":205,\"kind\":2048,\"name\":\"getMFARequirementsForAuth\",\"url\":\"classes/recipe_multifactorauth.default.html#getMFARequirementsForAuth\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":206,\"kind\":2048,\"name\":\"markFactorAsCompleteInSession\",\"url\":\"classes/recipe_multifactorauth.default.html#markFactorAsCompleteInSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":207,\"kind\":2048,\"name\":\"getFactorsSetupForUser\",\"url\":\"classes/recipe_multifactorauth.default.html#getFactorsSetupForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":208,\"kind\":2048,\"name\":\"getRequiredSecondaryFactorsForUser\",\"url\":\"classes/recipe_multifactorauth.default.html#getRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":209,\"kind\":2048,\"name\":\"addToRequiredSecondaryFactorsForUser\",\"url\":\"classes/recipe_multifactorauth.default.html#addToRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":210,\"kind\":2048,\"name\":\"removeFromRequiredSecondaryFactorsForUser\",\"url\":\"classes/recipe_multifactorauth.default.html#removeFromRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":211,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_multifactorauth.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/multifactorauth.default\"},{\"id\":212,\"kind\":2,\"name\":\"recipe/multitenancy\",\"url\":\"modules/recipe_multitenancy.html\",\"classes\":\"tsd-kind-module\"},{\"id\":213,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_multitenancy.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":214,\"kind\":64,\"name\":\"createOrUpdateTenant\",\"url\":\"modules/recipe_multitenancy.html#createOrUpdateTenant-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":215,\"kind\":64,\"name\":\"deleteTenant\",\"url\":\"modules/recipe_multitenancy.html#deleteTenant-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":216,\"kind\":64,\"name\":\"getTenant\",\"url\":\"modules/recipe_multitenancy.html#getTenant-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":217,\"kind\":64,\"name\":\"listAllTenants\",\"url\":\"modules/recipe_multitenancy.html#listAllTenants-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":218,\"kind\":64,\"name\":\"createOrUpdateThirdPartyConfig\",\"url\":\"modules/recipe_multitenancy.html#createOrUpdateThirdPartyConfig-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":219,\"kind\":64,\"name\":\"deleteThirdPartyConfig\",\"url\":\"modules/recipe_multitenancy.html#deleteThirdPartyConfig-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":220,\"kind\":64,\"name\":\"associateUserToTenant\",\"url\":\"modules/recipe_multitenancy.html#associateUserToTenant-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":221,\"kind\":64,\"name\":\"disassociateUserFromTenant\",\"url\":\"modules/recipe_multitenancy.html#disassociateUserFromTenant-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":222,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_multitenancy.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":223,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_multitenancy.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":224,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_multitenancy.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":225,\"kind\":2048,\"name\":\"createOrUpdateTenant\",\"url\":\"classes/recipe_multitenancy.default.html#createOrUpdateTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":226,\"kind\":2048,\"name\":\"deleteTenant\",\"url\":\"classes/recipe_multitenancy.default.html#deleteTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":227,\"kind\":2048,\"name\":\"getTenant\",\"url\":\"classes/recipe_multitenancy.default.html#getTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":228,\"kind\":2048,\"name\":\"listAllTenants\",\"url\":\"classes/recipe_multitenancy.default.html#listAllTenants\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":229,\"kind\":2048,\"name\":\"createOrUpdateThirdPartyConfig\",\"url\":\"classes/recipe_multitenancy.default.html#createOrUpdateThirdPartyConfig\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":230,\"kind\":2048,\"name\":\"deleteThirdPartyConfig\",\"url\":\"classes/recipe_multitenancy.default.html#deleteThirdPartyConfig\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":231,\"kind\":2048,\"name\":\"associateUserToTenant\",\"url\":\"classes/recipe_multitenancy.default.html#associateUserToTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":232,\"kind\":2048,\"name\":\"disassociateUserFromTenant\",\"url\":\"classes/recipe_multitenancy.default.html#disassociateUserFromTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":233,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_multitenancy.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/multitenancy.default\"},{\"id\":234,\"kind\":2,\"name\":\"recipe/openid\",\"url\":\"modules/recipe_openid.html\",\"classes\":\"tsd-kind-module\"},{\"id\":235,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_openid.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/openid\"},{\"id\":236,\"kind\":64,\"name\":\"getOpenIdDiscoveryConfiguration\",\"url\":\"modules/recipe_openid.html#getOpenIdDiscoveryConfiguration\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/openid\"},{\"id\":237,\"kind\":64,\"name\":\"createJWT\",\"url\":\"modules/recipe_openid.html#createJWT\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/openid\"},{\"id\":238,\"kind\":64,\"name\":\"getJWKS\",\"url\":\"modules/recipe_openid.html#getJWKS\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/openid\"},{\"id\":239,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_openid.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/openid\"},{\"id\":240,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_openid.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/openid.default\"},{\"id\":241,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_openid.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/openid.default\"},{\"id\":242,\"kind\":2048,\"name\":\"getOpenIdDiscoveryConfiguration\",\"url\":\"classes/recipe_openid.default.html#getOpenIdDiscoveryConfiguration\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/openid.default\"},{\"id\":243,\"kind\":2048,\"name\":\"createJWT\",\"url\":\"classes/recipe_openid.default.html#createJWT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/openid.default\"},{\"id\":244,\"kind\":2048,\"name\":\"getJWKS\",\"url\":\"classes/recipe_openid.default.html#getJWKS\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/openid.default\"},{\"id\":245,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_openid.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/openid.default\"},{\"id\":246,\"kind\":2,\"name\":\"recipe/passwordless\",\"url\":\"modules/recipe_passwordless.html\",\"classes\":\"tsd-kind-module\"},{\"id\":247,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_passwordless.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":248,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/recipe_passwordless.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":249,\"kind\":64,\"name\":\"createCode\",\"url\":\"modules/recipe_passwordless.html#createCode-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":250,\"kind\":64,\"name\":\"consumeCode\",\"url\":\"modules/recipe_passwordless.html#consumeCode-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":251,\"kind\":64,\"name\":\"listCodesByDeviceId\",\"url\":\"modules/recipe_passwordless.html#listCodesByDeviceId-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":252,\"kind\":64,\"name\":\"listCodesByEmail\",\"url\":\"modules/recipe_passwordless.html#listCodesByEmail-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":253,\"kind\":64,\"name\":\"listCodesByPhoneNumber\",\"url\":\"modules/recipe_passwordless.html#listCodesByPhoneNumber-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":254,\"kind\":64,\"name\":\"listCodesByPreAuthSessionId\",\"url\":\"modules/recipe_passwordless.html#listCodesByPreAuthSessionId-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":255,\"kind\":64,\"name\":\"createNewCodeForDevice\",\"url\":\"modules/recipe_passwordless.html#createNewCodeForDevice-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":256,\"kind\":64,\"name\":\"updateUser\",\"url\":\"modules/recipe_passwordless.html#updateUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":257,\"kind\":64,\"name\":\"revokeAllCodes\",\"url\":\"modules/recipe_passwordless.html#revokeAllCodes-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":258,\"kind\":64,\"name\":\"revokeCode\",\"url\":\"modules/recipe_passwordless.html#revokeCode-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":259,\"kind\":64,\"name\":\"createMagicLink\",\"url\":\"modules/recipe_passwordless.html#createMagicLink\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":260,\"kind\":64,\"name\":\"signInUp\",\"url\":\"modules/recipe_passwordless.html#signInUp\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":261,\"kind\":64,\"name\":\"checkCode\",\"url\":\"modules/recipe_passwordless.html#checkCode-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":262,\"kind\":64,\"name\":\"sendEmail\",\"url\":\"modules/recipe_passwordless.html#sendEmail\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":263,\"kind\":64,\"name\":\"sendSms\",\"url\":\"modules/recipe_passwordless.html#sendSms\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":264,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_passwordless.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":265,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_passwordless.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":266,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_passwordless.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/passwordless.default\"},{\"id\":267,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/recipe_passwordless.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":268,\"kind\":2048,\"name\":\"createCode\",\"url\":\"classes/recipe_passwordless.default.html#createCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":269,\"kind\":2048,\"name\":\"createNewCodeForDevice\",\"url\":\"classes/recipe_passwordless.default.html#createNewCodeForDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":270,\"kind\":2048,\"name\":\"consumeCode\",\"url\":\"classes/recipe_passwordless.default.html#consumeCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":271,\"kind\":2048,\"name\":\"checkCode\",\"url\":\"classes/recipe_passwordless.default.html#checkCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":272,\"kind\":2048,\"name\":\"updateUser\",\"url\":\"classes/recipe_passwordless.default.html#updateUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":273,\"kind\":2048,\"name\":\"revokeAllCodes\",\"url\":\"classes/recipe_passwordless.default.html#revokeAllCodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":274,\"kind\":2048,\"name\":\"revokeCode\",\"url\":\"classes/recipe_passwordless.default.html#revokeCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":275,\"kind\":2048,\"name\":\"listCodesByEmail\",\"url\":\"classes/recipe_passwordless.default.html#listCodesByEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":276,\"kind\":2048,\"name\":\"listCodesByPhoneNumber\",\"url\":\"classes/recipe_passwordless.default.html#listCodesByPhoneNumber\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":277,\"kind\":2048,\"name\":\"listCodesByDeviceId\",\"url\":\"classes/recipe_passwordless.default.html#listCodesByDeviceId\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":278,\"kind\":2048,\"name\":\"listCodesByPreAuthSessionId\",\"url\":\"classes/recipe_passwordless.default.html#listCodesByPreAuthSessionId\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":279,\"kind\":2048,\"name\":\"createMagicLink\",\"url\":\"classes/recipe_passwordless.default.html#createMagicLink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":280,\"kind\":2048,\"name\":\"signInUp\",\"url\":\"classes/recipe_passwordless.default.html#signInUp\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":281,\"kind\":2048,\"name\":\"sendEmail\",\"url\":\"classes/recipe_passwordless.default.html#sendEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":282,\"kind\":2048,\"name\":\"sendSms\",\"url\":\"classes/recipe_passwordless.default.html#sendSms\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/passwordless.default\"},{\"id\":283,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_passwordless.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/passwordless.default\"},{\"id\":284,\"kind\":2,\"name\":\"recipe/session\",\"url\":\"modules/recipe_session.html\",\"classes\":\"tsd-kind-module\"},{\"id\":285,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_session.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":286,\"kind\":64,\"name\":\"createNewSession\",\"url\":\"modules/recipe_session.html#createNewSession-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":287,\"kind\":64,\"name\":\"createNewSessionWithoutRequestResponse\",\"url\":\"modules/recipe_session.html#createNewSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":288,\"kind\":64,\"name\":\"getSession\",\"url\":\"modules/recipe_session.html#getSession-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":289,\"kind\":64,\"name\":\"getSessionWithoutRequestResponse\",\"url\":\"modules/recipe_session.html#getSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":290,\"kind\":64,\"name\":\"getSessionInformation\",\"url\":\"modules/recipe_session.html#getSessionInformation-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":291,\"kind\":64,\"name\":\"refreshSession\",\"url\":\"modules/recipe_session.html#refreshSession-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":292,\"kind\":64,\"name\":\"refreshSessionWithoutRequestResponse\",\"url\":\"modules/recipe_session.html#refreshSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":293,\"kind\":64,\"name\":\"revokeAllSessionsForUser\",\"url\":\"modules/recipe_session.html#revokeAllSessionsForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":294,\"kind\":64,\"name\":\"getAllSessionHandlesForUser\",\"url\":\"modules/recipe_session.html#getAllSessionHandlesForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":295,\"kind\":64,\"name\":\"revokeSession\",\"url\":\"modules/recipe_session.html#revokeSession-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":296,\"kind\":64,\"name\":\"revokeMultipleSessions\",\"url\":\"modules/recipe_session.html#revokeMultipleSessions-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":297,\"kind\":64,\"name\":\"updateSessionDataInDatabase\",\"url\":\"modules/recipe_session.html#updateSessionDataInDatabase-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":298,\"kind\":64,\"name\":\"mergeIntoAccessTokenPayload\",\"url\":\"modules/recipe_session.html#mergeIntoAccessTokenPayload-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":299,\"kind\":64,\"name\":\"fetchAndSetClaim\",\"url\":\"modules/recipe_session.html#fetchAndSetClaim-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":300,\"kind\":64,\"name\":\"setClaimValue\",\"url\":\"modules/recipe_session.html#setClaimValue-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"recipe/session\"},{\"id\":301,\"kind\":64,\"name\":\"getClaimValue\",\"url\":\"modules/recipe_session.html#getClaimValue-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"recipe/session\"},{\"id\":302,\"kind\":64,\"name\":\"removeClaim\",\"url\":\"modules/recipe_session.html#removeClaim-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":303,\"kind\":64,\"name\":\"validateClaimsForSessionHandle\",\"url\":\"modules/recipe_session.html#validateClaimsForSessionHandle\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":304,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/recipe_session.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":305,\"kind\":64,\"name\":\"createJWT\",\"url\":\"modules/recipe_session.html#createJWT\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":306,\"kind\":64,\"name\":\"getJWKS\",\"url\":\"modules/recipe_session.html#getJWKS\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":307,\"kind\":64,\"name\":\"getOpenIdDiscoveryConfiguration\",\"url\":\"modules/recipe_session.html#getOpenIdDiscoveryConfiguration\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":308,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_session.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":309,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_session.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":310,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_session.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/session.default\"},{\"id\":311,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/recipe_session.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":312,\"kind\":2048,\"name\":\"createNewSession\",\"url\":\"classes/recipe_session.default.html#createNewSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":313,\"kind\":2048,\"name\":\"createNewSessionWithoutRequestResponse\",\"url\":\"classes/recipe_session.default.html#createNewSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":314,\"kind\":2048,\"name\":\"validateClaimsForSessionHandle\",\"url\":\"classes/recipe_session.default.html#validateClaimsForSessionHandle\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":315,\"kind\":2048,\"name\":\"getSession\",\"url\":\"classes/recipe_session.default.html#getSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":316,\"kind\":2048,\"name\":\"getSessionWithoutRequestResponse\",\"url\":\"classes/recipe_session.default.html#getSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":317,\"kind\":2048,\"name\":\"getSessionInformation\",\"url\":\"classes/recipe_session.default.html#getSessionInformation\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":318,\"kind\":2048,\"name\":\"refreshSession\",\"url\":\"classes/recipe_session.default.html#refreshSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":319,\"kind\":2048,\"name\":\"refreshSessionWithoutRequestResponse\",\"url\":\"classes/recipe_session.default.html#refreshSessionWithoutRequestResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":320,\"kind\":2048,\"name\":\"revokeAllSessionsForUser\",\"url\":\"classes/recipe_session.default.html#revokeAllSessionsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":321,\"kind\":2048,\"name\":\"getAllSessionHandlesForUser\",\"url\":\"classes/recipe_session.default.html#getAllSessionHandlesForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":322,\"kind\":2048,\"name\":\"revokeSession\",\"url\":\"classes/recipe_session.default.html#revokeSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":323,\"kind\":2048,\"name\":\"revokeMultipleSessions\",\"url\":\"classes/recipe_session.default.html#revokeMultipleSessions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":324,\"kind\":2048,\"name\":\"updateSessionDataInDatabase\",\"url\":\"classes/recipe_session.default.html#updateSessionDataInDatabase\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":325,\"kind\":2048,\"name\":\"mergeIntoAccessTokenPayload\",\"url\":\"classes/recipe_session.default.html#mergeIntoAccessTokenPayload\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":326,\"kind\":2048,\"name\":\"createJWT\",\"url\":\"classes/recipe_session.default.html#createJWT\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":327,\"kind\":2048,\"name\":\"getJWKS\",\"url\":\"classes/recipe_session.default.html#getJWKS\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":328,\"kind\":2048,\"name\":\"getOpenIdDiscoveryConfiguration\",\"url\":\"classes/recipe_session.default.html#getOpenIdDiscoveryConfiguration\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":329,\"kind\":2048,\"name\":\"fetchAndSetClaim\",\"url\":\"classes/recipe_session.default.html#fetchAndSetClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":330,\"kind\":2048,\"name\":\"setClaimValue\",\"url\":\"classes/recipe_session.default.html#setClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":331,\"kind\":2048,\"name\":\"getClaimValue\",\"url\":\"classes/recipe_session.default.html#getClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":332,\"kind\":2048,\"name\":\"removeClaim\",\"url\":\"classes/recipe_session.default.html#removeClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/session.default\"},{\"id\":333,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_session.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/session.default\"},{\"id\":334,\"kind\":2,\"name\":\"recipe/thirdparty\",\"url\":\"modules/recipe_thirdparty.html\",\"classes\":\"tsd-kind-module\"},{\"id\":335,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_thirdparty.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":336,\"kind\":32,\"name\":\"Error\",\"url\":\"modules/recipe_thirdparty.html#Error\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":337,\"kind\":64,\"name\":\"getProvider\",\"url\":\"modules/recipe_thirdparty.html#getProvider-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":338,\"kind\":64,\"name\":\"manuallyCreateOrUpdateUser\",\"url\":\"modules/recipe_thirdparty.html#manuallyCreateOrUpdateUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":339,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_thirdparty.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":340,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_thirdparty.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":341,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_thirdparty.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":342,\"kind\":1024,\"name\":\"Error\",\"url\":\"classes/recipe_thirdparty.default.html#Error\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":343,\"kind\":2048,\"name\":\"getProvider\",\"url\":\"classes/recipe_thirdparty.default.html#getProvider\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":344,\"kind\":2048,\"name\":\"manuallyCreateOrUpdateUser\",\"url\":\"classes/recipe_thirdparty.default.html#manuallyCreateOrUpdateUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":345,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_thirdparty.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/thirdparty.default\"},{\"id\":346,\"kind\":2,\"name\":\"recipe/totp\",\"url\":\"modules/recipe_totp.html\",\"classes\":\"tsd-kind-module\"},{\"id\":347,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_totp.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":348,\"kind\":64,\"name\":\"createDevice\",\"url\":\"modules/recipe_totp.html#createDevice-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":349,\"kind\":64,\"name\":\"listDevices\",\"url\":\"modules/recipe_totp.html#listDevices-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":350,\"kind\":64,\"name\":\"updateDevice\",\"url\":\"modules/recipe_totp.html#updateDevice-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":351,\"kind\":64,\"name\":\"removeDevice\",\"url\":\"modules/recipe_totp.html#removeDevice-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":352,\"kind\":64,\"name\":\"verifyDevice\",\"url\":\"modules/recipe_totp.html#verifyDevice-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":353,\"kind\":64,\"name\":\"verifyTOTP\",\"url\":\"modules/recipe_totp.html#verifyTOTP-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":354,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_totp.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":355,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_totp.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":356,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_totp.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/totp.default\"},{\"id\":357,\"kind\":2048,\"name\":\"createDevice\",\"url\":\"classes/recipe_totp.default.html#createDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":358,\"kind\":2048,\"name\":\"updateDevice\",\"url\":\"classes/recipe_totp.default.html#updateDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":359,\"kind\":2048,\"name\":\"listDevices\",\"url\":\"classes/recipe_totp.default.html#listDevices\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":360,\"kind\":2048,\"name\":\"removeDevice\",\"url\":\"classes/recipe_totp.default.html#removeDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":361,\"kind\":2048,\"name\":\"verifyDevice\",\"url\":\"classes/recipe_totp.default.html#verifyDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":362,\"kind\":2048,\"name\":\"verifyTOTP\",\"url\":\"classes/recipe_totp.default.html#verifyTOTP\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/totp.default\"},{\"id\":363,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_totp.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/totp.default\"},{\"id\":364,\"kind\":2,\"name\":\"recipe/usermetadata\",\"url\":\"modules/recipe_usermetadata.html\",\"classes\":\"tsd-kind-module\"},{\"id\":365,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_usermetadata.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":366,\"kind\":64,\"name\":\"getUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#getUserMetadata-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":367,\"kind\":64,\"name\":\"updateUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#updateUserMetadata-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":368,\"kind\":64,\"name\":\"clearUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#clearUserMetadata-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":369,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_usermetadata.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":370,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_usermetadata.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":371,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_usermetadata.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":372,\"kind\":2048,\"name\":\"getUserMetadata\",\"url\":\"classes/recipe_usermetadata.default.html#getUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":373,\"kind\":2048,\"name\":\"updateUserMetadata\",\"url\":\"classes/recipe_usermetadata.default.html#updateUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":374,\"kind\":2048,\"name\":\"clearUserMetadata\",\"url\":\"classes/recipe_usermetadata.default.html#clearUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":375,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_usermetadata.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/usermetadata.default\"},{\"id\":376,\"kind\":2,\"name\":\"recipe/userroles\",\"url\":\"modules/recipe_userroles.html\",\"classes\":\"tsd-kind-module\"},{\"id\":377,\"kind\":64,\"name\":\"init\",\"url\":\"modules/recipe_userroles.html#init\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":378,\"kind\":64,\"name\":\"addRoleToUser\",\"url\":\"modules/recipe_userroles.html#addRoleToUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":379,\"kind\":64,\"name\":\"removeUserRole\",\"url\":\"modules/recipe_userroles.html#removeUserRole-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":380,\"kind\":64,\"name\":\"getRolesForUser\",\"url\":\"modules/recipe_userroles.html#getRolesForUser-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":381,\"kind\":64,\"name\":\"getUsersThatHaveRole\",\"url\":\"modules/recipe_userroles.html#getUsersThatHaveRole-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":382,\"kind\":64,\"name\":\"createNewRoleOrAddPermissions\",\"url\":\"modules/recipe_userroles.html#createNewRoleOrAddPermissions-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":383,\"kind\":64,\"name\":\"getPermissionsForRole\",\"url\":\"modules/recipe_userroles.html#getPermissionsForRole-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":384,\"kind\":64,\"name\":\"removePermissionsFromRole\",\"url\":\"modules/recipe_userroles.html#removePermissionsFromRole-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":385,\"kind\":64,\"name\":\"getRolesThatHavePermission\",\"url\":\"modules/recipe_userroles.html#getRolesThatHavePermission-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":386,\"kind\":64,\"name\":\"deleteRole\",\"url\":\"modules/recipe_userroles.html#deleteRole-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":387,\"kind\":64,\"name\":\"getAllRoles\",\"url\":\"modules/recipe_userroles.html#getAllRoles-1\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":388,\"kind\":128,\"name\":\"default\",\"url\":\"classes/recipe_userroles.default.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":389,\"kind\":1024,\"name\":\"init\",\"url\":\"classes/recipe_userroles.default.html#init\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":390,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/recipe_userroles.default.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"recipe/userroles.default\"},{\"id\":391,\"kind\":1024,\"name\":\"PermissionClaim\",\"url\":\"classes/recipe_userroles.default.html#PermissionClaim\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":392,\"kind\":1024,\"name\":\"UserRoleClaim\",\"url\":\"classes/recipe_userroles.default.html#UserRoleClaim\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":393,\"kind\":2048,\"name\":\"addRoleToUser\",\"url\":\"classes/recipe_userroles.default.html#addRoleToUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":394,\"kind\":2048,\"name\":\"removeUserRole\",\"url\":\"classes/recipe_userroles.default.html#removeUserRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":395,\"kind\":2048,\"name\":\"getRolesForUser\",\"url\":\"classes/recipe_userroles.default.html#getRolesForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":396,\"kind\":2048,\"name\":\"getUsersThatHaveRole\",\"url\":\"classes/recipe_userroles.default.html#getUsersThatHaveRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":397,\"kind\":2048,\"name\":\"createNewRoleOrAddPermissions\",\"url\":\"classes/recipe_userroles.default.html#createNewRoleOrAddPermissions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":398,\"kind\":2048,\"name\":\"getPermissionsForRole\",\"url\":\"classes/recipe_userroles.default.html#getPermissionsForRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":399,\"kind\":2048,\"name\":\"removePermissionsFromRole\",\"url\":\"classes/recipe_userroles.default.html#removePermissionsFromRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":400,\"kind\":2048,\"name\":\"getRolesThatHavePermission\",\"url\":\"classes/recipe_userroles.default.html#getRolesThatHavePermission\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":401,\"kind\":2048,\"name\":\"deleteRole\",\"url\":\"classes/recipe_userroles.default.html#deleteRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":402,\"kind\":2048,\"name\":\"getAllRoles\",\"url\":\"classes/recipe_userroles.default.html#getAllRoles\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"recipe/userroles.default\"},{\"id\":403,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/recipe_userroles.default.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"recipe/userroles.default\"},{\"id\":404,\"kind\":128,\"name\":\"RecipeUserId\",\"url\":\"classes/index.RecipeUserId.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":405,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/index.RecipeUserId.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"index.RecipeUserId\"},{\"id\":406,\"kind\":1024,\"name\":\"recipeUserId\",\"url\":\"classes/index.RecipeUserId.html#recipeUserId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"index.RecipeUserId\"},{\"id\":407,\"kind\":2048,\"name\":\"getAsString\",\"url\":\"classes/index.RecipeUserId.html#getAsString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"index.RecipeUserId\"},{\"id\":408,\"kind\":128,\"name\":\"User\",\"url\":\"classes/index.User.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"index\"},{\"id\":409,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/index.User.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":410,\"kind\":1024,\"name\":\"id\",\"url\":\"classes/index.User.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":411,\"kind\":1024,\"name\":\"isPrimaryUser\",\"url\":\"classes/index.User.html#isPrimaryUser\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":412,\"kind\":1024,\"name\":\"tenantIds\",\"url\":\"classes/index.User.html#tenantIds\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":413,\"kind\":1024,\"name\":\"emails\",\"url\":\"classes/index.User.html#emails\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":414,\"kind\":1024,\"name\":\"phoneNumbers\",\"url\":\"classes/index.User.html#phoneNumbers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":415,\"kind\":1024,\"name\":\"thirdParty\",\"url\":\"classes/index.User.html#thirdParty\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":416,\"kind\":1024,\"name\":\"loginMethods\",\"url\":\"classes/index.User.html#loginMethods\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":417,\"kind\":1024,\"name\":\"timeJoined\",\"url\":\"classes/index.User.html#timeJoined\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":418,\"kind\":2048,\"name\":\"toJson\",\"url\":\"classes/index.User.html#toJson\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"index.User\"},{\"id\":419,\"kind\":128,\"name\":\"BaseRequest\",\"url\":\"classes/framework.BaseRequest.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":420,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/framework.BaseRequest.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":421,\"kind\":1024,\"name\":\"parsedJSONBody\",\"url\":\"classes/framework.BaseRequest.html#parsedJSONBody\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"framework.BaseRequest\"},{\"id\":422,\"kind\":1024,\"name\":\"parsedUrlEncodedFormData\",\"url\":\"classes/framework.BaseRequest.html#parsedUrlEncodedFormData\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"framework.BaseRequest\"},{\"id\":423,\"kind\":1024,\"name\":\"wrapperUsed\",\"url\":\"classes/framework.BaseRequest.html#wrapperUsed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":424,\"kind\":1024,\"name\":\"original\",\"url\":\"classes/framework.BaseRequest.html#original\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":425,\"kind\":2048,\"name\":\"getJSONFromRequestBody\",\"url\":\"classes/framework.BaseRequest.html#getJSONFromRequestBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"framework.BaseRequest\"},{\"id\":426,\"kind\":2048,\"name\":\"getFormDataFromRequestBody\",\"url\":\"classes/framework.BaseRequest.html#getFormDataFromRequestBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"framework.BaseRequest\"},{\"id\":427,\"kind\":1024,\"name\":\"getKeyValueFromQuery\",\"url\":\"classes/framework.BaseRequest.html#getKeyValueFromQuery\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":428,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseRequest.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":429,\"kind\":1024,\"name\":\"getMethod\",\"url\":\"classes/framework.BaseRequest.html#getMethod\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":430,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseRequest.html#__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":431,\"kind\":1024,\"name\":\"getCookieValue\",\"url\":\"classes/framework.BaseRequest.html#getCookieValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":432,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseRequest.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":433,\"kind\":1024,\"name\":\"getHeaderValue\",\"url\":\"classes/framework.BaseRequest.html#getHeaderValue\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":434,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseRequest.html#__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":435,\"kind\":1024,\"name\":\"getOriginalURL\",\"url\":\"classes/framework.BaseRequest.html#getOriginalURL\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":436,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseRequest.html#__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":437,\"kind\":2048,\"name\":\"getFormData\",\"url\":\"classes/framework.BaseRequest.html#getFormData\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":438,\"kind\":2048,\"name\":\"getJSONBody\",\"url\":\"classes/framework.BaseRequest.html#getJSONBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"framework.BaseRequest\"},{\"id\":439,\"kind\":128,\"name\":\"BaseResponse\",\"url\":\"classes/framework.BaseResponse.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"framework\"},{\"id\":440,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/framework.BaseResponse.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":441,\"kind\":1024,\"name\":\"wrapperUsed\",\"url\":\"classes/framework.BaseResponse.html#wrapperUsed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":442,\"kind\":1024,\"name\":\"original\",\"url\":\"classes/framework.BaseResponse.html#original\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":443,\"kind\":1024,\"name\":\"setHeader\",\"url\":\"classes/framework.BaseResponse.html#setHeader\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":444,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":445,\"kind\":1024,\"name\":\"removeHeader\",\"url\":\"classes/framework.BaseResponse.html#removeHeader\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":446,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":447,\"kind\":1024,\"name\":\"setCookie\",\"url\":\"classes/framework.BaseResponse.html#setCookie\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":448,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":449,\"kind\":1024,\"name\":\"setStatusCode\",\"url\":\"classes/framework.BaseResponse.html#setStatusCode\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":450,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type-5\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":451,\"kind\":1024,\"name\":\"sendJSONResponse\",\"url\":\"classes/framework.BaseResponse.html#sendJSONResponse\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":452,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":453,\"kind\":1024,\"name\":\"sendHTMLResponse\",\"url\":\"classes/framework.BaseResponse.html#sendHTMLResponse\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":454,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/framework.BaseResponse.html#__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"framework.BaseResponse\"},{\"id\":455,\"kind\":256,\"name\":\"SessionEvent\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/awsLambda\"},{\"id\":456,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/awsLambda.SessionEvent\"},{\"id\":457,\"kind\":1024,\"name\":\"supertokens\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#supertokens\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"framework/awsLambda.SessionEvent\"},{\"id\":458,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"framework/awsLambda.SessionEvent\"},{\"id\":459,\"kind\":1024,\"name\":\"response\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#__type.response\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEvent.__type\"},{\"id\":460,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEvent.__type\"},{\"id\":461,\"kind\":1024,\"name\":\"headers\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#__type.__type-1.headers-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEvent.__type.__type\"},{\"id\":462,\"kind\":1024,\"name\":\"cookies\",\"url\":\"interfaces/framework_awsLambda.SessionEvent.html#__type.__type-1.cookies\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEvent.__type.__type\"},{\"id\":463,\"kind\":256,\"name\":\"SessionEventV2\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/awsLambda\"},{\"id\":464,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/awsLambda.SessionEventV2\"},{\"id\":465,\"kind\":1024,\"name\":\"supertokens\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#supertokens\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"framework/awsLambda.SessionEventV2\"},{\"id\":466,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type-5\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"framework/awsLambda.SessionEventV2\"},{\"id\":467,\"kind\":1024,\"name\":\"response\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type-5.response\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type\"},{\"id\":468,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type-5.__type-6\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type\"},{\"id\":469,\"kind\":1024,\"name\":\"headers\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type-5.__type-6.headers-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type.__type\"},{\"id\":470,\"kind\":1024,\"name\":\"cookies\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type-5.__type-6.cookies-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type.__type\"},{\"id\":471,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"framework/awsLambda.SessionEventV2\"},{\"id\":472,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type\"},{\"id\":473,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type.__type-1.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type.__type\"},{\"id\":474,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type.__type-1.__type-2.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type.__type.__type\"},{\"id\":475,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_awsLambda.SessionEventV2.html#__type.__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"framework/awsLambda.SessionEventV2.__type\"},{\"id\":476,\"kind\":128,\"name\":\"PreParsedRequest\",\"url\":\"classes/framework_custom.PreParsedRequest.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"framework/custom\"},{\"id\":477,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/framework_custom.PreParsedRequest.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":478,\"kind\":1024,\"name\":\"request\",\"url\":\"classes/framework_custom.PreParsedRequest.html#request\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":479,\"kind\":1024,\"name\":\"_session\",\"url\":\"classes/framework_custom.PreParsedRequest.html#_session\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":480,\"kind\":262144,\"name\":\"session\",\"url\":\"classes/framework_custom.PreParsedRequest.html#session\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":481,\"kind\":2048,\"name\":\"getJSONFromRequestBody\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getJSONFromRequestBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":482,\"kind\":2048,\"name\":\"getFormDataFromRequestBody\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getFormDataFromRequestBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":483,\"kind\":2048,\"name\":\"getKeyValueFromQuery\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getKeyValueFromQuery\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":484,\"kind\":2048,\"name\":\"getMethod\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getMethod\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":485,\"kind\":2048,\"name\":\"getCookieValue\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getCookieValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":486,\"kind\":2048,\"name\":\"getHeaderValue\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getHeaderValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":487,\"kind\":2048,\"name\":\"getOriginalURL\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getOriginalURL\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":488,\"kind\":1024,\"name\":\"wrapperUsed\",\"url\":\"classes/framework_custom.PreParsedRequest.html#wrapperUsed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":489,\"kind\":1024,\"name\":\"original\",\"url\":\"classes/framework_custom.PreParsedRequest.html#original\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":490,\"kind\":2048,\"name\":\"getFormData\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getFormData\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":491,\"kind\":2048,\"name\":\"getJSONBody\",\"url\":\"classes/framework_custom.PreParsedRequest.html#getJSONBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.PreParsedRequest\"},{\"id\":492,\"kind\":128,\"name\":\"CollectingResponse\",\"url\":\"classes/framework_custom.CollectingResponse.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"framework/custom\"},{\"id\":493,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/framework_custom.CollectingResponse.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":494,\"kind\":1024,\"name\":\"statusCode\",\"url\":\"classes/framework_custom.CollectingResponse.html#statusCode\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":495,\"kind\":1024,\"name\":\"headers\",\"url\":\"classes/framework_custom.CollectingResponse.html#headers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":496,\"kind\":1024,\"name\":\"cookies\",\"url\":\"classes/framework_custom.CollectingResponse.html#cookies\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":497,\"kind\":1024,\"name\":\"body\",\"url\":\"classes/framework_custom.CollectingResponse.html#body\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":498,\"kind\":2048,\"name\":\"sendHTMLResponse\",\"url\":\"classes/framework_custom.CollectingResponse.html#sendHTMLResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":499,\"kind\":2048,\"name\":\"setHeader\",\"url\":\"classes/framework_custom.CollectingResponse.html#setHeader\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":500,\"kind\":2048,\"name\":\"removeHeader\",\"url\":\"classes/framework_custom.CollectingResponse.html#removeHeader\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":501,\"kind\":2048,\"name\":\"setCookie\",\"url\":\"classes/framework_custom.CollectingResponse.html#setCookie\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":502,\"kind\":2048,\"name\":\"setStatusCode\",\"url\":\"classes/framework_custom.CollectingResponse.html#setStatusCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":503,\"kind\":2048,\"name\":\"sendJSONResponse\",\"url\":\"classes/framework_custom.CollectingResponse.html#sendJSONResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":504,\"kind\":1024,\"name\":\"wrapperUsed\",\"url\":\"classes/framework_custom.CollectingResponse.html#wrapperUsed\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":505,\"kind\":1024,\"name\":\"original\",\"url\":\"classes/framework_custom.CollectingResponse.html#original\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"framework/custom.CollectingResponse\"},{\"id\":506,\"kind\":256,\"name\":\"SessionRequest\",\"url\":\"interfaces/framework_express.SessionRequest.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/express\"},{\"id\":507,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_express.SessionRequest.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/express.SessionRequest\"},{\"id\":508,\"kind\":4194304,\"name\":\"SessionRequest\",\"url\":\"modules/framework_fastify.html#SessionRequest\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter\",\"parent\":\"framework/fastify\"},{\"id\":509,\"kind\":256,\"name\":\"SessionRequest\",\"url\":\"interfaces/framework_hapi.SessionRequest.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/hapi\"},{\"id\":510,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_hapi.SessionRequest.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/hapi.SessionRequest\"},{\"id\":511,\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/framework_hapi.SessionRequest.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"framework/hapi.SessionRequest\"},{\"id\":512,\"kind\":256,\"name\":\"SessionContext\",\"url\":\"interfaces/framework_koa.SessionContext.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/koa\"},{\"id\":513,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_koa.SessionContext.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/koa.SessionContext\"},{\"id\":514,\"kind\":256,\"name\":\"SessionContext\",\"url\":\"interfaces/framework_loopback.SessionContext.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"framework/loopback\"},{\"id\":515,\"kind\":1024,\"name\":\"session\",\"url\":\"interfaces/framework_loopback.SessionContext.html#session\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"framework/loopback.SessionContext\"},{\"id\":516,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/accountlinking\"},{\"id\":517,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/accountlinking.RecipeInterface\"},{\"id\":518,\"kind\":2048,\"name\":\"getUsers\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.getUsers\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":519,\"kind\":2048,\"name\":\"canCreatePrimaryUser\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.canCreatePrimaryUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":520,\"kind\":2048,\"name\":\"createPrimaryUser\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.createPrimaryUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":521,\"kind\":2048,\"name\":\"canLinkAccounts\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.canLinkAccounts\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":522,\"kind\":2048,\"name\":\"linkAccounts\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.linkAccounts\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":523,\"kind\":2048,\"name\":\"unlinkAccount\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.unlinkAccount\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":524,\"kind\":2048,\"name\":\"getUser\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.getUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":525,\"kind\":2048,\"name\":\"listUsersByAccountInfo\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.listUsersByAccountInfo\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":526,\"kind\":2048,\"name\":\"deleteUser\",\"url\":\"modules/recipe_accountlinking.html#RecipeInterface.__type.deleteUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/accountlinking.RecipeInterface.__type\"},{\"id\":527,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_dashboard.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/dashboard\"},{\"id\":528,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_dashboard.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/dashboard.RecipeInterface\"},{\"id\":529,\"kind\":2048,\"name\":\"getDashboardBundleLocation\",\"url\":\"modules/recipe_dashboard.html#RecipeInterface.__type-2.getDashboardBundleLocation\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.RecipeInterface.__type\"},{\"id\":530,\"kind\":2048,\"name\":\"shouldAllowAccess\",\"url\":\"modules/recipe_dashboard.html#RecipeInterface.__type-2.shouldAllowAccess\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.RecipeInterface.__type\"},{\"id\":531,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_dashboard.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/dashboard\"},{\"id\":532,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/dashboard.APIOptions\"},{\"id\":533,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":534,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":535,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":536,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":537,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":538,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":539,\"kind\":1024,\"name\":\"appInfo\",\"url\":\"modules/recipe_dashboard.html#APIOptions.__type-1.appInfo\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIOptions.__type\"},{\"id\":540,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_dashboard.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/dashboard\"},{\"id\":541,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_dashboard.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/dashboard.APIInterface\"},{\"id\":542,\"kind\":1024,\"name\":\"dashboardGET\",\"url\":\"modules/recipe_dashboard.html#APIInterface.__type.dashboardGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/dashboard.APIInterface.__type\"},{\"id\":543,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":544,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailpassword.RecipeInterface\"},{\"id\":545,\"kind\":2048,\"name\":\"signUp\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.signUp\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":546,\"kind\":2048,\"name\":\"createNewRecipeUser\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.createNewRecipeUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":547,\"kind\":2048,\"name\":\"signIn\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.signIn\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":548,\"kind\":2048,\"name\":\"verifyCredentials\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.verifyCredentials\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":549,\"kind\":2048,\"name\":\"createResetPasswordToken\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.createResetPasswordToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":550,\"kind\":2048,\"name\":\"consumePasswordResetToken\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.consumePasswordResetToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":551,\"kind\":2048,\"name\":\"updateEmailOrPassword\",\"url\":\"modules/recipe_emailpassword.html#RecipeInterface.__type-2.updateEmailOrPassword\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.RecipeInterface.__type\"},{\"id\":552,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_emailpassword.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":553,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailpassword.APIOptions\"},{\"id\":554,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":555,\"kind\":1024,\"name\":\"appInfo\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.appInfo\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":556,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":557,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":558,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":559,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":560,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":561,\"kind\":1024,\"name\":\"emailDelivery\",\"url\":\"modules/recipe_emailpassword.html#APIOptions.__type-1.emailDelivery\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIOptions.__type\"},{\"id\":562,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_emailpassword.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailpassword\"},{\"id\":563,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailpassword.APIInterface\"},{\"id\":564,\"kind\":1024,\"name\":\"emailExistsGET\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type.emailExistsGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIInterface.__type\"},{\"id\":565,\"kind\":1024,\"name\":\"generatePasswordResetTokenPOST\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type.generatePasswordResetTokenPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIInterface.__type\"},{\"id\":566,\"kind\":1024,\"name\":\"passwordResetPOST\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type.passwordResetPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIInterface.__type\"},{\"id\":567,\"kind\":1024,\"name\":\"signInPOST\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type.signInPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIInterface.__type\"},{\"id\":568,\"kind\":1024,\"name\":\"signUpPOST\",\"url\":\"modules/recipe_emailpassword.html#APIInterface.__type.signUpPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailpassword.APIInterface.__type\"},{\"id\":569,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":570,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailverification.RecipeInterface\"},{\"id\":571,\"kind\":2048,\"name\":\"createEmailVerificationToken\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2.createEmailVerificationToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.RecipeInterface.__type\"},{\"id\":572,\"kind\":2048,\"name\":\"verifyEmailUsingToken\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2.verifyEmailUsingToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.RecipeInterface.__type\"},{\"id\":573,\"kind\":2048,\"name\":\"isEmailVerified\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2.isEmailVerified\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.RecipeInterface.__type\"},{\"id\":574,\"kind\":2048,\"name\":\"revokeEmailVerificationTokens\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2.revokeEmailVerificationTokens\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.RecipeInterface.__type\"},{\"id\":575,\"kind\":2048,\"name\":\"unverifyEmail\",\"url\":\"modules/recipe_emailverification.html#RecipeInterface.__type-2.unverifyEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.RecipeInterface.__type\"},{\"id\":576,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_emailverification.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":577,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailverification.APIOptions\"},{\"id\":578,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":579,\"kind\":1024,\"name\":\"appInfo\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.appInfo\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":580,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":581,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":582,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":583,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":584,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":585,\"kind\":1024,\"name\":\"emailDelivery\",\"url\":\"modules/recipe_emailverification.html#APIOptions.__type-1.emailDelivery\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIOptions.__type\"},{\"id\":586,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_emailverification.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":587,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailverification.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailverification.APIInterface\"},{\"id\":588,\"kind\":1024,\"name\":\"verifyEmailPOST\",\"url\":\"modules/recipe_emailverification.html#APIInterface.__type.verifyEmailPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIInterface.__type\"},{\"id\":589,\"kind\":1024,\"name\":\"isEmailVerifiedGET\",\"url\":\"modules/recipe_emailverification.html#APIInterface.__type.isEmailVerifiedGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIInterface.__type\"},{\"id\":590,\"kind\":1024,\"name\":\"generateEmailVerifyTokenPOST\",\"url\":\"modules/recipe_emailverification.html#APIInterface.__type.generateEmailVerifyTokenPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.APIInterface.__type\"},{\"id\":591,\"kind\":4194304,\"name\":\"UserEmailInfo\",\"url\":\"modules/recipe_emailverification.html#UserEmailInfo\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":592,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_emailverification.html#UserEmailInfo.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/emailverification.UserEmailInfo\"},{\"id\":593,\"kind\":1024,\"name\":\"recipeUserId\",\"url\":\"modules/recipe_emailverification.html#UserEmailInfo.__type-3.recipeUserId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.UserEmailInfo.__type\"},{\"id\":594,\"kind\":1024,\"name\":\"email\",\"url\":\"modules/recipe_emailverification.html#UserEmailInfo.__type-3.email\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/emailverification.UserEmailInfo.__type\"},{\"id\":595,\"kind\":32,\"name\":\"EmailVerificationClaim\",\"url\":\"modules/recipe_emailverification.html#EmailVerificationClaim\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/emailverification\"},{\"id\":596,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_jwt.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":597,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_jwt.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/jwt.APIInterface\"},{\"id\":598,\"kind\":1024,\"name\":\"getJWKSGET\",\"url\":\"modules/recipe_jwt.html#APIInterface.__type.getJWKSGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIInterface.__type\"},{\"id\":599,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_jwt.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":600,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/jwt.APIOptions\"},{\"id\":601,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":602,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":603,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":604,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":605,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":606,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_jwt.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.APIOptions.__type\"},{\"id\":607,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_jwt.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":608,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_jwt.html#RecipeInterface.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/jwt.RecipeInterface\"},{\"id\":609,\"kind\":2048,\"name\":\"createJWT\",\"url\":\"modules/recipe_jwt.html#RecipeInterface.__type-3.createJWT\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.RecipeInterface.__type\"},{\"id\":610,\"kind\":2048,\"name\":\"getJWKS\",\"url\":\"modules/recipe_jwt.html#RecipeInterface.__type-3.getJWKS\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.RecipeInterface.__type\"},{\"id\":611,\"kind\":4194304,\"name\":\"JsonWebKey\",\"url\":\"modules/recipe_jwt.html#JsonWebKey\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/jwt\"},{\"id\":612,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/jwt.JsonWebKey\"},{\"id\":613,\"kind\":1024,\"name\":\"kty\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.kty\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":614,\"kind\":1024,\"name\":\"kid\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.kid\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":615,\"kind\":1024,\"name\":\"n\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.n\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":616,\"kind\":1024,\"name\":\"e\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.e\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":617,\"kind\":1024,\"name\":\"alg\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.alg\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":618,\"kind\":1024,\"name\":\"use\",\"url\":\"modules/recipe_jwt.html#JsonWebKey.__type-2.use\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/jwt.JsonWebKey.__type\"},{\"id\":619,\"kind\":32,\"name\":\"MultiFactorAuthClaim\",\"url\":\"modules/recipe_multifactorauth.html#MultiFactorAuthClaim\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":620,\"kind\":32,\"name\":\"FactorIds\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":621,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-variable\",\"parent\":\"recipe/multifactorauth.FactorIds\"},{\"id\":622,\"kind\":1024,\"name\":\"EMAILPASSWORD\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.EMAILPASSWORD\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":623,\"kind\":1024,\"name\":\"OTP_EMAIL\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.OTP_EMAIL\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":624,\"kind\":1024,\"name\":\"OTP_PHONE\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.OTP_PHONE\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":625,\"kind\":1024,\"name\":\"LINK_EMAIL\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.LINK_EMAIL\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":626,\"kind\":1024,\"name\":\"LINK_PHONE\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.LINK_PHONE\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":627,\"kind\":1024,\"name\":\"THIRDPARTY\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.THIRDPARTY\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":628,\"kind\":1024,\"name\":\"TOTP\",\"url\":\"modules/recipe_multifactorauth.html#FactorIds.__type-3.TOTP\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.FactorIds.__type\"},{\"id\":629,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":630,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multifactorauth.RecipeInterface\"},{\"id\":631,\"kind\":2048,\"name\":\"assertAllowedToSetupFactorElseThrowInvalidClaimError\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.assertAllowedToSetupFactorElseThrowInvalidClaimError\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":632,\"kind\":2048,\"name\":\"getMFARequirementsForAuth\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.getMFARequirementsForAuth\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":633,\"kind\":2048,\"name\":\"markFactorAsCompleteInSession\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.markFactorAsCompleteInSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":634,\"kind\":2048,\"name\":\"getFactorsSetupForUser\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.getFactorsSetupForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":635,\"kind\":2048,\"name\":\"getRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.getRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":636,\"kind\":2048,\"name\":\"addToRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.addToRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":637,\"kind\":2048,\"name\":\"removeFromRequiredSecondaryFactorsForUser\",\"url\":\"modules/recipe_multifactorauth.html#RecipeInterface.__type-2.removeFromRequiredSecondaryFactorsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.RecipeInterface.__type\"},{\"id\":638,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":639,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multifactorauth.APIOptions\"},{\"id\":640,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":641,\"kind\":1024,\"name\":\"recipeInstance\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.recipeInstance\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":642,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":643,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":644,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":645,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":646,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_multifactorauth.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIOptions.__type\"},{\"id\":647,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_multifactorauth.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multifactorauth\"},{\"id\":648,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multifactorauth.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multifactorauth.APIInterface\"},{\"id\":649,\"kind\":1024,\"name\":\"resyncSessionAndFetchMFAInfoPUT\",\"url\":\"modules/recipe_multifactorauth.html#APIInterface.__type.resyncSessionAndFetchMFAInfoPUT\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multifactorauth.APIInterface.__type\"},{\"id\":650,\"kind\":32,\"name\":\"AllowedDomainsClaim\",\"url\":\"modules/recipe_multitenancy.html#AllowedDomainsClaim\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":651,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":652,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multitenancy.RecipeInterface\"},{\"id\":653,\"kind\":2048,\"name\":\"getTenantId\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.getTenantId\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":654,\"kind\":2048,\"name\":\"createOrUpdateTenant\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.createOrUpdateTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":655,\"kind\":2048,\"name\":\"deleteTenant\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.deleteTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":656,\"kind\":2048,\"name\":\"getTenant\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.getTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":657,\"kind\":2048,\"name\":\"listAllTenants\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.listAllTenants\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":658,\"kind\":2048,\"name\":\"createOrUpdateThirdPartyConfig\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.createOrUpdateThirdPartyConfig\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":659,\"kind\":2048,\"name\":\"deleteThirdPartyConfig\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.deleteThirdPartyConfig\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":660,\"kind\":2048,\"name\":\"associateUserToTenant\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.associateUserToTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":661,\"kind\":2048,\"name\":\"disassociateUserFromTenant\",\"url\":\"modules/recipe_multitenancy.html#RecipeInterface.__type-2.disassociateUserFromTenant\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.RecipeInterface.__type\"},{\"id\":662,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_multitenancy.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":663,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multitenancy.APIOptions\"},{\"id\":664,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":665,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":666,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":667,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":668,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":669,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":670,\"kind\":1024,\"name\":\"staticThirdPartyProviders\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.staticThirdPartyProviders\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":671,\"kind\":1024,\"name\":\"allAvailableFirstFactors\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.allAvailableFirstFactors\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":672,\"kind\":1024,\"name\":\"staticFirstFactors\",\"url\":\"modules/recipe_multitenancy.html#APIOptions.__type-1.staticFirstFactors\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIOptions.__type\"},{\"id\":673,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_multitenancy.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/multitenancy\"},{\"id\":674,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_multitenancy.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/multitenancy.APIInterface\"},{\"id\":675,\"kind\":2048,\"name\":\"loginMethodsGET\",\"url\":\"modules/recipe_multitenancy.html#APIInterface.__type.loginMethodsGET\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/multitenancy.APIInterface.__type\"},{\"id\":676,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":677,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/passwordless.RecipeInterface\"},{\"id\":678,\"kind\":2048,\"name\":\"createCode\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.createCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":679,\"kind\":2048,\"name\":\"createNewCodeForDevice\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.createNewCodeForDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":680,\"kind\":2048,\"name\":\"consumeCode\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.consumeCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":681,\"kind\":2048,\"name\":\"checkCode\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.checkCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":682,\"kind\":2048,\"name\":\"updateUser\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.updateUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":683,\"kind\":2048,\"name\":\"revokeAllCodes\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.revokeAllCodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":684,\"kind\":2048,\"name\":\"revokeCode\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.revokeCode\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":685,\"kind\":2048,\"name\":\"listCodesByEmail\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.listCodesByEmail\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":686,\"kind\":2048,\"name\":\"listCodesByPhoneNumber\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.listCodesByPhoneNumber\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":687,\"kind\":2048,\"name\":\"listCodesByDeviceId\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.listCodesByDeviceId\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":688,\"kind\":2048,\"name\":\"listCodesByPreAuthSessionId\",\"url\":\"modules/recipe_passwordless.html#RecipeInterface.__type-2.listCodesByPreAuthSessionId\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.RecipeInterface.__type\"},{\"id\":689,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_passwordless.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":690,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/passwordless.APIOptions\"},{\"id\":691,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":692,\"kind\":1024,\"name\":\"appInfo\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.appInfo\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":693,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":694,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":695,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":696,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":697,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":698,\"kind\":1024,\"name\":\"emailDelivery\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.emailDelivery\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":699,\"kind\":1024,\"name\":\"smsDelivery\",\"url\":\"modules/recipe_passwordless.html#APIOptions.__type-1.smsDelivery\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIOptions.__type\"},{\"id\":700,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_passwordless.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/passwordless\"},{\"id\":701,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/passwordless.APIInterface\"},{\"id\":702,\"kind\":2048,\"name\":\"createCodePOST\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type.createCodePOST\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIInterface.__type\"},{\"id\":703,\"kind\":2048,\"name\":\"resendCodePOST\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type.resendCodePOST\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIInterface.__type\"},{\"id\":704,\"kind\":2048,\"name\":\"consumeCodePOST\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type.consumeCodePOST\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIInterface.__type\"},{\"id\":705,\"kind\":2048,\"name\":\"emailExistsGET\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type.emailExistsGET\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIInterface.__type\"},{\"id\":706,\"kind\":2048,\"name\":\"phoneNumberExistsGET\",\"url\":\"modules/recipe_passwordless.html#APIInterface.__type.phoneNumberExistsGET\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/passwordless.APIInterface.__type\"},{\"id\":707,\"kind\":256,\"name\":\"VerifySessionOptions\",\"url\":\"interfaces/recipe_session.VerifySessionOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":708,\"kind\":1024,\"name\":\"antiCsrfCheck\",\"url\":\"interfaces/recipe_session.VerifySessionOptions.html#antiCsrfCheck\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"recipe/session.VerifySessionOptions\"},{\"id\":709,\"kind\":1024,\"name\":\"sessionRequired\",\"url\":\"interfaces/recipe_session.VerifySessionOptions.html#sessionRequired\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"recipe/session.VerifySessionOptions\"},{\"id\":710,\"kind\":1024,\"name\":\"checkDatabase\",\"url\":\"interfaces/recipe_session.VerifySessionOptions.html#checkDatabase\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"recipe/session.VerifySessionOptions\"},{\"id\":711,\"kind\":2048,\"name\":\"overrideGlobalClaimValidators\",\"url\":\"interfaces/recipe_session.VerifySessionOptions.html#overrideGlobalClaimValidators\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.VerifySessionOptions\"},{\"id\":712,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_session.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":713,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/session.RecipeInterface\"},{\"id\":714,\"kind\":2048,\"name\":\"createNewSession\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.createNewSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":715,\"kind\":2048,\"name\":\"getGlobalClaimValidators\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.getGlobalClaimValidators\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":716,\"kind\":2048,\"name\":\"getSession\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.getSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":717,\"kind\":2048,\"name\":\"refreshSession\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.refreshSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":718,\"kind\":2048,\"name\":\"getSessionInformation\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.getSessionInformation\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":719,\"kind\":2048,\"name\":\"revokeAllSessionsForUser\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.revokeAllSessionsForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":720,\"kind\":2048,\"name\":\"getAllSessionHandlesForUser\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.getAllSessionHandlesForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":721,\"kind\":2048,\"name\":\"revokeSession\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.revokeSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":722,\"kind\":2048,\"name\":\"revokeMultipleSessions\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.revokeMultipleSessions\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":723,\"kind\":2048,\"name\":\"updateSessionDataInDatabase\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.updateSessionDataInDatabase\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":724,\"kind\":2048,\"name\":\"mergeIntoAccessTokenPayload\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.mergeIntoAccessTokenPayload\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":725,\"kind\":2048,\"name\":\"regenerateAccessToken\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.regenerateAccessToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":726,\"kind\":2048,\"name\":\"validateClaims\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.validateClaims\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":727,\"kind\":2048,\"name\":\"fetchAndSetClaim\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.fetchAndSetClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":728,\"kind\":2048,\"name\":\"setClaimValue\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.setClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal tsd-has-type-parameter\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":729,\"kind\":2048,\"name\":\"getClaimValue\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.getClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal tsd-has-type-parameter\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":730,\"kind\":2048,\"name\":\"removeClaim\",\"url\":\"modules/recipe_session.html#RecipeInterface.__type-2.removeClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.RecipeInterface.__type\"},{\"id\":731,\"kind\":256,\"name\":\"SessionContainer\",\"url\":\"interfaces/recipe_session.SessionContainer.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":732,\"kind\":2048,\"name\":\"revokeSession\",\"url\":\"interfaces/recipe_session.SessionContainer.html#revokeSession\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":733,\"kind\":2048,\"name\":\"getSessionDataFromDatabase\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getSessionDataFromDatabase\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":734,\"kind\":2048,\"name\":\"updateSessionDataInDatabase\",\"url\":\"interfaces/recipe_session.SessionContainer.html#updateSessionDataInDatabase\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":735,\"kind\":2048,\"name\":\"getUserId\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getUserId\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":736,\"kind\":2048,\"name\":\"getRecipeUserId\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getRecipeUserId\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":737,\"kind\":2048,\"name\":\"getTenantId\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getTenantId\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":738,\"kind\":2048,\"name\":\"getAccessTokenPayload\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getAccessTokenPayload\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":739,\"kind\":2048,\"name\":\"getHandle\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getHandle\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":740,\"kind\":2048,\"name\":\"getAllSessionTokensDangerously\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getAllSessionTokensDangerously\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":741,\"kind\":2048,\"name\":\"getAccessToken\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getAccessToken\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":742,\"kind\":2048,\"name\":\"mergeIntoAccessTokenPayload\",\"url\":\"interfaces/recipe_session.SessionContainer.html#mergeIntoAccessTokenPayload\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":743,\"kind\":2048,\"name\":\"getTimeCreated\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getTimeCreated\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":744,\"kind\":2048,\"name\":\"getExpiry\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getExpiry\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":745,\"kind\":2048,\"name\":\"assertClaims\",\"url\":\"interfaces/recipe_session.SessionContainer.html#assertClaims\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":746,\"kind\":2048,\"name\":\"fetchAndSetClaim\",\"url\":\"interfaces/recipe_session.SessionContainer.html#fetchAndSetClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":747,\"kind\":2048,\"name\":\"setClaimValue\",\"url\":\"interfaces/recipe_session.SessionContainer.html#setClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":748,\"kind\":2048,\"name\":\"getClaimValue\",\"url\":\"interfaces/recipe_session.SessionContainer.html#getClaimValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":749,\"kind\":2048,\"name\":\"removeClaim\",\"url\":\"interfaces/recipe_session.SessionContainer.html#removeClaim\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":750,\"kind\":2048,\"name\":\"attachToRequestResponse\",\"url\":\"interfaces/recipe_session.SessionContainer.html#attachToRequestResponse\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"recipe/session.SessionContainer\"},{\"id\":751,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_session.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":752,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_session.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/session.APIInterface\"},{\"id\":753,\"kind\":1024,\"name\":\"refreshPOST\",\"url\":\"modules/recipe_session.html#APIInterface.__type.refreshPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIInterface.__type\"},{\"id\":754,\"kind\":1024,\"name\":\"signOutPOST\",\"url\":\"modules/recipe_session.html#APIInterface.__type.signOutPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIInterface.__type\"},{\"id\":755,\"kind\":2048,\"name\":\"verifySession\",\"url\":\"modules/recipe_session.html#APIInterface.__type.verifySession\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIInterface.__type\"},{\"id\":756,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_session.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":757,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/session.APIOptions\"},{\"id\":758,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":759,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":760,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":761,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":762,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":763,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_session.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.APIOptions.__type\"},{\"id\":764,\"kind\":4194304,\"name\":\"SessionInformation\",\"url\":\"modules/recipe_session.html#SessionInformation\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":765,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/session.SessionInformation\"},{\"id\":766,\"kind\":1024,\"name\":\"sessionHandle\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.sessionHandle\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":767,\"kind\":1024,\"name\":\"userId\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.userId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":768,\"kind\":1024,\"name\":\"recipeUserId\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.recipeUserId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":769,\"kind\":1024,\"name\":\"sessionDataInDatabase\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.sessionDataInDatabase\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":770,\"kind\":1024,\"name\":\"expiry\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.expiry\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":771,\"kind\":1024,\"name\":\"customClaimsInAccessTokenPayload\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.customClaimsInAccessTokenPayload\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":772,\"kind\":1024,\"name\":\"timeCreated\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.timeCreated\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":773,\"kind\":1024,\"name\":\"tenantId\",\"url\":\"modules/recipe_session.html#SessionInformation.__type-3.tenantId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/session.SessionInformation.__type\"},{\"id\":774,\"kind\":4194304,\"name\":\"SessionClaimValidator\",\"url\":\"modules/recipe_session.html#SessionClaimValidator\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/session\"},{\"id\":775,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_thirdparty.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":776,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_thirdparty.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/thirdparty.RecipeInterface\"},{\"id\":777,\"kind\":2048,\"name\":\"getProvider\",\"url\":\"modules/recipe_thirdparty.html#RecipeInterface.__type-2.getProvider\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.RecipeInterface.__type\"},{\"id\":778,\"kind\":2048,\"name\":\"signInUp\",\"url\":\"modules/recipe_thirdparty.html#RecipeInterface.__type-2.signInUp\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.RecipeInterface.__type\"},{\"id\":779,\"kind\":2048,\"name\":\"manuallyCreateOrUpdateUser\",\"url\":\"modules/recipe_thirdparty.html#RecipeInterface.__type-2.manuallyCreateOrUpdateUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.RecipeInterface.__type\"},{\"id\":780,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_thirdparty.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":781,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_thirdparty.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/thirdparty.APIInterface\"},{\"id\":782,\"kind\":1024,\"name\":\"authorisationUrlGET\",\"url\":\"modules/recipe_thirdparty.html#APIInterface.__type.authorisationUrlGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIInterface.__type\"},{\"id\":783,\"kind\":1024,\"name\":\"signInUpPOST\",\"url\":\"modules/recipe_thirdparty.html#APIInterface.__type.signInUpPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIInterface.__type\"},{\"id\":784,\"kind\":1024,\"name\":\"appleRedirectHandlerPOST\",\"url\":\"modules/recipe_thirdparty.html#APIInterface.__type.appleRedirectHandlerPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIInterface.__type\"},{\"id\":785,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_thirdparty.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":786,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/thirdparty.APIOptions\"},{\"id\":787,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":788,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":789,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":790,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":791,\"kind\":1024,\"name\":\"providers\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.providers\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":792,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":793,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":794,\"kind\":1024,\"name\":\"appInfo\",\"url\":\"modules/recipe_thirdparty.html#APIOptions.__type-1.appInfo\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.APIOptions.__type\"},{\"id\":795,\"kind\":4194304,\"name\":\"TypeProvider\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/thirdparty\"},{\"id\":796,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/thirdparty.TypeProvider\"},{\"id\":797,\"kind\":1024,\"name\":\"id\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.id\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":798,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.config-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":799,\"kind\":2048,\"name\":\"getConfigForClientType\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.getConfigForClientType\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":800,\"kind\":2048,\"name\":\"getAuthorisationRedirectURL\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.getAuthorisationRedirectURL\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":801,\"kind\":2048,\"name\":\"exchangeAuthCodeForOAuthTokens\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.exchangeAuthCodeForOAuthTokens\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":802,\"kind\":2048,\"name\":\"getUserInfo\",\"url\":\"modules/recipe_thirdparty.html#TypeProvider.__type-3.getUserInfo\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/thirdparty.TypeProvider.__type\"},{\"id\":803,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_totp.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":804,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/totp.RecipeInterface\"},{\"id\":805,\"kind\":2048,\"name\":\"getUserIdentifierInfoForUserId\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.getUserIdentifierInfoForUserId\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":806,\"kind\":2048,\"name\":\"createDevice\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.createDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":807,\"kind\":2048,\"name\":\"updateDevice\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.updateDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":808,\"kind\":2048,\"name\":\"listDevices\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.listDevices\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":809,\"kind\":2048,\"name\":\"removeDevice\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.removeDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":810,\"kind\":2048,\"name\":\"verifyDevice\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.verifyDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":811,\"kind\":2048,\"name\":\"verifyTOTP\",\"url\":\"modules/recipe_totp.html#RecipeInterface.__type-2.verifyTOTP\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.RecipeInterface.__type\"},{\"id\":812,\"kind\":4194304,\"name\":\"APIOptions\",\"url\":\"modules/recipe_totp.html#APIOptions\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":813,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/totp.APIOptions\"},{\"id\":814,\"kind\":1024,\"name\":\"recipeImplementation\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.recipeImplementation\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":815,\"kind\":1024,\"name\":\"config\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.config\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":816,\"kind\":1024,\"name\":\"recipeId\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.recipeId\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":817,\"kind\":1024,\"name\":\"isInServerlessEnv\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.isInServerlessEnv\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":818,\"kind\":1024,\"name\":\"req\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.req\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":819,\"kind\":1024,\"name\":\"res\",\"url\":\"modules/recipe_totp.html#APIOptions.__type-1.res\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIOptions.__type\"},{\"id\":820,\"kind\":4194304,\"name\":\"APIInterface\",\"url\":\"modules/recipe_totp.html#APIInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/totp\"},{\"id\":821,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_totp.html#APIInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/totp.APIInterface\"},{\"id\":822,\"kind\":1024,\"name\":\"createDevicePOST\",\"url\":\"modules/recipe_totp.html#APIInterface.__type.createDevicePOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIInterface.__type\"},{\"id\":823,\"kind\":1024,\"name\":\"listDevicesGET\",\"url\":\"modules/recipe_totp.html#APIInterface.__type.listDevicesGET\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIInterface.__type\"},{\"id\":824,\"kind\":1024,\"name\":\"removeDevicePOST\",\"url\":\"modules/recipe_totp.html#APIInterface.__type.removeDevicePOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIInterface.__type\"},{\"id\":825,\"kind\":1024,\"name\":\"verifyDevicePOST\",\"url\":\"modules/recipe_totp.html#APIInterface.__type.verifyDevicePOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIInterface.__type\"},{\"id\":826,\"kind\":1024,\"name\":\"verifyTOTPPOST\",\"url\":\"modules/recipe_totp.html#APIInterface.__type.verifyTOTPPOST\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"recipe/totp.APIInterface.__type\"},{\"id\":827,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_usermetadata.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":828,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_usermetadata.html#RecipeInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/usermetadata.RecipeInterface\"},{\"id\":829,\"kind\":2048,\"name\":\"getUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#RecipeInterface.__type.getUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/usermetadata.RecipeInterface.__type\"},{\"id\":830,\"kind\":2048,\"name\":\"updateUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#RecipeInterface.__type.updateUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/usermetadata.RecipeInterface.__type\"},{\"id\":831,\"kind\":2048,\"name\":\"clearUserMetadata\",\"url\":\"modules/recipe_usermetadata.html#RecipeInterface.__type.clearUserMetadata\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/usermetadata.RecipeInterface.__type\"},{\"id\":832,\"kind\":256,\"name\":\"JSONObject\",\"url\":\"interfaces/recipe_usermetadata.JSONObject.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"recipe/usermetadata\"},{\"id\":833,\"kind\":32,\"name\":\"UserRoleClaim\",\"url\":\"modules/recipe_userroles.html#UserRoleClaim\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":834,\"kind\":32,\"name\":\"PermissionClaim\",\"url\":\"modules/recipe_userroles.html#PermissionClaim\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":835,\"kind\":4194304,\"name\":\"RecipeInterface\",\"url\":\"modules/recipe_userroles.html#RecipeInterface\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"recipe/userroles\"},{\"id\":836,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"recipe/userroles.RecipeInterface\"},{\"id\":837,\"kind\":2048,\"name\":\"addRoleToUser\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.addRoleToUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":838,\"kind\":2048,\"name\":\"removeUserRole\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.removeUserRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":839,\"kind\":2048,\"name\":\"getRolesForUser\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.getRolesForUser\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":840,\"kind\":2048,\"name\":\"getUsersThatHaveRole\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.getUsersThatHaveRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":841,\"kind\":2048,\"name\":\"createNewRoleOrAddPermissions\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.createNewRoleOrAddPermissions\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":842,\"kind\":2048,\"name\":\"getPermissionsForRole\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.getPermissionsForRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":843,\"kind\":2048,\"name\":\"removePermissionsFromRole\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.removePermissionsFromRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":844,\"kind\":2048,\"name\":\"getRolesThatHavePermission\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.getRolesThatHavePermission\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":845,\"kind\":2048,\"name\":\"deleteRole\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.deleteRole\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"},{\"id\":846,\"kind\":2048,\"name\":\"getAllRoles\",\"url\":\"modules/recipe_userroles.html#RecipeInterface.__type.getAllRoles\",\"classes\":\"tsd-kind-method tsd-parent-kind-type-literal\",\"parent\":\"recipe/userroles.RecipeInterface.__type\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,37.725]],[\"parent/0\",[]],[\"name/1\",[1,33.252]],[\"parent/1\",[0,3.726]],[\"name/2\",[2,58.266]],[\"parent/2\",[0,3.726]],[\"name/3\",[3,58.266]],[\"parent/3\",[0,3.726]],[\"name/4\",[4,58.266]],[\"parent/4\",[0,3.726]],[\"name/5\",[5,58.266]],[\"parent/5\",[0,3.726]],[\"name/6\",[6,54.901]],[\"parent/6\",[0,3.726]],[\"name/7\",[7,58.266]],[\"parent/7\",[0,3.726]],[\"name/8\",[8,58.266]],[\"parent/8\",[0,3.726]],[\"name/9\",[9,58.266]],[\"parent/9\",[0,3.726]],[\"name/10\",[10,58.266]],[\"parent/10\",[0,3.726]],[\"name/11\",[11,54.901]],[\"parent/11\",[0,3.726]],[\"name/12\",[12,54.901]],[\"parent/12\",[0,3.726]],[\"name/13\",[13,58.266]],[\"parent/13\",[0,3.726]],[\"name/14\",[14,58.266]],[\"parent/14\",[0,3.726]],[\"name/15\",[15,42.172]],[\"parent/15\",[0,3.726]],[\"name/16\",[16,38.251]],[\"parent/16\",[0,3.726]],[\"name/17\",[1,33.252]],[\"parent/17\",[17,3.726]],[\"name/18\",[18,24.056]],[\"parent/18\",[17,3.726]],[\"name/19\",[15,42.172]],[\"parent/19\",[17,3.726]],[\"name/20\",[19,50.381]],[\"parent/20\",[17,3.726]],[\"name/21\",[20,58.266]],[\"parent/21\",[17,3.726]],[\"name/22\",[2,58.266]],[\"parent/22\",[17,3.726]],[\"name/23\",[3,58.266]],[\"parent/23\",[17,3.726]],[\"name/24\",[4,58.266]],[\"parent/24\",[17,3.726]],[\"name/25\",[5,58.266]],[\"parent/25\",[17,3.726]],[\"name/26\",[7,58.266]],[\"parent/26\",[17,3.726]],[\"name/27\",[8,58.266]],[\"parent/27\",[17,3.726]],[\"name/28\",[9,58.266]],[\"parent/28\",[17,3.726]],[\"name/29\",[10,58.266]],[\"parent/29\",[17,3.726]],[\"name/30\",[11,54.901]],[\"parent/30\",[17,3.726]],[\"name/31\",[12,54.901]],[\"parent/31\",[17,3.726]],[\"name/32\",[6,54.901]],[\"parent/32\",[17,3.726]],[\"name/33\",[13,58.266]],[\"parent/33\",[17,3.726]],[\"name/34\",[14,58.266]],[\"parent/34\",[17,3.726]],[\"name/35\",[21,35.859]],[\"parent/35\",[17,3.726]],[\"name/36\",[22,43.915]],[\"parent/36\",[]],[\"name/37\",[23,58.266]],[\"parent/37\",[22,4.338]],[\"name/38\",[24,58.266]],[\"parent/38\",[22,4.338]],[\"name/39\",[25,58.266]],[\"parent/39\",[22,4.338]],[\"name/40\",[26,58.266]],[\"parent/40\",[22,4.338]],[\"name/41\",[27,58.266]],[\"parent/41\",[22,4.338]],[\"name/42\",[28,58.266]],[\"parent/42\",[22,4.338]],[\"name/43\",[16,38.251]],[\"parent/43\",[22,4.338]],[\"name/44\",[18,24.056]],[\"parent/44\",[29,6.26]],[\"name/45\",[23,58.266]],[\"parent/45\",[30,4.811]],[\"name/46\",[24,58.266]],[\"parent/46\",[30,4.811]],[\"name/47\",[25,58.266]],[\"parent/47\",[30,4.811]],[\"name/48\",[26,58.266]],[\"parent/48\",[30,4.811]],[\"name/49\",[27,58.266]],[\"parent/49\",[30,4.811]],[\"name/50\",[28,58.266]],[\"parent/50\",[30,4.811]],[\"name/51\",[31,48.711]],[\"parent/51\",[]],[\"name/52\",[32,50.381]],[\"parent/52\",[31,4.811]],[\"name/53\",[33,48.711]],[\"parent/53\",[31,4.811]],[\"name/54\",[34,48.711]],[\"parent/54\",[31,4.811]],[\"name/55\",[35,50.381]],[\"parent/55\",[]],[\"name/56\",[32,50.381]],[\"parent/56\",[35,4.976]],[\"name/57\",[36,54.901]],[\"parent/57\",[35,4.976]],[\"name/58\",[37,48.711]],[\"parent/58\",[]],[\"name/59\",[32,50.381]],[\"parent/59\",[37,4.811]],[\"name/60\",[36,54.901]],[\"parent/60\",[37,4.811]],[\"name/61\",[33,48.711]],[\"parent/61\",[37,4.811]],[\"name/62\",[34,48.711]],[\"parent/62\",[37,4.811]],[\"name/63\",[38,48.711]],[\"parent/63\",[]],[\"name/64\",[39,58.266]],[\"parent/64\",[38,4.811]],[\"name/65\",[36,54.901]],[\"parent/65\",[38,4.811]],[\"name/66\",[33,48.711]],[\"parent/66\",[38,4.811]],[\"name/67\",[34,48.711]],[\"parent/67\",[38,4.811]],[\"name/68\",[40,50.381]],[\"parent/68\",[]],[\"name/69\",[39,58.266]],[\"parent/69\",[40,4.976]],[\"name/70\",[33,48.711]],[\"parent/70\",[40,4.976]],[\"name/71\",[34,48.711]],[\"parent/71\",[40,4.976]],[\"name/72\",[41,50.381]],[\"parent/72\",[]],[\"name/73\",[32,50.381]],[\"parent/73\",[41,4.976]],[\"name/74\",[33,48.711]],[\"parent/74\",[41,4.976]],[\"name/75\",[34,48.711]],[\"parent/75\",[41,4.976]],[\"name/76\",[42,50.381]],[\"parent/76\",[]],[\"name/77\",[32,50.381]],[\"parent/77\",[42,4.976]],[\"name/78\",[33,48.711]],[\"parent/78\",[42,4.976]],[\"name/79\",[34,48.711]],[\"parent/79\",[42,4.976]],[\"name/80\",[43,58.266]],[\"parent/80\",[]],[\"name/81\",[16,38.251]],[\"parent/81\",[43,5.755]],[\"name/82\",[21,35.859]],[\"parent/82\",[44,5.755]],[\"name/83\",[45,58.266]],[\"parent/83\",[44,5.755]],[\"name/84\",[46,58.266]],[\"parent/84\",[]],[\"name/85\",[16,38.251]],[\"parent/85\",[46,5.755]],[\"name/86\",[21,35.859]],[\"parent/86\",[47,5.755]],[\"name/87\",[45,58.266]],[\"parent/87\",[47,5.755]],[\"name/88\",[48,40.687]],[\"parent/88\",[]],[\"name/89\",[1,33.252]],[\"parent/89\",[48,4.019]],[\"name/90\",[49,54.901]],[\"parent/90\",[48,4.019]],[\"name/91\",[50,54.901]],[\"parent/91\",[48,4.019]],[\"name/92\",[51,54.901]],[\"parent/92\",[48,4.019]],[\"name/93\",[52,54.901]],[\"parent/93\",[48,4.019]],[\"name/94\",[53,54.901]],[\"parent/94\",[48,4.019]],[\"name/95\",[54,58.266]],[\"parent/95\",[48,4.019]],[\"name/96\",[55,58.266]],[\"parent/96\",[48,4.019]],[\"name/97\",[56,58.266]],[\"parent/97\",[48,4.019]],[\"name/98\",[57,58.266]],[\"parent/98\",[48,4.019]],[\"name/99\",[58,58.266]],[\"parent/99\",[48,4.019]],[\"name/100\",[16,38.251]],[\"parent/100\",[48,4.019]],[\"name/101\",[1,33.252]],[\"parent/101\",[59,4.089]],[\"name/102\",[18,24.056]],[\"parent/102\",[59,4.089]],[\"name/103\",[54,58.266]],[\"parent/103\",[59,4.089]],[\"name/104\",[55,58.266]],[\"parent/104\",[59,4.089]],[\"name/105\",[49,54.901]],[\"parent/105\",[59,4.089]],[\"name/106\",[50,54.901]],[\"parent/106\",[59,4.089]],[\"name/107\",[51,54.901]],[\"parent/107\",[59,4.089]],[\"name/108\",[52,54.901]],[\"parent/108\",[59,4.089]],[\"name/109\",[53,54.901]],[\"parent/109\",[59,4.089]],[\"name/110\",[56,58.266]],[\"parent/110\",[59,4.089]],[\"name/111\",[57,58.266]],[\"parent/111\",[59,4.089]],[\"name/112\",[58,58.266]],[\"parent/112\",[59,4.089]],[\"name/113\",[21,35.859]],[\"parent/113\",[59,4.089]],[\"name/114\",[60,48.711]],[\"parent/114\",[]],[\"name/115\",[1,33.252]],[\"parent/115\",[60,4.811]],[\"name/116\",[16,38.251]],[\"parent/116\",[60,4.811]],[\"name/117\",[1,33.252]],[\"parent/117\",[61,5.423]],[\"name/118\",[18,24.056]],[\"parent/118\",[61,5.423]],[\"name/119\",[21,35.859]],[\"parent/119\",[61,5.423]],[\"name/120\",[62,38.807]],[\"parent/120\",[]],[\"name/121\",[1,33.252]],[\"parent/121\",[62,3.833]],[\"name/122\",[15,42.172]],[\"parent/122\",[62,3.833]],[\"name/123\",[63,54.901]],[\"parent/123\",[62,3.833]],[\"name/124\",[64,54.901]],[\"parent/124\",[62,3.833]],[\"name/125\",[65,54.901]],[\"parent/125\",[62,3.833]],[\"name/126\",[66,54.901]],[\"parent/126\",[62,3.833]],[\"name/127\",[67,58.266]],[\"parent/127\",[62,3.833]],[\"name/128\",[68,54.901]],[\"parent/128\",[62,3.833]],[\"name/129\",[69,54.901]],[\"parent/129\",[62,3.833]],[\"name/130\",[70,58.266]],[\"parent/130\",[62,3.833]],[\"name/131\",[71,58.266]],[\"parent/131\",[62,3.833]],[\"name/132\",[72,48.711]],[\"parent/132\",[62,3.833]],[\"name/133\",[16,38.251]],[\"parent/133\",[62,3.833]],[\"name/134\",[1,33.252]],[\"parent/134\",[73,4.019]],[\"name/135\",[18,24.056]],[\"parent/135\",[73,4.019]],[\"name/136\",[15,42.172]],[\"parent/136\",[73,4.019]],[\"name/137\",[63,54.901]],[\"parent/137\",[73,4.019]],[\"name/138\",[64,54.901]],[\"parent/138\",[73,4.019]],[\"name/139\",[65,54.901]],[\"parent/139\",[73,4.019]],[\"name/140\",[66,54.901]],[\"parent/140\",[73,4.019]],[\"name/141\",[67,58.266]],[\"parent/141\",[73,4.019]],[\"name/142\",[68,54.901]],[\"parent/142\",[73,4.019]],[\"name/143\",[69,54.901]],[\"parent/143\",[73,4.019]],[\"name/144\",[70,58.266]],[\"parent/144\",[73,4.019]],[\"name/145\",[71,58.266]],[\"parent/145\",[73,4.019]],[\"name/146\",[72,48.711]],[\"parent/146\",[73,4.019]],[\"name/147\",[21,35.859]],[\"parent/147\",[73,4.019]],[\"name/148\",[74,38.807]],[\"parent/148\",[]],[\"name/149\",[1,33.252]],[\"parent/149\",[74,3.833]],[\"name/150\",[15,42.172]],[\"parent/150\",[74,3.833]],[\"name/151\",[75,54.901]],[\"parent/151\",[74,3.833]],[\"name/152\",[76,58.266]],[\"parent/152\",[74,3.833]],[\"name/153\",[77,58.266]],[\"parent/153\",[74,3.833]],[\"name/154\",[78,54.901]],[\"parent/154\",[74,3.833]],[\"name/155\",[79,54.901]],[\"parent/155\",[74,3.833]],[\"name/156\",[80,54.901]],[\"parent/156\",[74,3.833]],[\"name/157\",[81,54.901]],[\"parent/157\",[74,3.833]],[\"name/158\",[72,48.711]],[\"parent/158\",[74,3.833]],[\"name/159\",[16,38.251]],[\"parent/159\",[74,3.833]],[\"name/160\",[1,33.252]],[\"parent/160\",[82,4.089]],[\"name/161\",[18,24.056]],[\"parent/161\",[82,4.089]],[\"name/162\",[15,42.172]],[\"parent/162\",[82,4.089]],[\"name/163\",[83,58.266]],[\"parent/163\",[82,4.089]],[\"name/164\",[75,54.901]],[\"parent/164\",[82,4.089]],[\"name/165\",[76,58.266]],[\"parent/165\",[82,4.089]],[\"name/166\",[77,58.266]],[\"parent/166\",[82,4.089]],[\"name/167\",[78,54.901]],[\"parent/167\",[82,4.089]],[\"name/168\",[79,54.901]],[\"parent/168\",[82,4.089]],[\"name/169\",[80,54.901]],[\"parent/169\",[82,4.089]],[\"name/170\",[81,54.901]],[\"parent/170\",[82,4.089]],[\"name/171\",[72,48.711]],[\"parent/171\",[82,4.089]],[\"name/172\",[21,35.859]],[\"parent/172\",[82,4.089]],[\"name/173\",[84,44.916]],[\"parent/173\",[]],[\"name/174\",[1,33.252]],[\"parent/174\",[84,4.436]],[\"name/175\",[85,47.28]],[\"parent/175\",[84,4.436]],[\"name/176\",[86,47.28]],[\"parent/176\",[84,4.436]],[\"name/177\",[16,38.251]],[\"parent/177\",[84,4.436]],[\"name/178\",[1,33.252]],[\"parent/178\",[87,4.976]],[\"name/179\",[18,24.056]],[\"parent/179\",[87,4.976]],[\"name/180\",[85,47.28]],[\"parent/180\",[87,4.976]],[\"name/181\",[86,47.28]],[\"parent/181\",[87,4.976]],[\"name/182\",[21,35.859]],[\"parent/182\",[87,4.976]],[\"name/183\",[88,40.687]],[\"parent/183\",[]],[\"name/184\",[1,33.252]],[\"parent/184\",[88,4.019]],[\"name/185\",[89,54.901]],[\"parent/185\",[88,4.019]],[\"name/186\",[90,54.901]],[\"parent/186\",[88,4.019]],[\"name/187\",[91,54.901]],[\"parent/187\",[88,4.019]],[\"name/188\",[92,54.901]],[\"parent/188\",[88,4.019]],[\"name/189\",[93,54.901]],[\"parent/189\",[88,4.019]],[\"name/190\",[94,54.901]],[\"parent/190\",[88,4.019]],[\"name/191\",[16,38.251]],[\"parent/191\",[88,4.019]],[\"name/192\",[1,33.252]],[\"parent/192\",[95,4.089]],[\"name/193\",[18,24.056]],[\"parent/193\",[95,4.089]],[\"name/194\",[96,58.266]],[\"parent/194\",[95,4.089]],[\"name/195\",[97,58.266]],[\"parent/195\",[95,4.089]],[\"name/196\",[18,24.056]],[\"parent/196\",[95,4.089]],[\"name/197\",[98,58.266]],[\"parent/197\",[99,4.67]],[\"name/198\",[100,58.266]],[\"parent/198\",[99,4.67]],[\"name/199\",[101,58.266]],[\"parent/199\",[99,4.67]],[\"name/200\",[102,58.266]],[\"parent/200\",[99,4.67]],[\"name/201\",[103,58.266]],[\"parent/201\",[99,4.67]],[\"name/202\",[104,54.901]],[\"parent/202\",[99,4.67]],[\"name/203\",[105,58.266]],[\"parent/203\",[99,4.67]],[\"name/204\",[89,54.901]],[\"parent/204\",[95,4.089]],[\"name/205\",[106,58.266]],[\"parent/205\",[95,4.089]],[\"name/206\",[90,54.901]],[\"parent/206\",[95,4.089]],[\"name/207\",[91,54.901]],[\"parent/207\",[95,4.089]],[\"name/208\",[92,54.901]],[\"parent/208\",[95,4.089]],[\"name/209\",[93,54.901]],[\"parent/209\",[95,4.089]],[\"name/210\",[94,54.901]],[\"parent/210\",[95,4.089]],[\"name/211\",[21,35.859]],[\"parent/211\",[95,4.089]],[\"name/212\",[107,40.02]],[\"parent/212\",[]],[\"name/213\",[1,33.252]],[\"parent/213\",[107,3.953]],[\"name/214\",[108,54.901]],[\"parent/214\",[107,3.953]],[\"name/215\",[109,54.901]],[\"parent/215\",[107,3.953]],[\"name/216\",[110,54.901]],[\"parent/216\",[107,3.953]],[\"name/217\",[111,54.901]],[\"parent/217\",[107,3.953]],[\"name/218\",[112,54.901]],[\"parent/218\",[107,3.953]],[\"name/219\",[113,54.901]],[\"parent/219\",[107,3.953]],[\"name/220\",[114,54.901]],[\"parent/220\",[107,3.953]],[\"name/221\",[115,54.901]],[\"parent/221\",[107,3.953]],[\"name/222\",[16,38.251]],[\"parent/222\",[107,3.953]],[\"name/223\",[1,33.252]],[\"parent/223\",[116,4.248]],[\"name/224\",[18,24.056]],[\"parent/224\",[116,4.248]],[\"name/225\",[108,54.901]],[\"parent/225\",[116,4.248]],[\"name/226\",[109,54.901]],[\"parent/226\",[116,4.248]],[\"name/227\",[110,54.901]],[\"parent/227\",[116,4.248]],[\"name/228\",[111,54.901]],[\"parent/228\",[116,4.248]],[\"name/229\",[112,54.901]],[\"parent/229\",[116,4.248]],[\"name/230\",[113,54.901]],[\"parent/230\",[116,4.248]],[\"name/231\",[114,54.901]],[\"parent/231\",[116,4.248]],[\"name/232\",[115,54.901]],[\"parent/232\",[116,4.248]],[\"name/233\",[21,35.859]],[\"parent/233\",[116,4.248]],[\"name/234\",[117,48.711]],[\"parent/234\",[]],[\"name/235\",[1,33.252]],[\"parent/235\",[117,4.811]],[\"name/236\",[118,52.388]],[\"parent/236\",[117,4.811]],[\"name/237\",[85,47.28]],[\"parent/237\",[117,4.811]],[\"name/238\",[86,47.28]],[\"parent/238\",[117,4.811]],[\"name/239\",[16,38.251]],[\"parent/239\",[117,4.811]],[\"name/240\",[1,33.252]],[\"parent/240\",[119,4.811]],[\"name/241\",[18,24.056]],[\"parent/241\",[119,4.811]],[\"name/242\",[118,52.388]],[\"parent/242\",[119,4.811]],[\"name/243\",[85,47.28]],[\"parent/243\",[119,4.811]],[\"name/244\",[86,47.28]],[\"parent/244\",[119,4.811]],[\"name/245\",[21,35.859]],[\"parent/245\",[119,4.811]],[\"name/246\",[120,36.294]],[\"parent/246\",[]],[\"name/247\",[1,33.252]],[\"parent/247\",[120,3.585]],[\"name/248\",[15,42.172]],[\"parent/248\",[120,3.585]],[\"name/249\",[121,54.901]],[\"parent/249\",[120,3.585]],[\"name/250\",[122,54.901]],[\"parent/250\",[120,3.585]],[\"name/251\",[123,54.901]],[\"parent/251\",[120,3.585]],[\"name/252\",[124,54.901]],[\"parent/252\",[120,3.585]],[\"name/253\",[125,54.901]],[\"parent/253\",[120,3.585]],[\"name/254\",[126,54.901]],[\"parent/254\",[120,3.585]],[\"name/255\",[127,54.901]],[\"parent/255\",[120,3.585]],[\"name/256\",[128,54.901]],[\"parent/256\",[120,3.585]],[\"name/257\",[129,54.901]],[\"parent/257\",[120,3.585]],[\"name/258\",[130,54.901]],[\"parent/258\",[120,3.585]],[\"name/259\",[131,58.266]],[\"parent/259\",[120,3.585]],[\"name/260\",[132,54.901]],[\"parent/260\",[120,3.585]],[\"name/261\",[133,54.901]],[\"parent/261\",[120,3.585]],[\"name/262\",[72,48.711]],[\"parent/262\",[120,3.585]],[\"name/263\",[134,58.266]],[\"parent/263\",[120,3.585]],[\"name/264\",[16,38.251]],[\"parent/264\",[120,3.585]],[\"name/265\",[1,33.252]],[\"parent/265\",[135,3.726]],[\"name/266\",[18,24.056]],[\"parent/266\",[135,3.726]],[\"name/267\",[15,42.172]],[\"parent/267\",[135,3.726]],[\"name/268\",[121,54.901]],[\"parent/268\",[135,3.726]],[\"name/269\",[127,54.901]],[\"parent/269\",[135,3.726]],[\"name/270\",[122,54.901]],[\"parent/270\",[135,3.726]],[\"name/271\",[133,54.901]],[\"parent/271\",[135,3.726]],[\"name/272\",[128,54.901]],[\"parent/272\",[135,3.726]],[\"name/273\",[129,54.901]],[\"parent/273\",[135,3.726]],[\"name/274\",[130,54.901]],[\"parent/274\",[135,3.726]],[\"name/275\",[124,54.901]],[\"parent/275\",[135,3.726]],[\"name/276\",[125,54.901]],[\"parent/276\",[135,3.726]],[\"name/277\",[123,54.901]],[\"parent/277\",[135,3.726]],[\"name/278\",[126,54.901]],[\"parent/278\",[135,3.726]],[\"name/279\",[131,58.266]],[\"parent/279\",[135,3.726]],[\"name/280\",[132,54.901]],[\"parent/280\",[135,3.726]],[\"name/281\",[72,48.711]],[\"parent/281\",[135,3.726]],[\"name/282\",[134,58.266]],[\"parent/282\",[135,3.726]],[\"name/283\",[21,35.859]],[\"parent/283\",[135,3.726]],[\"name/284\",[136,32.616]],[\"parent/284\",[]],[\"name/285\",[1,33.252]],[\"parent/285\",[136,3.222]],[\"name/286\",[137,54.901]],[\"parent/286\",[136,3.222]],[\"name/287\",[138,58.266]],[\"parent/287\",[136,3.222]],[\"name/288\",[139,54.901]],[\"parent/288\",[136,3.222]],[\"name/289\",[140,58.266]],[\"parent/289\",[136,3.222]],[\"name/290\",[141,54.901]],[\"parent/290\",[136,3.222]],[\"name/291\",[142,54.901]],[\"parent/291\",[136,3.222]],[\"name/292\",[143,58.266]],[\"parent/292\",[136,3.222]],[\"name/293\",[144,54.901]],[\"parent/293\",[136,3.222]],[\"name/294\",[145,54.901]],[\"parent/294\",[136,3.222]],[\"name/295\",[146,52.388]],[\"parent/295\",[136,3.222]],[\"name/296\",[147,54.901]],[\"parent/296\",[136,3.222]],[\"name/297\",[148,52.388]],[\"parent/297\",[136,3.222]],[\"name/298\",[149,52.388]],[\"parent/298\",[136,3.222]],[\"name/299\",[150,52.388]],[\"parent/299\",[136,3.222]],[\"name/300\",[151,52.388]],[\"parent/300\",[136,3.222]],[\"name/301\",[152,52.388]],[\"parent/301\",[136,3.222]],[\"name/302\",[153,52.388]],[\"parent/302\",[136,3.222]],[\"name/303\",[154,58.266]],[\"parent/303\",[136,3.222]],[\"name/304\",[15,42.172]],[\"parent/304\",[136,3.222]],[\"name/305\",[85,47.28]],[\"parent/305\",[136,3.222]],[\"name/306\",[86,47.28]],[\"parent/306\",[136,3.222]],[\"name/307\",[118,52.388]],[\"parent/307\",[136,3.222]],[\"name/308\",[16,38.251]],[\"parent/308\",[136,3.222]],[\"name/309\",[1,33.252]],[\"parent/309\",[155,3.461]],[\"name/310\",[18,24.056]],[\"parent/310\",[155,3.461]],[\"name/311\",[15,42.172]],[\"parent/311\",[155,3.461]],[\"name/312\",[137,54.901]],[\"parent/312\",[155,3.461]],[\"name/313\",[138,58.266]],[\"parent/313\",[155,3.461]],[\"name/314\",[154,58.266]],[\"parent/314\",[155,3.461]],[\"name/315\",[139,54.901]],[\"parent/315\",[155,3.461]],[\"name/316\",[140,58.266]],[\"parent/316\",[155,3.461]],[\"name/317\",[141,54.901]],[\"parent/317\",[155,3.461]],[\"name/318\",[142,54.901]],[\"parent/318\",[155,3.461]],[\"name/319\",[143,58.266]],[\"parent/319\",[155,3.461]],[\"name/320\",[144,54.901]],[\"parent/320\",[155,3.461]],[\"name/321\",[145,54.901]],[\"parent/321\",[155,3.461]],[\"name/322\",[146,52.388]],[\"parent/322\",[155,3.461]],[\"name/323\",[147,54.901]],[\"parent/323\",[155,3.461]],[\"name/324\",[148,52.388]],[\"parent/324\",[155,3.461]],[\"name/325\",[149,52.388]],[\"parent/325\",[155,3.461]],[\"name/326\",[85,47.28]],[\"parent/326\",[155,3.461]],[\"name/327\",[86,47.28]],[\"parent/327\",[155,3.461]],[\"name/328\",[118,52.388]],[\"parent/328\",[155,3.461]],[\"name/329\",[150,52.388]],[\"parent/329\",[155,3.461]],[\"name/330\",[151,52.388]],[\"parent/330\",[155,3.461]],[\"name/331\",[152,52.388]],[\"parent/331\",[155,3.461]],[\"name/332\",[153,52.388]],[\"parent/332\",[155,3.461]],[\"name/333\",[21,35.859]],[\"parent/333\",[155,3.461]],[\"name/334\",[156,43.915]],[\"parent/334\",[]],[\"name/335\",[1,33.252]],[\"parent/335\",[156,4.338]],[\"name/336\",[15,42.172]],[\"parent/336\",[156,4.338]],[\"name/337\",[157,54.901]],[\"parent/337\",[156,4.338]],[\"name/338\",[158,54.901]],[\"parent/338\",[156,4.338]],[\"name/339\",[16,38.251]],[\"parent/339\",[156,4.338]],[\"name/340\",[1,33.252]],[\"parent/340\",[159,4.811]],[\"name/341\",[18,24.056]],[\"parent/341\",[159,4.811]],[\"name/342\",[15,42.172]],[\"parent/342\",[159,4.811]],[\"name/343\",[157,54.901]],[\"parent/343\",[159,4.811]],[\"name/344\",[158,54.901]],[\"parent/344\",[159,4.811]],[\"name/345\",[21,35.859]],[\"parent/345\",[159,4.811]],[\"name/346\",[160,42.172]],[\"parent/346\",[]],[\"name/347\",[1,33.252]],[\"parent/347\",[160,4.165]],[\"name/348\",[161,54.901]],[\"parent/348\",[160,4.165]],[\"name/349\",[162,54.901]],[\"parent/349\",[160,4.165]],[\"name/350\",[163,54.901]],[\"parent/350\",[160,4.165]],[\"name/351\",[164,54.901]],[\"parent/351\",[160,4.165]],[\"name/352\",[165,54.901]],[\"parent/352\",[160,4.165]],[\"name/353\",[166,54.901]],[\"parent/353\",[160,4.165]],[\"name/354\",[16,38.251]],[\"parent/354\",[160,4.165]],[\"name/355\",[1,33.252]],[\"parent/355\",[167,4.436]],[\"name/356\",[18,24.056]],[\"parent/356\",[167,4.436]],[\"name/357\",[161,54.901]],[\"parent/357\",[167,4.436]],[\"name/358\",[163,54.901]],[\"parent/358\",[167,4.436]],[\"name/359\",[162,54.901]],[\"parent/359\",[167,4.436]],[\"name/360\",[164,54.901]],[\"parent/360\",[167,4.436]],[\"name/361\",[165,54.901]],[\"parent/361\",[167,4.436]],[\"name/362\",[166,54.901]],[\"parent/362\",[167,4.436]],[\"name/363\",[21,35.859]],[\"parent/363\",[167,4.436]],[\"name/364\",[168,46.028]],[\"parent/364\",[]],[\"name/365\",[1,33.252]],[\"parent/365\",[168,4.546]],[\"name/366\",[169,54.901]],[\"parent/366\",[168,4.546]],[\"name/367\",[170,54.901]],[\"parent/367\",[168,4.546]],[\"name/368\",[171,54.901]],[\"parent/368\",[168,4.546]],[\"name/369\",[16,38.251]],[\"parent/369\",[168,4.546]],[\"name/370\",[1,33.252]],[\"parent/370\",[172,4.811]],[\"name/371\",[18,24.056]],[\"parent/371\",[172,4.811]],[\"name/372\",[169,54.901]],[\"parent/372\",[172,4.811]],[\"name/373\",[170,54.901]],[\"parent/373\",[172,4.811]],[\"name/374\",[171,54.901]],[\"parent/374\",[172,4.811]],[\"name/375\",[21,35.859]],[\"parent/375\",[172,4.811]],[\"name/376\",[173,39.395]],[\"parent/376\",[]],[\"name/377\",[1,33.252]],[\"parent/377\",[173,3.891]],[\"name/378\",[174,54.901]],[\"parent/378\",[173,3.891]],[\"name/379\",[175,54.901]],[\"parent/379\",[173,3.891]],[\"name/380\",[176,54.901]],[\"parent/380\",[173,3.891]],[\"name/381\",[177,54.901]],[\"parent/381\",[173,3.891]],[\"name/382\",[178,54.901]],[\"parent/382\",[173,3.891]],[\"name/383\",[179,54.901]],[\"parent/383\",[173,3.891]],[\"name/384\",[180,54.901]],[\"parent/384\",[173,3.891]],[\"name/385\",[181,54.901]],[\"parent/385\",[173,3.891]],[\"name/386\",[182,54.901]],[\"parent/386\",[173,3.891]],[\"name/387\",[183,54.901]],[\"parent/387\",[173,3.891]],[\"name/388\",[16,38.251]],[\"parent/388\",[173,3.891]],[\"name/389\",[1,33.252]],[\"parent/389\",[184,3.953]],[\"name/390\",[18,24.056]],[\"parent/390\",[184,3.953]],[\"name/391\",[185,58.266]],[\"parent/391\",[184,3.953]],[\"name/392\",[186,58.266]],[\"parent/392\",[184,3.953]],[\"name/393\",[174,54.901]],[\"parent/393\",[184,3.953]],[\"name/394\",[175,54.901]],[\"parent/394\",[184,3.953]],[\"name/395\",[176,54.901]],[\"parent/395\",[184,3.953]],[\"name/396\",[177,54.901]],[\"parent/396\",[184,3.953]],[\"name/397\",[178,54.901]],[\"parent/397\",[184,3.953]],[\"name/398\",[179,54.901]],[\"parent/398\",[184,3.953]],[\"name/399\",[180,54.901]],[\"parent/399\",[184,3.953]],[\"name/400\",[181,54.901]],[\"parent/400\",[184,3.953]],[\"name/401\",[182,54.901]],[\"parent/401\",[184,3.953]],[\"name/402\",[183,54.901]],[\"parent/402\",[184,3.953]],[\"name/403\",[21,35.859]],[\"parent/403\",[184,3.953]],[\"name/404\",[19,50.381]],[\"parent/404\",[0,3.726]],[\"name/405\",[21,35.859]],[\"parent/405\",[187,5.423]],[\"name/406\",[19,50.381]],[\"parent/406\",[187,5.423]],[\"name/407\",[188,63.374]],[\"parent/407\",[187,5.423]],[\"name/408\",[20,58.266]],[\"parent/408\",[0,3.726]],[\"name/409\",[21,35.859]],[\"parent/409\",[189,4.338]],[\"name/410\",[190,58.266]],[\"parent/410\",[189,4.338]],[\"name/411\",[191,63.374]],[\"parent/411\",[189,4.338]],[\"name/412\",[192,63.374]],[\"parent/412\",[189,4.338]],[\"name/413\",[193,63.374]],[\"parent/413\",[189,4.338]],[\"name/414\",[194,63.374]],[\"parent/414\",[189,4.338]],[\"name/415\",[104,54.901]],[\"parent/415\",[189,4.338]],[\"name/416\",[195,63.374]],[\"parent/416\",[189,4.338]],[\"name/417\",[196,63.374]],[\"parent/417\",[189,4.338]],[\"name/418\",[197,63.374]],[\"parent/418\",[189,4.338]],[\"name/419\",[198,63.374]],[\"parent/419\",[22,4.338]],[\"name/420\",[21,35.859]],[\"parent/420\",[199,3.726]],[\"name/421\",[200,63.374]],[\"parent/421\",[199,3.726]],[\"name/422\",[201,63.374]],[\"parent/422\",[199,3.726]],[\"name/423\",[202,52.388]],[\"parent/423\",[199,3.726]],[\"name/424\",[203,52.388]],[\"parent/424\",[199,3.726]],[\"name/425\",[204,58.266]],[\"parent/425\",[199,3.726]],[\"name/426\",[205,58.266]],[\"parent/426\",[199,3.726]],[\"name/427\",[206,58.266]],[\"parent/427\",[199,3.726]],[\"name/428\",[18,24.056]],[\"parent/428\",[199,3.726]],[\"name/429\",[207,58.266]],[\"parent/429\",[199,3.726]],[\"name/430\",[18,24.056]],[\"parent/430\",[199,3.726]],[\"name/431\",[208,58.266]],[\"parent/431\",[199,3.726]],[\"name/432\",[18,24.056]],[\"parent/432\",[199,3.726]],[\"name/433\",[209,58.266]],[\"parent/433\",[199,3.726]],[\"name/434\",[18,24.056]],[\"parent/434\",[199,3.726]],[\"name/435\",[210,58.266]],[\"parent/435\",[199,3.726]],[\"name/436\",[18,24.056]],[\"parent/436\",[199,3.726]],[\"name/437\",[211,58.266]],[\"parent/437\",[199,3.726]],[\"name/438\",[212,58.266]],[\"parent/438\",[199,3.726]],[\"name/439\",[213,63.374]],[\"parent/439\",[22,4.338]],[\"name/440\",[21,35.859]],[\"parent/440\",[214,3.953]],[\"name/441\",[202,52.388]],[\"parent/441\",[214,3.953]],[\"name/442\",[203,52.388]],[\"parent/442\",[214,3.953]],[\"name/443\",[215,58.266]],[\"parent/443\",[214,3.953]],[\"name/444\",[18,24.056]],[\"parent/444\",[214,3.953]],[\"name/445\",[216,58.266]],[\"parent/445\",[214,3.953]],[\"name/446\",[18,24.056]],[\"parent/446\",[214,3.953]],[\"name/447\",[217,58.266]],[\"parent/447\",[214,3.953]],[\"name/448\",[18,24.056]],[\"parent/448\",[214,3.953]],[\"name/449\",[218,58.266]],[\"parent/449\",[214,3.953]],[\"name/450\",[18,24.056]],[\"parent/450\",[214,3.953]],[\"name/451\",[219,58.266]],[\"parent/451\",[214,3.953]],[\"name/452\",[18,24.056]],[\"parent/452\",[214,3.953]],[\"name/453\",[220,58.266]],[\"parent/453\",[214,3.953]],[\"name/454\",[18,24.056]],[\"parent/454\",[214,3.953]],[\"name/455\",[221,63.374]],[\"parent/455\",[31,4.811]],[\"name/456\",[222,47.28]],[\"parent/456\",[223,5.423]],[\"name/457\",[224,58.266]],[\"parent/457\",[223,5.423]],[\"name/458\",[18,24.056]],[\"parent/458\",[223,5.423]],[\"name/459\",[225,58.266]],[\"parent/459\",[226,5.755]],[\"name/460\",[18,24.056]],[\"parent/460\",[226,5.755]],[\"name/461\",[227,54.901]],[\"parent/461\",[228,5.755]],[\"name/462\",[229,54.901]],[\"parent/462\",[228,5.755]],[\"name/463\",[230,63.374]],[\"parent/463\",[31,4.811]],[\"name/464\",[222,47.28]],[\"parent/464\",[231,5.174]],[\"name/465\",[224,58.266]],[\"parent/465\",[231,5.174]],[\"name/466\",[18,24.056]],[\"parent/466\",[231,5.174]],[\"name/467\",[225,58.266]],[\"parent/467\",[232,5.174]],[\"name/468\",[18,24.056]],[\"parent/468\",[232,5.174]],[\"name/469\",[227,54.901]],[\"parent/469\",[233,5.423]],[\"name/470\",[229,54.901]],[\"parent/470\",[233,5.423]],[\"name/471\",[18,24.056]],[\"parent/471\",[231,5.174]],[\"name/472\",[18,24.056]],[\"parent/472\",[232,5.174]],[\"name/473\",[18,24.056]],[\"parent/473\",[233,5.423]],[\"name/474\",[18,24.056]],[\"parent/474\",[234,6.26]],[\"name/475\",[18,24.056]],[\"parent/475\",[232,5.174]],[\"name/476\",[235,63.374]],[\"parent/476\",[35,4.976]],[\"name/477\",[21,35.859]],[\"parent/477\",[236,3.953]],[\"name/478\",[237,63.374]],[\"parent/478\",[236,3.953]],[\"name/479\",[238,63.374]],[\"parent/479\",[236,3.953]],[\"name/480\",[222,47.28]],[\"parent/480\",[236,3.953]],[\"name/481\",[204,58.266]],[\"parent/481\",[236,3.953]],[\"name/482\",[205,58.266]],[\"parent/482\",[236,3.953]],[\"name/483\",[206,58.266]],[\"parent/483\",[236,3.953]],[\"name/484\",[207,58.266]],[\"parent/484\",[236,3.953]],[\"name/485\",[208,58.266]],[\"parent/485\",[236,3.953]],[\"name/486\",[209,58.266]],[\"parent/486\",[236,3.953]],[\"name/487\",[210,58.266]],[\"parent/487\",[236,3.953]],[\"name/488\",[202,52.388]],[\"parent/488\",[236,3.953]],[\"name/489\",[203,52.388]],[\"parent/489\",[236,3.953]],[\"name/490\",[211,58.266]],[\"parent/490\",[236,3.953]],[\"name/491\",[212,58.266]],[\"parent/491\",[236,3.953]],[\"name/492\",[239,63.374]],[\"parent/492\",[35,4.976]],[\"name/493\",[21,35.859]],[\"parent/493\",[240,4.089]],[\"name/494\",[241,63.374]],[\"parent/494\",[240,4.089]],[\"name/495\",[227,54.901]],[\"parent/495\",[240,4.089]],[\"name/496\",[229,54.901]],[\"parent/496\",[240,4.089]],[\"name/497\",[242,63.374]],[\"parent/497\",[240,4.089]],[\"name/498\",[220,58.266]],[\"parent/498\",[240,4.089]],[\"name/499\",[215,58.266]],[\"parent/499\",[240,4.089]],[\"name/500\",[216,58.266]],[\"parent/500\",[240,4.089]],[\"name/501\",[217,58.266]],[\"parent/501\",[240,4.089]],[\"name/502\",[218,58.266]],[\"parent/502\",[240,4.089]],[\"name/503\",[219,58.266]],[\"parent/503\",[240,4.089]],[\"name/504\",[202,52.388]],[\"parent/504\",[240,4.089]],[\"name/505\",[203,52.388]],[\"parent/505\",[240,4.089]],[\"name/506\",[243,54.901]],[\"parent/506\",[37,4.811]],[\"name/507\",[222,47.28]],[\"parent/507\",[244,6.26]],[\"name/508\",[243,54.901]],[\"parent/508\",[38,4.811]],[\"name/509\",[243,54.901]],[\"parent/509\",[40,4.976]],[\"name/510\",[222,47.28]],[\"parent/510\",[245,5.755]],[\"name/511\",[18,24.056]],[\"parent/511\",[245,5.755]],[\"name/512\",[246,58.266]],[\"parent/512\",[41,4.976]],[\"name/513\",[222,47.28]],[\"parent/513\",[247,6.26]],[\"name/514\",[246,58.266]],[\"parent/514\",[42,4.976]],[\"name/515\",[222,47.28]],[\"parent/515\",[248,6.26]],[\"name/516\",[249,41.402]],[\"parent/516\",[48,4.019]],[\"name/517\",[18,24.056]],[\"parent/517\",[250,6.26]],[\"name/518\",[251,63.374]],[\"parent/518\",[252,4.436]],[\"name/519\",[49,54.901]],[\"parent/519\",[252,4.436]],[\"name/520\",[50,54.901]],[\"parent/520\",[252,4.436]],[\"name/521\",[51,54.901]],[\"parent/521\",[252,4.436]],[\"name/522\",[52,54.901]],[\"parent/522\",[252,4.436]],[\"name/523\",[53,54.901]],[\"parent/523\",[252,4.436]],[\"name/524\",[11,54.901]],[\"parent/524\",[252,4.436]],[\"name/525\",[12,54.901]],[\"parent/525\",[252,4.436]],[\"name/526\",[6,54.901]],[\"parent/526\",[252,4.436]],[\"name/527\",[249,41.402]],[\"parent/527\",[60,4.811]],[\"name/528\",[18,24.056]],[\"parent/528\",[253,6.26]],[\"name/529\",[254,63.374]],[\"parent/529\",[255,5.755]],[\"name/530\",[256,63.374]],[\"parent/530\",[255,5.755]],[\"name/531\",[257,43.915]],[\"parent/531\",[60,4.811]],[\"name/532\",[18,24.056]],[\"parent/532\",[258,6.26]],[\"name/533\",[259,43.915]],[\"parent/533\",[260,4.67]],[\"name/534\",[261,43.005]],[\"parent/534\",[260,4.67]],[\"name/535\",[262,43.915]],[\"parent/535\",[260,4.67]],[\"name/536\",[263,43.915]],[\"parent/536\",[260,4.67]],[\"name/537\",[264,43.915]],[\"parent/537\",[260,4.67]],[\"name/538\",[265,43.915]],[\"parent/538\",[260,4.67]],[\"name/539\",[266,50.381]],[\"parent/539\",[260,4.67]],[\"name/540\",[267,43.915]],[\"parent/540\",[60,4.811]],[\"name/541\",[18,24.056]],[\"parent/541\",[268,6.26]],[\"name/542\",[269,63.374]],[\"parent/542\",[270,6.26]],[\"name/543\",[249,41.402]],[\"parent/543\",[62,3.833]],[\"name/544\",[18,24.056]],[\"parent/544\",[271,6.26]],[\"name/545\",[63,54.901]],[\"parent/545\",[272,4.67]],[\"name/546\",[273,63.374]],[\"parent/546\",[272,4.67]],[\"name/547\",[64,54.901]],[\"parent/547\",[272,4.67]],[\"name/548\",[65,54.901]],[\"parent/548\",[272,4.67]],[\"name/549\",[66,54.901]],[\"parent/549\",[272,4.67]],[\"name/550\",[68,54.901]],[\"parent/550\",[272,4.67]],[\"name/551\",[69,54.901]],[\"parent/551\",[272,4.67]],[\"name/552\",[257,43.915]],[\"parent/552\",[62,3.833]],[\"name/553\",[18,24.056]],[\"parent/553\",[274,6.26]],[\"name/554\",[259,43.915]],[\"parent/554\",[275,4.546]],[\"name/555\",[266,50.381]],[\"parent/555\",[275,4.546]],[\"name/556\",[261,43.005]],[\"parent/556\",[275,4.546]],[\"name/557\",[262,43.915]],[\"parent/557\",[275,4.546]],[\"name/558\",[265,43.915]],[\"parent/558\",[275,4.546]],[\"name/559\",[263,43.915]],[\"parent/559\",[275,4.546]],[\"name/560\",[264,43.915]],[\"parent/560\",[275,4.546]],[\"name/561\",[276,54.901]],[\"parent/561\",[275,4.546]],[\"name/562\",[267,43.915]],[\"parent/562\",[62,3.833]],[\"name/563\",[18,24.056]],[\"parent/563\",[277,6.26]],[\"name/564\",[278,58.266]],[\"parent/564\",[279,4.976]],[\"name/565\",[280,63.374]],[\"parent/565\",[279,4.976]],[\"name/566\",[281,63.374]],[\"parent/566\",[279,4.976]],[\"name/567\",[282,63.374]],[\"parent/567\",[279,4.976]],[\"name/568\",[283,63.374]],[\"parent/568\",[279,4.976]],[\"name/569\",[249,41.402]],[\"parent/569\",[74,3.833]],[\"name/570\",[18,24.056]],[\"parent/570\",[284,6.26]],[\"name/571\",[75,54.901]],[\"parent/571\",[285,4.976]],[\"name/572\",[78,54.901]],[\"parent/572\",[285,4.976]],[\"name/573\",[79,54.901]],[\"parent/573\",[285,4.976]],[\"name/574\",[80,54.901]],[\"parent/574\",[285,4.976]],[\"name/575\",[81,54.901]],[\"parent/575\",[285,4.976]],[\"name/576\",[257,43.915]],[\"parent/576\",[74,3.833]],[\"name/577\",[18,24.056]],[\"parent/577\",[286,6.26]],[\"name/578\",[259,43.915]],[\"parent/578\",[287,4.546]],[\"name/579\",[266,50.381]],[\"parent/579\",[287,4.546]],[\"name/580\",[261,43.005]],[\"parent/580\",[287,4.546]],[\"name/581\",[262,43.915]],[\"parent/581\",[287,4.546]],[\"name/582\",[265,43.915]],[\"parent/582\",[287,4.546]],[\"name/583\",[263,43.915]],[\"parent/583\",[287,4.546]],[\"name/584\",[264,43.915]],[\"parent/584\",[287,4.546]],[\"name/585\",[276,54.901]],[\"parent/585\",[287,4.546]],[\"name/586\",[267,43.915]],[\"parent/586\",[74,3.833]],[\"name/587\",[18,24.056]],[\"parent/587\",[288,6.26]],[\"name/588\",[289,63.374]],[\"parent/588\",[290,5.423]],[\"name/589\",[291,63.374]],[\"parent/589\",[290,5.423]],[\"name/590\",[292,63.374]],[\"parent/590\",[290,5.423]],[\"name/591\",[293,63.374]],[\"parent/591\",[74,3.833]],[\"name/592\",[18,24.056]],[\"parent/592\",[294,6.26]],[\"name/593\",[19,50.381]],[\"parent/593\",[295,5.755]],[\"name/594\",[296,63.374]],[\"parent/594\",[295,5.755]],[\"name/595\",[83,58.266]],[\"parent/595\",[74,3.833]],[\"name/596\",[267,43.915]],[\"parent/596\",[84,4.436]],[\"name/597\",[18,24.056]],[\"parent/597\",[297,6.26]],[\"name/598\",[298,63.374]],[\"parent/598\",[299,6.26]],[\"name/599\",[257,43.915]],[\"parent/599\",[84,4.436]],[\"name/600\",[18,24.056]],[\"parent/600\",[300,6.26]],[\"name/601\",[259,43.915]],[\"parent/601\",[301,4.811]],[\"name/602\",[261,43.005]],[\"parent/602\",[301,4.811]],[\"name/603\",[262,43.915]],[\"parent/603\",[301,4.811]],[\"name/604\",[265,43.915]],[\"parent/604\",[301,4.811]],[\"name/605\",[263,43.915]],[\"parent/605\",[301,4.811]],[\"name/606\",[264,43.915]],[\"parent/606\",[301,4.811]],[\"name/607\",[249,41.402]],[\"parent/607\",[84,4.436]],[\"name/608\",[18,24.056]],[\"parent/608\",[302,6.26]],[\"name/609\",[85,47.28]],[\"parent/609\",[303,5.755]],[\"name/610\",[86,47.28]],[\"parent/610\",[303,5.755]],[\"name/611\",[304,63.374]],[\"parent/611\",[84,4.436]],[\"name/612\",[18,24.056]],[\"parent/612\",[305,6.26]],[\"name/613\",[306,63.374]],[\"parent/613\",[307,4.811]],[\"name/614\",[308,63.374]],[\"parent/614\",[307,4.811]],[\"name/615\",[309,63.374]],[\"parent/615\",[307,4.811]],[\"name/616\",[310,63.374]],[\"parent/616\",[307,4.811]],[\"name/617\",[311,63.374]],[\"parent/617\",[307,4.811]],[\"name/618\",[312,63.374]],[\"parent/618\",[307,4.811]],[\"name/619\",[96,58.266]],[\"parent/619\",[88,4.019]],[\"name/620\",[97,58.266]],[\"parent/620\",[88,4.019]],[\"name/621\",[18,24.056]],[\"parent/621\",[313,6.26]],[\"name/622\",[98,58.266]],[\"parent/622\",[314,4.67]],[\"name/623\",[100,58.266]],[\"parent/623\",[314,4.67]],[\"name/624\",[101,58.266]],[\"parent/624\",[314,4.67]],[\"name/625\",[102,58.266]],[\"parent/625\",[314,4.67]],[\"name/626\",[103,58.266]],[\"parent/626\",[314,4.67]],[\"name/627\",[104,54.901]],[\"parent/627\",[314,4.67]],[\"name/628\",[105,58.266]],[\"parent/628\",[314,4.67]],[\"name/629\",[249,41.402]],[\"parent/629\",[88,4.019]],[\"name/630\",[18,24.056]],[\"parent/630\",[315,6.26]],[\"name/631\",[89,54.901]],[\"parent/631\",[316,4.67]],[\"name/632\",[106,58.266]],[\"parent/632\",[316,4.67]],[\"name/633\",[90,54.901]],[\"parent/633\",[316,4.67]],[\"name/634\",[91,54.901]],[\"parent/634\",[316,4.67]],[\"name/635\",[92,54.901]],[\"parent/635\",[316,4.67]],[\"name/636\",[93,54.901]],[\"parent/636\",[316,4.67]],[\"name/637\",[94,54.901]],[\"parent/637\",[316,4.67]],[\"name/638\",[257,43.915]],[\"parent/638\",[88,4.019]],[\"name/639\",[18,24.056]],[\"parent/639\",[317,6.26]],[\"name/640\",[259,43.915]],[\"parent/640\",[318,4.67]],[\"name/641\",[319,63.374]],[\"parent/641\",[318,4.67]],[\"name/642\",[261,43.005]],[\"parent/642\",[318,4.67]],[\"name/643\",[262,43.915]],[\"parent/643\",[318,4.67]],[\"name/644\",[265,43.915]],[\"parent/644\",[318,4.67]],[\"name/645\",[263,43.915]],[\"parent/645\",[318,4.67]],[\"name/646\",[264,43.915]],[\"parent/646\",[318,4.67]],[\"name/647\",[267,43.915]],[\"parent/647\",[88,4.019]],[\"name/648\",[18,24.056]],[\"parent/648\",[320,6.26]],[\"name/649\",[321,63.374]],[\"parent/649\",[322,6.26]],[\"name/650\",[323,63.374]],[\"parent/650\",[107,3.953]],[\"name/651\",[249,41.402]],[\"parent/651\",[107,3.953]],[\"name/652\",[18,24.056]],[\"parent/652\",[324,6.26]],[\"name/653\",[325,58.266]],[\"parent/653\",[326,4.436]],[\"name/654\",[108,54.901]],[\"parent/654\",[326,4.436]],[\"name/655\",[109,54.901]],[\"parent/655\",[326,4.436]],[\"name/656\",[110,54.901]],[\"parent/656\",[326,4.436]],[\"name/657\",[111,54.901]],[\"parent/657\",[326,4.436]],[\"name/658\",[112,54.901]],[\"parent/658\",[326,4.436]],[\"name/659\",[113,54.901]],[\"parent/659\",[326,4.436]],[\"name/660\",[114,54.901]],[\"parent/660\",[326,4.436]],[\"name/661\",[115,54.901]],[\"parent/661\",[326,4.436]],[\"name/662\",[257,43.915]],[\"parent/662\",[107,3.953]],[\"name/663\",[18,24.056]],[\"parent/663\",[327,6.26]],[\"name/664\",[259,43.915]],[\"parent/664\",[328,4.436]],[\"name/665\",[261,43.005]],[\"parent/665\",[328,4.436]],[\"name/666\",[262,43.915]],[\"parent/666\",[328,4.436]],[\"name/667\",[265,43.915]],[\"parent/667\",[328,4.436]],[\"name/668\",[263,43.915]],[\"parent/668\",[328,4.436]],[\"name/669\",[264,43.915]],[\"parent/669\",[328,4.436]],[\"name/670\",[329,63.374]],[\"parent/670\",[328,4.436]],[\"name/671\",[330,63.374]],[\"parent/671\",[328,4.436]],[\"name/672\",[331,63.374]],[\"parent/672\",[328,4.436]],[\"name/673\",[267,43.915]],[\"parent/673\",[107,3.953]],[\"name/674\",[18,24.056]],[\"parent/674\",[332,6.26]],[\"name/675\",[333,63.374]],[\"parent/675\",[334,6.26]],[\"name/676\",[249,41.402]],[\"parent/676\",[120,3.585]],[\"name/677\",[18,24.056]],[\"parent/677\",[335,6.26]],[\"name/678\",[121,54.901]],[\"parent/678\",[336,4.248]],[\"name/679\",[127,54.901]],[\"parent/679\",[336,4.248]],[\"name/680\",[122,54.901]],[\"parent/680\",[336,4.248]],[\"name/681\",[133,54.901]],[\"parent/681\",[336,4.248]],[\"name/682\",[128,54.901]],[\"parent/682\",[336,4.248]],[\"name/683\",[129,54.901]],[\"parent/683\",[336,4.248]],[\"name/684\",[130,54.901]],[\"parent/684\",[336,4.248]],[\"name/685\",[124,54.901]],[\"parent/685\",[336,4.248]],[\"name/686\",[125,54.901]],[\"parent/686\",[336,4.248]],[\"name/687\",[123,54.901]],[\"parent/687\",[336,4.248]],[\"name/688\",[126,54.901]],[\"parent/688\",[336,4.248]],[\"name/689\",[257,43.915]],[\"parent/689\",[120,3.585]],[\"name/690\",[18,24.056]],[\"parent/690\",[337,6.26]],[\"name/691\",[259,43.915]],[\"parent/691\",[338,4.436]],[\"name/692\",[266,50.381]],[\"parent/692\",[338,4.436]],[\"name/693\",[261,43.005]],[\"parent/693\",[338,4.436]],[\"name/694\",[262,43.915]],[\"parent/694\",[338,4.436]],[\"name/695\",[265,43.915]],[\"parent/695\",[338,4.436]],[\"name/696\",[263,43.915]],[\"parent/696\",[338,4.436]],[\"name/697\",[264,43.915]],[\"parent/697\",[338,4.436]],[\"name/698\",[276,54.901]],[\"parent/698\",[338,4.436]],[\"name/699\",[339,63.374]],[\"parent/699\",[338,4.436]],[\"name/700\",[267,43.915]],[\"parent/700\",[120,3.585]],[\"name/701\",[18,24.056]],[\"parent/701\",[340,6.26]],[\"name/702\",[341,63.374]],[\"parent/702\",[342,4.976]],[\"name/703\",[343,63.374]],[\"parent/703\",[342,4.976]],[\"name/704\",[344,63.374]],[\"parent/704\",[342,4.976]],[\"name/705\",[278,58.266]],[\"parent/705\",[342,4.976]],[\"name/706\",[345,63.374]],[\"parent/706\",[342,4.976]],[\"name/707\",[346,63.374]],[\"parent/707\",[136,3.222]],[\"name/708\",[347,63.374]],[\"parent/708\",[348,5.174]],[\"name/709\",[349,63.374]],[\"parent/709\",[348,5.174]],[\"name/710\",[350,63.374]],[\"parent/710\",[348,5.174]],[\"name/711\",[351,63.374]],[\"parent/711\",[348,5.174]],[\"name/712\",[249,41.402]],[\"parent/712\",[136,3.222]],[\"name/713\",[18,24.056]],[\"parent/713\",[352,6.26]],[\"name/714\",[137,54.901]],[\"parent/714\",[353,3.833]],[\"name/715\",[354,63.374]],[\"parent/715\",[353,3.833]],[\"name/716\",[139,54.901]],[\"parent/716\",[353,3.833]],[\"name/717\",[142,54.901]],[\"parent/717\",[353,3.833]],[\"name/718\",[141,54.901]],[\"parent/718\",[353,3.833]],[\"name/719\",[144,54.901]],[\"parent/719\",[353,3.833]],[\"name/720\",[145,54.901]],[\"parent/720\",[353,3.833]],[\"name/721\",[146,52.388]],[\"parent/721\",[353,3.833]],[\"name/722\",[147,54.901]],[\"parent/722\",[353,3.833]],[\"name/723\",[148,52.388]],[\"parent/723\",[353,3.833]],[\"name/724\",[149,52.388]],[\"parent/724\",[353,3.833]],[\"name/725\",[355,63.374]],[\"parent/725\",[353,3.833]],[\"name/726\",[356,63.374]],[\"parent/726\",[353,3.833]],[\"name/727\",[150,52.388]],[\"parent/727\",[353,3.833]],[\"name/728\",[151,52.388]],[\"parent/728\",[353,3.833]],[\"name/729\",[152,52.388]],[\"parent/729\",[353,3.833]],[\"name/730\",[153,52.388]],[\"parent/730\",[353,3.833]],[\"name/731\",[357,63.374]],[\"parent/731\",[136,3.222]],[\"name/732\",[146,52.388]],[\"parent/732\",[358,3.726]],[\"name/733\",[359,63.374]],[\"parent/733\",[358,3.726]],[\"name/734\",[148,52.388]],[\"parent/734\",[358,3.726]],[\"name/735\",[360,63.374]],[\"parent/735\",[358,3.726]],[\"name/736\",[361,63.374]],[\"parent/736\",[358,3.726]],[\"name/737\",[325,58.266]],[\"parent/737\",[358,3.726]],[\"name/738\",[362,63.374]],[\"parent/738\",[358,3.726]],[\"name/739\",[363,63.374]],[\"parent/739\",[358,3.726]],[\"name/740\",[364,63.374]],[\"parent/740\",[358,3.726]],[\"name/741\",[365,63.374]],[\"parent/741\",[358,3.726]],[\"name/742\",[149,52.388]],[\"parent/742\",[358,3.726]],[\"name/743\",[366,63.374]],[\"parent/743\",[358,3.726]],[\"name/744\",[367,63.374]],[\"parent/744\",[358,3.726]],[\"name/745\",[368,63.374]],[\"parent/745\",[358,3.726]],[\"name/746\",[150,52.388]],[\"parent/746\",[358,3.726]],[\"name/747\",[151,52.388]],[\"parent/747\",[358,3.726]],[\"name/748\",[152,52.388]],[\"parent/748\",[358,3.726]],[\"name/749\",[153,52.388]],[\"parent/749\",[358,3.726]],[\"name/750\",[369,63.374]],[\"parent/750\",[358,3.726]],[\"name/751\",[267,43.915]],[\"parent/751\",[136,3.222]],[\"name/752\",[18,24.056]],[\"parent/752\",[370,6.26]],[\"name/753\",[371,63.374]],[\"parent/753\",[372,5.423]],[\"name/754\",[373,63.374]],[\"parent/754\",[372,5.423]],[\"name/755\",[374,63.374]],[\"parent/755\",[372,5.423]],[\"name/756\",[257,43.915]],[\"parent/756\",[136,3.222]],[\"name/757\",[18,24.056]],[\"parent/757\",[375,6.26]],[\"name/758\",[259,43.915]],[\"parent/758\",[376,4.811]],[\"name/759\",[261,43.005]],[\"parent/759\",[376,4.811]],[\"name/760\",[262,43.915]],[\"parent/760\",[376,4.811]],[\"name/761\",[265,43.915]],[\"parent/761\",[376,4.811]],[\"name/762\",[263,43.915]],[\"parent/762\",[376,4.811]],[\"name/763\",[264,43.915]],[\"parent/763\",[376,4.811]],[\"name/764\",[377,63.374]],[\"parent/764\",[136,3.222]],[\"name/765\",[18,24.056]],[\"parent/765\",[378,6.26]],[\"name/766\",[379,63.374]],[\"parent/766\",[380,4.546]],[\"name/767\",[381,63.374]],[\"parent/767\",[380,4.546]],[\"name/768\",[19,50.381]],[\"parent/768\",[380,4.546]],[\"name/769\",[382,63.374]],[\"parent/769\",[380,4.546]],[\"name/770\",[383,63.374]],[\"parent/770\",[380,4.546]],[\"name/771\",[384,63.374]],[\"parent/771\",[380,4.546]],[\"name/772\",[385,63.374]],[\"parent/772\",[380,4.546]],[\"name/773\",[386,63.374]],[\"parent/773\",[380,4.546]],[\"name/774\",[387,63.374]],[\"parent/774\",[136,3.222]],[\"name/775\",[249,41.402]],[\"parent/775\",[156,4.338]],[\"name/776\",[18,24.056]],[\"parent/776\",[388,6.26]],[\"name/777\",[157,54.901]],[\"parent/777\",[389,5.423]],[\"name/778\",[132,54.901]],[\"parent/778\",[389,5.423]],[\"name/779\",[158,54.901]],[\"parent/779\",[389,5.423]],[\"name/780\",[267,43.915]],[\"parent/780\",[156,4.338]],[\"name/781\",[18,24.056]],[\"parent/781\",[390,6.26]],[\"name/782\",[391,63.374]],[\"parent/782\",[392,5.423]],[\"name/783\",[393,63.374]],[\"parent/783\",[392,5.423]],[\"name/784\",[394,63.374]],[\"parent/784\",[392,5.423]],[\"name/785\",[257,43.915]],[\"parent/785\",[156,4.338]],[\"name/786\",[18,24.056]],[\"parent/786\",[395,6.26]],[\"name/787\",[259,43.915]],[\"parent/787\",[396,4.546]],[\"name/788\",[261,43.005]],[\"parent/788\",[396,4.546]],[\"name/789\",[262,43.915]],[\"parent/789\",[396,4.546]],[\"name/790\",[265,43.915]],[\"parent/790\",[396,4.546]],[\"name/791\",[397,63.374]],[\"parent/791\",[396,4.546]],[\"name/792\",[263,43.915]],[\"parent/792\",[396,4.546]],[\"name/793\",[264,43.915]],[\"parent/793\",[396,4.546]],[\"name/794\",[266,50.381]],[\"parent/794\",[396,4.546]],[\"name/795\",[398,63.374]],[\"parent/795\",[156,4.338]],[\"name/796\",[18,24.056]],[\"parent/796\",[399,6.26]],[\"name/797\",[190,58.266]],[\"parent/797\",[400,4.811]],[\"name/798\",[261,43.005]],[\"parent/798\",[400,4.811]],[\"name/799\",[401,63.374]],[\"parent/799\",[400,4.811]],[\"name/800\",[402,63.374]],[\"parent/800\",[400,4.811]],[\"name/801\",[403,63.374]],[\"parent/801\",[400,4.811]],[\"name/802\",[404,63.374]],[\"parent/802\",[400,4.811]],[\"name/803\",[249,41.402]],[\"parent/803\",[160,4.165]],[\"name/804\",[18,24.056]],[\"parent/804\",[405,6.26]],[\"name/805\",[406,63.374]],[\"parent/805\",[407,4.67]],[\"name/806\",[161,54.901]],[\"parent/806\",[407,4.67]],[\"name/807\",[163,54.901]],[\"parent/807\",[407,4.67]],[\"name/808\",[162,54.901]],[\"parent/808\",[407,4.67]],[\"name/809\",[164,54.901]],[\"parent/809\",[407,4.67]],[\"name/810\",[165,54.901]],[\"parent/810\",[407,4.67]],[\"name/811\",[166,54.901]],[\"parent/811\",[407,4.67]],[\"name/812\",[257,43.915]],[\"parent/812\",[160,4.165]],[\"name/813\",[18,24.056]],[\"parent/813\",[408,6.26]],[\"name/814\",[259,43.915]],[\"parent/814\",[409,4.811]],[\"name/815\",[261,43.005]],[\"parent/815\",[409,4.811]],[\"name/816\",[262,43.915]],[\"parent/816\",[409,4.811]],[\"name/817\",[265,43.915]],[\"parent/817\",[409,4.811]],[\"name/818\",[263,43.915]],[\"parent/818\",[409,4.811]],[\"name/819\",[264,43.915]],[\"parent/819\",[409,4.811]],[\"name/820\",[267,43.915]],[\"parent/820\",[160,4.165]],[\"name/821\",[18,24.056]],[\"parent/821\",[410,6.26]],[\"name/822\",[411,63.374]],[\"parent/822\",[412,4.976]],[\"name/823\",[413,63.374]],[\"parent/823\",[412,4.976]],[\"name/824\",[414,63.374]],[\"parent/824\",[412,4.976]],[\"name/825\",[415,63.374]],[\"parent/825\",[412,4.976]],[\"name/826\",[416,63.374]],[\"parent/826\",[412,4.976]],[\"name/827\",[249,41.402]],[\"parent/827\",[168,4.546]],[\"name/828\",[18,24.056]],[\"parent/828\",[417,6.26]],[\"name/829\",[169,54.901]],[\"parent/829\",[418,5.423]],[\"name/830\",[170,54.901]],[\"parent/830\",[418,5.423]],[\"name/831\",[171,54.901]],[\"parent/831\",[418,5.423]],[\"name/832\",[419,63.374]],[\"parent/832\",[168,4.546]],[\"name/833\",[186,58.266]],[\"parent/833\",[173,3.891]],[\"name/834\",[185,58.266]],[\"parent/834\",[173,3.891]],[\"name/835\",[249,41.402]],[\"parent/835\",[173,3.891]],[\"name/836\",[18,24.056]],[\"parent/836\",[420,6.26]],[\"name/837\",[174,54.901]],[\"parent/837\",[421,4.338]],[\"name/838\",[175,54.901]],[\"parent/838\",[421,4.338]],[\"name/839\",[176,54.901]],[\"parent/839\",[421,4.338]],[\"name/840\",[177,54.901]],[\"parent/840\",[421,4.338]],[\"name/841\",[178,54.901]],[\"parent/841\",[421,4.338]],[\"name/842\",[179,54.901]],[\"parent/842\",[421,4.338]],[\"name/843\",[180,54.901]],[\"parent/843\",[421,4.338]],[\"name/844\",[181,54.901]],[\"parent/844\",[421,4.338]],[\"name/845\",[182,54.901]],[\"parent/845\",[421,4.338]],[\"name/846\",[183,54.901]],[\"parent/846\",[421,4.338]]],\"invertedIndex\":[[\"__type\",{\"_index\":18,\"name\":{\"18\":{},\"44\":{},\"102\":{},\"118\":{},\"135\":{},\"161\":{},\"179\":{},\"193\":{},\"196\":{},\"224\":{},\"241\":{},\"266\":{},\"310\":{},\"341\":{},\"356\":{},\"371\":{},\"390\":{},\"428\":{},\"430\":{},\"432\":{},\"434\":{},\"436\":{},\"444\":{},\"446\":{},\"448\":{},\"450\":{},\"452\":{},\"454\":{},\"458\":{},\"460\":{},\"466\":{},\"468\":{},\"471\":{},\"472\":{},\"473\":{},\"474\":{},\"475\":{},\"511\":{},\"517\":{},\"528\":{},\"532\":{},\"541\":{},\"544\":{},\"553\":{},\"563\":{},\"570\":{},\"577\":{},\"587\":{},\"592\":{},\"597\":{},\"600\":{},\"608\":{},\"612\":{},\"621\":{},\"630\":{},\"639\":{},\"648\":{},\"652\":{},\"663\":{},\"674\":{},\"677\":{},\"690\":{},\"701\":{},\"713\":{},\"752\":{},\"757\":{},\"765\":{},\"776\":{},\"781\":{},\"786\":{},\"796\":{},\"804\":{},\"813\":{},\"821\":{},\"828\":{},\"836\":{}},\"parent\":{}}],[\"_session\",{\"_index\":238,\"name\":{\"479\":{}},\"parent\":{}}],[\"addroletouser\",{\"_index\":174,\"name\":{\"378\":{},\"393\":{},\"837\":{}},\"parent\":{}}],[\"addtorequiredsecondaryfactorsforuser\",{\"_index\":93,\"name\":{\"189\":{},\"209\":{},\"636\":{}},\"parent\":{}}],[\"alg\",{\"_index\":311,\"name\":{\"617\":{}},\"parent\":{}}],[\"allavailablefirstfactors\",{\"_index\":330,\"name\":{\"671\":{}},\"parent\":{}}],[\"alloweddomainsclaim\",{\"_index\":323,\"name\":{\"650\":{}},\"parent\":{}}],[\"anticsrfcheck\",{\"_index\":347,\"name\":{\"708\":{}},\"parent\":{}}],[\"apiinterface\",{\"_index\":267,\"name\":{\"540\":{},\"562\":{},\"586\":{},\"596\":{},\"647\":{},\"673\":{},\"700\":{},\"751\":{},\"780\":{},\"820\":{}},\"parent\":{}}],[\"apioptions\",{\"_index\":257,\"name\":{\"531\":{},\"552\":{},\"576\":{},\"599\":{},\"638\":{},\"662\":{},\"689\":{},\"756\":{},\"785\":{},\"812\":{}},\"parent\":{}}],[\"appinfo\",{\"_index\":266,\"name\":{\"539\":{},\"555\":{},\"579\":{},\"692\":{},\"794\":{}},\"parent\":{}}],[\"appleredirecthandlerpost\",{\"_index\":394,\"name\":{\"784\":{}},\"parent\":{}}],[\"assertallowedtosetupfactorelsethrowinvalidclaimerror\",{\"_index\":89,\"name\":{\"185\":{},\"204\":{},\"631\":{}},\"parent\":{}}],[\"assertclaims\",{\"_index\":368,\"name\":{\"745\":{}},\"parent\":{}}],[\"associateusertotenant\",{\"_index\":114,\"name\":{\"220\":{},\"231\":{},\"660\":{}},\"parent\":{}}],[\"attachtorequestresponse\",{\"_index\":369,\"name\":{\"750\":{}},\"parent\":{}}],[\"authorisationurlget\",{\"_index\":391,\"name\":{\"782\":{}},\"parent\":{}}],[\"awslambda\",{\"_index\":28,\"name\":{\"42\":{},\"50\":{}},\"parent\":{}}],[\"baserequest\",{\"_index\":198,\"name\":{\"419\":{}},\"parent\":{}}],[\"baseresponse\",{\"_index\":213,\"name\":{\"439\":{}},\"parent\":{}}],[\"body\",{\"_index\":242,\"name\":{\"497\":{}},\"parent\":{}}],[\"cancreateprimaryuser\",{\"_index\":49,\"name\":{\"90\":{},\"105\":{},\"519\":{}},\"parent\":{}}],[\"canlinkaccounts\",{\"_index\":51,\"name\":{\"92\":{},\"107\":{},\"521\":{}},\"parent\":{}}],[\"checkcode\",{\"_index\":133,\"name\":{\"261\":{},\"271\":{},\"681\":{}},\"parent\":{}}],[\"checkdatabase\",{\"_index\":350,\"name\":{\"710\":{}},\"parent\":{}}],[\"clearusermetadata\",{\"_index\":171,\"name\":{\"368\":{},\"374\":{},\"831\":{}},\"parent\":{}}],[\"collectingresponse\",{\"_index\":239,\"name\":{\"492\":{}},\"parent\":{}}],[\"config\",{\"_index\":261,\"name\":{\"534\":{},\"556\":{},\"580\":{},\"602\":{},\"642\":{},\"665\":{},\"693\":{},\"759\":{},\"788\":{},\"798\":{},\"815\":{}},\"parent\":{}}],[\"constructor\",{\"_index\":21,\"name\":{\"35\":{},\"82\":{},\"86\":{},\"113\":{},\"119\":{},\"147\":{},\"172\":{},\"182\":{},\"211\":{},\"233\":{},\"245\":{},\"283\":{},\"333\":{},\"345\":{},\"363\":{},\"375\":{},\"403\":{},\"405\":{},\"409\":{},\"420\":{},\"440\":{},\"477\":{},\"493\":{}},\"parent\":{}}],[\"consumecode\",{\"_index\":122,\"name\":{\"250\":{},\"270\":{},\"680\":{}},\"parent\":{}}],[\"consumecodepost\",{\"_index\":344,\"name\":{\"704\":{}},\"parent\":{}}],[\"consumepasswordresettoken\",{\"_index\":68,\"name\":{\"128\":{},\"142\":{},\"550\":{}},\"parent\":{}}],[\"converttorecipeuserid\",{\"_index\":13,\"name\":{\"13\":{},\"33\":{}},\"parent\":{}}],[\"cookies\",{\"_index\":229,\"name\":{\"462\":{},\"470\":{},\"496\":{}},\"parent\":{}}],[\"createcode\",{\"_index\":121,\"name\":{\"249\":{},\"268\":{},\"678\":{}},\"parent\":{}}],[\"createcodepost\",{\"_index\":341,\"name\":{\"702\":{}},\"parent\":{}}],[\"createdevice\",{\"_index\":161,\"name\":{\"348\":{},\"357\":{},\"806\":{}},\"parent\":{}}],[\"createdevicepost\",{\"_index\":411,\"name\":{\"822\":{}},\"parent\":{}}],[\"createemailverificationlink\",{\"_index\":76,\"name\":{\"152\":{},\"165\":{}},\"parent\":{}}],[\"createemailverificationtoken\",{\"_index\":75,\"name\":{\"151\":{},\"164\":{},\"571\":{}},\"parent\":{}}],[\"createjwt\",{\"_index\":85,\"name\":{\"175\":{},\"180\":{},\"237\":{},\"243\":{},\"305\":{},\"326\":{},\"609\":{}},\"parent\":{}}],[\"createmagiclink\",{\"_index\":131,\"name\":{\"259\":{},\"279\":{}},\"parent\":{}}],[\"createnewcodefordevice\",{\"_index\":127,\"name\":{\"255\":{},\"269\":{},\"679\":{}},\"parent\":{}}],[\"createnewrecipeuser\",{\"_index\":273,\"name\":{\"546\":{}},\"parent\":{}}],[\"createnewroleoraddpermissions\",{\"_index\":178,\"name\":{\"382\":{},\"397\":{},\"841\":{}},\"parent\":{}}],[\"createnewsession\",{\"_index\":137,\"name\":{\"286\":{},\"312\":{},\"714\":{}},\"parent\":{}}],[\"createnewsessionwithoutrequestresponse\",{\"_index\":138,\"name\":{\"287\":{},\"313\":{}},\"parent\":{}}],[\"createorupdatetenant\",{\"_index\":108,\"name\":{\"214\":{},\"225\":{},\"654\":{}},\"parent\":{}}],[\"createorupdatethirdpartyconfig\",{\"_index\":112,\"name\":{\"218\":{},\"229\":{},\"658\":{}},\"parent\":{}}],[\"createprimaryuser\",{\"_index\":50,\"name\":{\"91\":{},\"106\":{},\"520\":{}},\"parent\":{}}],[\"createprimaryuseridorlinkaccounts\",{\"_index\":54,\"name\":{\"95\":{},\"103\":{}},\"parent\":{}}],[\"createresetpasswordlink\",{\"_index\":70,\"name\":{\"130\":{},\"144\":{}},\"parent\":{}}],[\"createresetpasswordtoken\",{\"_index\":66,\"name\":{\"126\":{},\"140\":{},\"549\":{}},\"parent\":{}}],[\"createuseridmapping\",{\"_index\":7,\"name\":{\"7\":{},\"26\":{}},\"parent\":{}}],[\"customclaimsinaccesstokenpayload\",{\"_index\":384,\"name\":{\"771\":{}},\"parent\":{}}],[\"dashboardget\",{\"_index\":269,\"name\":{\"542\":{}},\"parent\":{}}],[\"default\",{\"_index\":16,\"name\":{\"16\":{},\"43\":{},\"81\":{},\"85\":{},\"100\":{},\"116\":{},\"133\":{},\"159\":{},\"177\":{},\"191\":{},\"222\":{},\"239\":{},\"264\":{},\"308\":{},\"339\":{},\"354\":{},\"369\":{},\"388\":{}},\"parent\":{}}],[\"deleterole\",{\"_index\":182,\"name\":{\"386\":{},\"401\":{},\"845\":{}},\"parent\":{}}],[\"deletetenant\",{\"_index\":109,\"name\":{\"215\":{},\"226\":{},\"655\":{}},\"parent\":{}}],[\"deletethirdpartyconfig\",{\"_index\":113,\"name\":{\"219\":{},\"230\":{},\"659\":{}},\"parent\":{}}],[\"deleteuser\",{\"_index\":6,\"name\":{\"6\":{},\"32\":{},\"526\":{}},\"parent\":{}}],[\"deleteuseridmapping\",{\"_index\":9,\"name\":{\"9\":{},\"28\":{}},\"parent\":{}}],[\"disassociateuserfromtenant\",{\"_index\":115,\"name\":{\"221\":{},\"232\":{},\"661\":{}},\"parent\":{}}],[\"e\",{\"_index\":310,\"name\":{\"616\":{}},\"parent\":{}}],[\"email\",{\"_index\":296,\"name\":{\"594\":{}},\"parent\":{}}],[\"emaildelivery\",{\"_index\":276,\"name\":{\"561\":{},\"585\":{},\"698\":{}},\"parent\":{}}],[\"emailexistsget\",{\"_index\":278,\"name\":{\"564\":{},\"705\":{}},\"parent\":{}}],[\"emailpassword\",{\"_index\":98,\"name\":{\"197\":{},\"622\":{}},\"parent\":{}}],[\"emails\",{\"_index\":193,\"name\":{\"413\":{}},\"parent\":{}}],[\"emailverificationclaim\",{\"_index\":83,\"name\":{\"163\":{},\"595\":{}},\"parent\":{}}],[\"error\",{\"_index\":15,\"name\":{\"15\":{},\"19\":{},\"122\":{},\"136\":{},\"150\":{},\"162\":{},\"248\":{},\"267\":{},\"304\":{},\"311\":{},\"336\":{},\"342\":{}},\"parent\":{}}],[\"errorhandler\",{\"_index\":36,\"name\":{\"57\":{},\"60\":{},\"65\":{}},\"parent\":{}}],[\"exchangeauthcodeforoauthtokens\",{\"_index\":403,\"name\":{\"801\":{}},\"parent\":{}}],[\"expiry\",{\"_index\":383,\"name\":{\"770\":{}},\"parent\":{}}],[\"express\",{\"_index\":23,\"name\":{\"37\":{},\"45\":{}},\"parent\":{}}],[\"factorids\",{\"_index\":97,\"name\":{\"195\":{},\"620\":{}},\"parent\":{}}],[\"fastify\",{\"_index\":24,\"name\":{\"38\":{},\"46\":{}},\"parent\":{}}],[\"fetchandsetclaim\",{\"_index\":150,\"name\":{\"299\":{},\"329\":{},\"727\":{},\"746\":{}},\"parent\":{}}],[\"framework\",{\"_index\":22,\"name\":{\"36\":{}},\"parent\":{\"37\":{},\"38\":{},\"39\":{},\"40\":{},\"41\":{},\"42\":{},\"43\":{},\"419\":{},\"439\":{}}}],[\"framework.baserequest\",{\"_index\":199,\"name\":{},\"parent\":{\"420\":{},\"421\":{},\"422\":{},\"423\":{},\"424\":{},\"425\":{},\"426\":{},\"427\":{},\"428\":{},\"429\":{},\"430\":{},\"431\":{},\"432\":{},\"433\":{},\"434\":{},\"435\":{},\"436\":{},\"437\":{},\"438\":{}}}],[\"framework.baseresponse\",{\"_index\":214,\"name\":{},\"parent\":{\"440\":{},\"441\":{},\"442\":{},\"443\":{},\"444\":{},\"445\":{},\"446\":{},\"447\":{},\"448\":{},\"449\":{},\"450\":{},\"451\":{},\"452\":{},\"453\":{},\"454\":{}}}],[\"framework.default\",{\"_index\":29,\"name\":{},\"parent\":{\"44\":{}}}],[\"framework.default.__type\",{\"_index\":30,\"name\":{},\"parent\":{\"45\":{},\"46\":{},\"47\":{},\"48\":{},\"49\":{},\"50\":{}}}],[\"framework/awslambda\",{\"_index\":31,\"name\":{\"51\":{}},\"parent\":{\"52\":{},\"53\":{},\"54\":{},\"455\":{},\"463\":{}}}],[\"framework/awslambda.sessionevent\",{\"_index\":223,\"name\":{},\"parent\":{\"456\":{},\"457\":{},\"458\":{}}}],[\"framework/awslambda.sessionevent.__type\",{\"_index\":226,\"name\":{},\"parent\":{\"459\":{},\"460\":{}}}],[\"framework/awslambda.sessionevent.__type.__type\",{\"_index\":228,\"name\":{},\"parent\":{\"461\":{},\"462\":{}}}],[\"framework/awslambda.sessioneventv2\",{\"_index\":231,\"name\":{},\"parent\":{\"464\":{},\"465\":{},\"466\":{},\"471\":{}}}],[\"framework/awslambda.sessioneventv2.__type\",{\"_index\":232,\"name\":{},\"parent\":{\"467\":{},\"468\":{},\"472\":{},\"475\":{}}}],[\"framework/awslambda.sessioneventv2.__type.__type\",{\"_index\":233,\"name\":{},\"parent\":{\"469\":{},\"470\":{},\"473\":{}}}],[\"framework/awslambda.sessioneventv2.__type.__type.__type\",{\"_index\":234,\"name\":{},\"parent\":{\"474\":{}}}],[\"framework/custom\",{\"_index\":35,\"name\":{\"55\":{}},\"parent\":{\"56\":{},\"57\":{},\"476\":{},\"492\":{}}}],[\"framework/custom.collectingresponse\",{\"_index\":240,\"name\":{},\"parent\":{\"493\":{},\"494\":{},\"495\":{},\"496\":{},\"497\":{},\"498\":{},\"499\":{},\"500\":{},\"501\":{},\"502\":{},\"503\":{},\"504\":{},\"505\":{}}}],[\"framework/custom.preparsedrequest\",{\"_index\":236,\"name\":{},\"parent\":{\"477\":{},\"478\":{},\"479\":{},\"480\":{},\"481\":{},\"482\":{},\"483\":{},\"484\":{},\"485\":{},\"486\":{},\"487\":{},\"488\":{},\"489\":{},\"490\":{},\"491\":{}}}],[\"framework/express\",{\"_index\":37,\"name\":{\"58\":{}},\"parent\":{\"59\":{},\"60\":{},\"61\":{},\"62\":{},\"506\":{}}}],[\"framework/express.sessionrequest\",{\"_index\":244,\"name\":{},\"parent\":{\"507\":{}}}],[\"framework/fastify\",{\"_index\":38,\"name\":{\"63\":{}},\"parent\":{\"64\":{},\"65\":{},\"66\":{},\"67\":{},\"508\":{}}}],[\"framework/hapi\",{\"_index\":40,\"name\":{\"68\":{}},\"parent\":{\"69\":{},\"70\":{},\"71\":{},\"509\":{}}}],[\"framework/hapi.sessionrequest\",{\"_index\":245,\"name\":{},\"parent\":{\"510\":{},\"511\":{}}}],[\"framework/koa\",{\"_index\":41,\"name\":{\"72\":{}},\"parent\":{\"73\":{},\"74\":{},\"75\":{},\"512\":{}}}],[\"framework/koa.sessioncontext\",{\"_index\":247,\"name\":{},\"parent\":{\"513\":{}}}],[\"framework/loopback\",{\"_index\":42,\"name\":{\"76\":{}},\"parent\":{\"77\":{},\"78\":{},\"79\":{},\"514\":{}}}],[\"framework/loopback.sessioncontext\",{\"_index\":248,\"name\":{},\"parent\":{\"515\":{}}}],[\"generateemailverifytokenpost\",{\"_index\":292,\"name\":{\"590\":{}},\"parent\":{}}],[\"generatepasswordresettokenpost\",{\"_index\":280,\"name\":{\"565\":{}},\"parent\":{}}],[\"getaccesstoken\",{\"_index\":365,\"name\":{\"741\":{}},\"parent\":{}}],[\"getaccesstokenpayload\",{\"_index\":362,\"name\":{\"738\":{}},\"parent\":{}}],[\"getallcorsheaders\",{\"_index\":2,\"name\":{\"2\":{},\"22\":{}},\"parent\":{}}],[\"getallroles\",{\"_index\":183,\"name\":{\"387\":{},\"402\":{},\"846\":{}},\"parent\":{}}],[\"getallsessionhandlesforuser\",{\"_index\":145,\"name\":{\"294\":{},\"321\":{},\"720\":{}},\"parent\":{}}],[\"getallsessiontokensdangerously\",{\"_index\":364,\"name\":{\"740\":{}},\"parent\":{}}],[\"getasstring\",{\"_index\":188,\"name\":{\"407\":{}},\"parent\":{}}],[\"getauthorisationredirecturl\",{\"_index\":402,\"name\":{\"800\":{}},\"parent\":{}}],[\"getclaimvalue\",{\"_index\":152,\"name\":{\"301\":{},\"331\":{},\"729\":{},\"748\":{}},\"parent\":{}}],[\"getconfigforclienttype\",{\"_index\":401,\"name\":{\"799\":{}},\"parent\":{}}],[\"getcookievalue\",{\"_index\":208,\"name\":{\"431\":{},\"485\":{}},\"parent\":{}}],[\"getdashboardbundlelocation\",{\"_index\":254,\"name\":{\"529\":{}},\"parent\":{}}],[\"getexpiry\",{\"_index\":367,\"name\":{\"744\":{}},\"parent\":{}}],[\"getfactorssetupforuser\",{\"_index\":91,\"name\":{\"187\":{},\"207\":{},\"634\":{}},\"parent\":{}}],[\"getformdata\",{\"_index\":211,\"name\":{\"437\":{},\"490\":{}},\"parent\":{}}],[\"getformdatafromrequestbody\",{\"_index\":205,\"name\":{\"426\":{},\"482\":{}},\"parent\":{}}],[\"getglobalclaimvalidators\",{\"_index\":354,\"name\":{\"715\":{}},\"parent\":{}}],[\"gethandle\",{\"_index\":363,\"name\":{\"739\":{}},\"parent\":{}}],[\"getheadervalue\",{\"_index\":209,\"name\":{\"433\":{},\"486\":{}},\"parent\":{}}],[\"getjsonbody\",{\"_index\":212,\"name\":{\"438\":{},\"491\":{}},\"parent\":{}}],[\"getjsonfromrequestbody\",{\"_index\":204,\"name\":{\"425\":{},\"481\":{}},\"parent\":{}}],[\"getjwks\",{\"_index\":86,\"name\":{\"176\":{},\"181\":{},\"238\":{},\"244\":{},\"306\":{},\"327\":{},\"610\":{}},\"parent\":{}}],[\"getjwksget\",{\"_index\":298,\"name\":{\"598\":{}},\"parent\":{}}],[\"getkeyvaluefromquery\",{\"_index\":206,\"name\":{\"427\":{},\"483\":{}},\"parent\":{}}],[\"getmethod\",{\"_index\":207,\"name\":{\"429\":{},\"484\":{}},\"parent\":{}}],[\"getmfarequirementsforauth\",{\"_index\":106,\"name\":{\"205\":{},\"632\":{}},\"parent\":{}}],[\"getopeniddiscoveryconfiguration\",{\"_index\":118,\"name\":{\"236\":{},\"242\":{},\"307\":{},\"328\":{}},\"parent\":{}}],[\"getoriginalurl\",{\"_index\":210,\"name\":{\"435\":{},\"487\":{}},\"parent\":{}}],[\"getpermissionsforrole\",{\"_index\":179,\"name\":{\"383\":{},\"398\":{},\"842\":{}},\"parent\":{}}],[\"getprimaryuserthatcanbelinkedtorecipeuserid\",{\"_index\":55,\"name\":{\"96\":{},\"104\":{}},\"parent\":{}}],[\"getprovider\",{\"_index\":157,\"name\":{\"337\":{},\"343\":{},\"777\":{}},\"parent\":{}}],[\"getrecipeuserid\",{\"_index\":361,\"name\":{\"736\":{}},\"parent\":{}}],[\"getrequestfromusercontext\",{\"_index\":14,\"name\":{\"14\":{},\"34\":{}},\"parent\":{}}],[\"getrequiredsecondaryfactorsforuser\",{\"_index\":92,\"name\":{\"188\":{},\"208\":{},\"635\":{}},\"parent\":{}}],[\"getrolesforuser\",{\"_index\":176,\"name\":{\"380\":{},\"395\":{},\"839\":{}},\"parent\":{}}],[\"getrolesthathavepermission\",{\"_index\":181,\"name\":{\"385\":{},\"400\":{},\"844\":{}},\"parent\":{}}],[\"getsession\",{\"_index\":139,\"name\":{\"288\":{},\"315\":{},\"716\":{}},\"parent\":{}}],[\"getsessiondatafromdatabase\",{\"_index\":359,\"name\":{\"733\":{}},\"parent\":{}}],[\"getsessioninformation\",{\"_index\":141,\"name\":{\"290\":{},\"317\":{},\"718\":{}},\"parent\":{}}],[\"getsessionwithoutrequestresponse\",{\"_index\":140,\"name\":{\"289\":{},\"316\":{}},\"parent\":{}}],[\"gettenant\",{\"_index\":110,\"name\":{\"216\":{},\"227\":{},\"656\":{}},\"parent\":{}}],[\"gettenantid\",{\"_index\":325,\"name\":{\"653\":{},\"737\":{}},\"parent\":{}}],[\"gettimecreated\",{\"_index\":366,\"name\":{\"743\":{}},\"parent\":{}}],[\"getuser\",{\"_index\":11,\"name\":{\"11\":{},\"30\":{},\"524\":{}},\"parent\":{}}],[\"getusercount\",{\"_index\":3,\"name\":{\"3\":{},\"23\":{}},\"parent\":{}}],[\"getuserid\",{\"_index\":360,\"name\":{\"735\":{}},\"parent\":{}}],[\"getuseridentifierinfoforuserid\",{\"_index\":406,\"name\":{\"805\":{}},\"parent\":{}}],[\"getuseridmapping\",{\"_index\":8,\"name\":{\"8\":{},\"27\":{}},\"parent\":{}}],[\"getuserinfo\",{\"_index\":404,\"name\":{\"802\":{}},\"parent\":{}}],[\"getusermetadata\",{\"_index\":169,\"name\":{\"366\":{},\"372\":{},\"829\":{}},\"parent\":{}}],[\"getusers\",{\"_index\":251,\"name\":{\"518\":{}},\"parent\":{}}],[\"getusersnewestfirst\",{\"_index\":5,\"name\":{\"5\":{},\"25\":{}},\"parent\":{}}],[\"getusersoldestfirst\",{\"_index\":4,\"name\":{\"4\":{},\"24\":{}},\"parent\":{}}],[\"getusersthathaverole\",{\"_index\":177,\"name\":{\"381\":{},\"396\":{},\"840\":{}},\"parent\":{}}],[\"hapi\",{\"_index\":25,\"name\":{\"39\":{},\"47\":{}},\"parent\":{}}],[\"headers\",{\"_index\":227,\"name\":{\"461\":{},\"469\":{},\"495\":{}},\"parent\":{}}],[\"id\",{\"_index\":190,\"name\":{\"410\":{},\"797\":{}},\"parent\":{}}],[\"index\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{\"1\":{},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"404\":{},\"408\":{}}}],[\"index.default\",{\"_index\":17,\"name\":{},\"parent\":{\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{},\"24\":{},\"25\":{},\"26\":{},\"27\":{},\"28\":{},\"29\":{},\"30\":{},\"31\":{},\"32\":{},\"33\":{},\"34\":{},\"35\":{}}}],[\"index.recipeuserid\",{\"_index\":187,\"name\":{},\"parent\":{\"405\":{},\"406\":{},\"407\":{}}}],[\"index.user\",{\"_index\":189,\"name\":{},\"parent\":{\"409\":{},\"410\":{},\"411\":{},\"412\":{},\"413\":{},\"414\":{},\"415\":{},\"416\":{},\"417\":{},\"418\":{}}}],[\"ingredientinterfaceimpl\",{\"_index\":45,\"name\":{\"83\":{},\"87\":{}},\"parent\":{}}],[\"ingredients/emaildelivery\",{\"_index\":43,\"name\":{\"80\":{}},\"parent\":{\"81\":{}}}],[\"ingredients/emaildelivery.default\",{\"_index\":44,\"name\":{},\"parent\":{\"82\":{},\"83\":{}}}],[\"ingredients/smsdelivery\",{\"_index\":46,\"name\":{\"84\":{}},\"parent\":{\"85\":{}}}],[\"ingredients/smsdelivery.default\",{\"_index\":47,\"name\":{},\"parent\":{\"86\":{},\"87\":{}}}],[\"init\",{\"_index\":1,\"name\":{\"1\":{},\"17\":{},\"89\":{},\"101\":{},\"115\":{},\"117\":{},\"121\":{},\"134\":{},\"149\":{},\"160\":{},\"174\":{},\"178\":{},\"184\":{},\"192\":{},\"213\":{},\"223\":{},\"235\":{},\"240\":{},\"247\":{},\"265\":{},\"285\":{},\"309\":{},\"335\":{},\"340\":{},\"347\":{},\"355\":{},\"365\":{},\"370\":{},\"377\":{},\"389\":{}},\"parent\":{}}],[\"isemailchangeallowed\",{\"_index\":58,\"name\":{\"99\":{},\"112\":{}},\"parent\":{}}],[\"isemailverified\",{\"_index\":79,\"name\":{\"155\":{},\"168\":{},\"573\":{}},\"parent\":{}}],[\"isemailverifiedget\",{\"_index\":291,\"name\":{\"589\":{}},\"parent\":{}}],[\"isinserverlessenv\",{\"_index\":265,\"name\":{\"538\":{},\"558\":{},\"582\":{},\"604\":{},\"644\":{},\"667\":{},\"695\":{},\"761\":{},\"790\":{},\"817\":{}},\"parent\":{}}],[\"isprimaryuser\",{\"_index\":191,\"name\":{\"411\":{}},\"parent\":{}}],[\"issigninallowed\",{\"_index\":57,\"name\":{\"98\":{},\"111\":{}},\"parent\":{}}],[\"issignupallowed\",{\"_index\":56,\"name\":{\"97\":{},\"110\":{}},\"parent\":{}}],[\"jsonobject\",{\"_index\":419,\"name\":{\"832\":{}},\"parent\":{}}],[\"jsonwebkey\",{\"_index\":304,\"name\":{\"611\":{}},\"parent\":{}}],[\"kid\",{\"_index\":308,\"name\":{\"614\":{}},\"parent\":{}}],[\"koa\",{\"_index\":27,\"name\":{\"41\":{},\"49\":{}},\"parent\":{}}],[\"kty\",{\"_index\":306,\"name\":{\"613\":{}},\"parent\":{}}],[\"link_email\",{\"_index\":102,\"name\":{\"200\":{},\"625\":{}},\"parent\":{}}],[\"link_phone\",{\"_index\":103,\"name\":{\"201\":{},\"626\":{}},\"parent\":{}}],[\"linkaccounts\",{\"_index\":52,\"name\":{\"93\":{},\"108\":{},\"522\":{}},\"parent\":{}}],[\"listalltenants\",{\"_index\":111,\"name\":{\"217\":{},\"228\":{},\"657\":{}},\"parent\":{}}],[\"listcodesbydeviceid\",{\"_index\":123,\"name\":{\"251\":{},\"277\":{},\"687\":{}},\"parent\":{}}],[\"listcodesbyemail\",{\"_index\":124,\"name\":{\"252\":{},\"275\":{},\"685\":{}},\"parent\":{}}],[\"listcodesbyphonenumber\",{\"_index\":125,\"name\":{\"253\":{},\"276\":{},\"686\":{}},\"parent\":{}}],[\"listcodesbypreauthsessionid\",{\"_index\":126,\"name\":{\"254\":{},\"278\":{},\"688\":{}},\"parent\":{}}],[\"listdevices\",{\"_index\":162,\"name\":{\"349\":{},\"359\":{},\"808\":{}},\"parent\":{}}],[\"listdevicesget\",{\"_index\":413,\"name\":{\"823\":{}},\"parent\":{}}],[\"listusersbyaccountinfo\",{\"_index\":12,\"name\":{\"12\":{},\"31\":{},\"525\":{}},\"parent\":{}}],[\"loginmethods\",{\"_index\":195,\"name\":{\"416\":{}},\"parent\":{}}],[\"loginmethodsget\",{\"_index\":333,\"name\":{\"675\":{}},\"parent\":{}}],[\"loopback\",{\"_index\":26,\"name\":{\"40\":{},\"48\":{}},\"parent\":{}}],[\"manuallycreateorupdateuser\",{\"_index\":158,\"name\":{\"338\":{},\"344\":{},\"779\":{}},\"parent\":{}}],[\"markfactorascompleteinsession\",{\"_index\":90,\"name\":{\"186\":{},\"206\":{},\"633\":{}},\"parent\":{}}],[\"mergeintoaccesstokenpayload\",{\"_index\":149,\"name\":{\"298\":{},\"325\":{},\"724\":{},\"742\":{}},\"parent\":{}}],[\"middleware\",{\"_index\":32,\"name\":{\"52\":{},\"56\":{},\"59\":{},\"73\":{},\"77\":{}},\"parent\":{}}],[\"multifactorauthclaim\",{\"_index\":96,\"name\":{\"194\":{},\"619\":{}},\"parent\":{}}],[\"n\",{\"_index\":309,\"name\":{\"615\":{}},\"parent\":{}}],[\"original\",{\"_index\":203,\"name\":{\"424\":{},\"442\":{},\"489\":{},\"505\":{}},\"parent\":{}}],[\"otp_email\",{\"_index\":100,\"name\":{\"198\":{},\"623\":{}},\"parent\":{}}],[\"otp_phone\",{\"_index\":101,\"name\":{\"199\":{},\"624\":{}},\"parent\":{}}],[\"overrideglobalclaimvalidators\",{\"_index\":351,\"name\":{\"711\":{}},\"parent\":{}}],[\"parsedjsonbody\",{\"_index\":200,\"name\":{\"421\":{}},\"parent\":{}}],[\"parsedurlencodedformdata\",{\"_index\":201,\"name\":{\"422\":{}},\"parent\":{}}],[\"passwordresetpost\",{\"_index\":281,\"name\":{\"566\":{}},\"parent\":{}}],[\"permissionclaim\",{\"_index\":185,\"name\":{\"391\":{},\"834\":{}},\"parent\":{}}],[\"phonenumberexistsget\",{\"_index\":345,\"name\":{\"706\":{}},\"parent\":{}}],[\"phonenumbers\",{\"_index\":194,\"name\":{\"414\":{}},\"parent\":{}}],[\"plugin\",{\"_index\":39,\"name\":{\"64\":{},\"69\":{}},\"parent\":{}}],[\"preparsedrequest\",{\"_index\":235,\"name\":{\"476\":{}},\"parent\":{}}],[\"providers\",{\"_index\":397,\"name\":{\"791\":{}},\"parent\":{}}],[\"recipe/accountlinking\",{\"_index\":48,\"name\":{\"88\":{}},\"parent\":{\"89\":{},\"90\":{},\"91\":{},\"92\":{},\"93\":{},\"94\":{},\"95\":{},\"96\":{},\"97\":{},\"98\":{},\"99\":{},\"100\":{},\"516\":{}}}],[\"recipe/accountlinking.default\",{\"_index\":59,\"name\":{},\"parent\":{\"101\":{},\"102\":{},\"103\":{},\"104\":{},\"105\":{},\"106\":{},\"107\":{},\"108\":{},\"109\":{},\"110\":{},\"111\":{},\"112\":{},\"113\":{}}}],[\"recipe/accountlinking.recipeinterface\",{\"_index\":250,\"name\":{},\"parent\":{\"517\":{}}}],[\"recipe/accountlinking.recipeinterface.__type\",{\"_index\":252,\"name\":{},\"parent\":{\"518\":{},\"519\":{},\"520\":{},\"521\":{},\"522\":{},\"523\":{},\"524\":{},\"525\":{},\"526\":{}}}],[\"recipe/dashboard\",{\"_index\":60,\"name\":{\"114\":{}},\"parent\":{\"115\":{},\"116\":{},\"527\":{},\"531\":{},\"540\":{}}}],[\"recipe/dashboard.apiinterface\",{\"_index\":268,\"name\":{},\"parent\":{\"541\":{}}}],[\"recipe/dashboard.apiinterface.__type\",{\"_index\":270,\"name\":{},\"parent\":{\"542\":{}}}],[\"recipe/dashboard.apioptions\",{\"_index\":258,\"name\":{},\"parent\":{\"532\":{}}}],[\"recipe/dashboard.apioptions.__type\",{\"_index\":260,\"name\":{},\"parent\":{\"533\":{},\"534\":{},\"535\":{},\"536\":{},\"537\":{},\"538\":{},\"539\":{}}}],[\"recipe/dashboard.default\",{\"_index\":61,\"name\":{},\"parent\":{\"117\":{},\"118\":{},\"119\":{}}}],[\"recipe/dashboard.recipeinterface\",{\"_index\":253,\"name\":{},\"parent\":{\"528\":{}}}],[\"recipe/dashboard.recipeinterface.__type\",{\"_index\":255,\"name\":{},\"parent\":{\"529\":{},\"530\":{}}}],[\"recipe/emailpassword\",{\"_index\":62,\"name\":{\"120\":{}},\"parent\":{\"121\":{},\"122\":{},\"123\":{},\"124\":{},\"125\":{},\"126\":{},\"127\":{},\"128\":{},\"129\":{},\"130\":{},\"131\":{},\"132\":{},\"133\":{},\"543\":{},\"552\":{},\"562\":{}}}],[\"recipe/emailpassword.apiinterface\",{\"_index\":277,\"name\":{},\"parent\":{\"563\":{}}}],[\"recipe/emailpassword.apiinterface.__type\",{\"_index\":279,\"name\":{},\"parent\":{\"564\":{},\"565\":{},\"566\":{},\"567\":{},\"568\":{}}}],[\"recipe/emailpassword.apioptions\",{\"_index\":274,\"name\":{},\"parent\":{\"553\":{}}}],[\"recipe/emailpassword.apioptions.__type\",{\"_index\":275,\"name\":{},\"parent\":{\"554\":{},\"555\":{},\"556\":{},\"557\":{},\"558\":{},\"559\":{},\"560\":{},\"561\":{}}}],[\"recipe/emailpassword.default\",{\"_index\":73,\"name\":{},\"parent\":{\"134\":{},\"135\":{},\"136\":{},\"137\":{},\"138\":{},\"139\":{},\"140\":{},\"141\":{},\"142\":{},\"143\":{},\"144\":{},\"145\":{},\"146\":{},\"147\":{}}}],[\"recipe/emailpassword.recipeinterface\",{\"_index\":271,\"name\":{},\"parent\":{\"544\":{}}}],[\"recipe/emailpassword.recipeinterface.__type\",{\"_index\":272,\"name\":{},\"parent\":{\"545\":{},\"546\":{},\"547\":{},\"548\":{},\"549\":{},\"550\":{},\"551\":{}}}],[\"recipe/emailverification\",{\"_index\":74,\"name\":{\"148\":{}},\"parent\":{\"149\":{},\"150\":{},\"151\":{},\"152\":{},\"153\":{},\"154\":{},\"155\":{},\"156\":{},\"157\":{},\"158\":{},\"159\":{},\"569\":{},\"576\":{},\"586\":{},\"591\":{},\"595\":{}}}],[\"recipe/emailverification.apiinterface\",{\"_index\":288,\"name\":{},\"parent\":{\"587\":{}}}],[\"recipe/emailverification.apiinterface.__type\",{\"_index\":290,\"name\":{},\"parent\":{\"588\":{},\"589\":{},\"590\":{}}}],[\"recipe/emailverification.apioptions\",{\"_index\":286,\"name\":{},\"parent\":{\"577\":{}}}],[\"recipe/emailverification.apioptions.__type\",{\"_index\":287,\"name\":{},\"parent\":{\"578\":{},\"579\":{},\"580\":{},\"581\":{},\"582\":{},\"583\":{},\"584\":{},\"585\":{}}}],[\"recipe/emailverification.default\",{\"_index\":82,\"name\":{},\"parent\":{\"160\":{},\"161\":{},\"162\":{},\"163\":{},\"164\":{},\"165\":{},\"166\":{},\"167\":{},\"168\":{},\"169\":{},\"170\":{},\"171\":{},\"172\":{}}}],[\"recipe/emailverification.recipeinterface\",{\"_index\":284,\"name\":{},\"parent\":{\"570\":{}}}],[\"recipe/emailverification.recipeinterface.__type\",{\"_index\":285,\"name\":{},\"parent\":{\"571\":{},\"572\":{},\"573\":{},\"574\":{},\"575\":{}}}],[\"recipe/emailverification.useremailinfo\",{\"_index\":294,\"name\":{},\"parent\":{\"592\":{}}}],[\"recipe/emailverification.useremailinfo.__type\",{\"_index\":295,\"name\":{},\"parent\":{\"593\":{},\"594\":{}}}],[\"recipe/jwt\",{\"_index\":84,\"name\":{\"173\":{}},\"parent\":{\"174\":{},\"175\":{},\"176\":{},\"177\":{},\"596\":{},\"599\":{},\"607\":{},\"611\":{}}}],[\"recipe/jwt.apiinterface\",{\"_index\":297,\"name\":{},\"parent\":{\"597\":{}}}],[\"recipe/jwt.apiinterface.__type\",{\"_index\":299,\"name\":{},\"parent\":{\"598\":{}}}],[\"recipe/jwt.apioptions\",{\"_index\":300,\"name\":{},\"parent\":{\"600\":{}}}],[\"recipe/jwt.apioptions.__type\",{\"_index\":301,\"name\":{},\"parent\":{\"601\":{},\"602\":{},\"603\":{},\"604\":{},\"605\":{},\"606\":{}}}],[\"recipe/jwt.default\",{\"_index\":87,\"name\":{},\"parent\":{\"178\":{},\"179\":{},\"180\":{},\"181\":{},\"182\":{}}}],[\"recipe/jwt.jsonwebkey\",{\"_index\":305,\"name\":{},\"parent\":{\"612\":{}}}],[\"recipe/jwt.jsonwebkey.__type\",{\"_index\":307,\"name\":{},\"parent\":{\"613\":{},\"614\":{},\"615\":{},\"616\":{},\"617\":{},\"618\":{}}}],[\"recipe/jwt.recipeinterface\",{\"_index\":302,\"name\":{},\"parent\":{\"608\":{}}}],[\"recipe/jwt.recipeinterface.__type\",{\"_index\":303,\"name\":{},\"parent\":{\"609\":{},\"610\":{}}}],[\"recipe/multifactorauth\",{\"_index\":88,\"name\":{\"183\":{}},\"parent\":{\"184\":{},\"185\":{},\"186\":{},\"187\":{},\"188\":{},\"189\":{},\"190\":{},\"191\":{},\"619\":{},\"620\":{},\"629\":{},\"638\":{},\"647\":{}}}],[\"recipe/multifactorauth.apiinterface\",{\"_index\":320,\"name\":{},\"parent\":{\"648\":{}}}],[\"recipe/multifactorauth.apiinterface.__type\",{\"_index\":322,\"name\":{},\"parent\":{\"649\":{}}}],[\"recipe/multifactorauth.apioptions\",{\"_index\":317,\"name\":{},\"parent\":{\"639\":{}}}],[\"recipe/multifactorauth.apioptions.__type\",{\"_index\":318,\"name\":{},\"parent\":{\"640\":{},\"641\":{},\"642\":{},\"643\":{},\"644\":{},\"645\":{},\"646\":{}}}],[\"recipe/multifactorauth.default\",{\"_index\":95,\"name\":{},\"parent\":{\"192\":{},\"193\":{},\"194\":{},\"195\":{},\"196\":{},\"204\":{},\"205\":{},\"206\":{},\"207\":{},\"208\":{},\"209\":{},\"210\":{},\"211\":{}}}],[\"recipe/multifactorauth.default.__type\",{\"_index\":99,\"name\":{},\"parent\":{\"197\":{},\"198\":{},\"199\":{},\"200\":{},\"201\":{},\"202\":{},\"203\":{}}}],[\"recipe/multifactorauth.factorids\",{\"_index\":313,\"name\":{},\"parent\":{\"621\":{}}}],[\"recipe/multifactorauth.factorids.__type\",{\"_index\":314,\"name\":{},\"parent\":{\"622\":{},\"623\":{},\"624\":{},\"625\":{},\"626\":{},\"627\":{},\"628\":{}}}],[\"recipe/multifactorauth.recipeinterface\",{\"_index\":315,\"name\":{},\"parent\":{\"630\":{}}}],[\"recipe/multifactorauth.recipeinterface.__type\",{\"_index\":316,\"name\":{},\"parent\":{\"631\":{},\"632\":{},\"633\":{},\"634\":{},\"635\":{},\"636\":{},\"637\":{}}}],[\"recipe/multitenancy\",{\"_index\":107,\"name\":{\"212\":{}},\"parent\":{\"213\":{},\"214\":{},\"215\":{},\"216\":{},\"217\":{},\"218\":{},\"219\":{},\"220\":{},\"221\":{},\"222\":{},\"650\":{},\"651\":{},\"662\":{},\"673\":{}}}],[\"recipe/multitenancy.apiinterface\",{\"_index\":332,\"name\":{},\"parent\":{\"674\":{}}}],[\"recipe/multitenancy.apiinterface.__type\",{\"_index\":334,\"name\":{},\"parent\":{\"675\":{}}}],[\"recipe/multitenancy.apioptions\",{\"_index\":327,\"name\":{},\"parent\":{\"663\":{}}}],[\"recipe/multitenancy.apioptions.__type\",{\"_index\":328,\"name\":{},\"parent\":{\"664\":{},\"665\":{},\"666\":{},\"667\":{},\"668\":{},\"669\":{},\"670\":{},\"671\":{},\"672\":{}}}],[\"recipe/multitenancy.default\",{\"_index\":116,\"name\":{},\"parent\":{\"223\":{},\"224\":{},\"225\":{},\"226\":{},\"227\":{},\"228\":{},\"229\":{},\"230\":{},\"231\":{},\"232\":{},\"233\":{}}}],[\"recipe/multitenancy.recipeinterface\",{\"_index\":324,\"name\":{},\"parent\":{\"652\":{}}}],[\"recipe/multitenancy.recipeinterface.__type\",{\"_index\":326,\"name\":{},\"parent\":{\"653\":{},\"654\":{},\"655\":{},\"656\":{},\"657\":{},\"658\":{},\"659\":{},\"660\":{},\"661\":{}}}],[\"recipe/openid\",{\"_index\":117,\"name\":{\"234\":{}},\"parent\":{\"235\":{},\"236\":{},\"237\":{},\"238\":{},\"239\":{}}}],[\"recipe/openid.default\",{\"_index\":119,\"name\":{},\"parent\":{\"240\":{},\"241\":{},\"242\":{},\"243\":{},\"244\":{},\"245\":{}}}],[\"recipe/passwordless\",{\"_index\":120,\"name\":{\"246\":{}},\"parent\":{\"247\":{},\"248\":{},\"249\":{},\"250\":{},\"251\":{},\"252\":{},\"253\":{},\"254\":{},\"255\":{},\"256\":{},\"257\":{},\"258\":{},\"259\":{},\"260\":{},\"261\":{},\"262\":{},\"263\":{},\"264\":{},\"676\":{},\"689\":{},\"700\":{}}}],[\"recipe/passwordless.apiinterface\",{\"_index\":340,\"name\":{},\"parent\":{\"701\":{}}}],[\"recipe/passwordless.apiinterface.__type\",{\"_index\":342,\"name\":{},\"parent\":{\"702\":{},\"703\":{},\"704\":{},\"705\":{},\"706\":{}}}],[\"recipe/passwordless.apioptions\",{\"_index\":337,\"name\":{},\"parent\":{\"690\":{}}}],[\"recipe/passwordless.apioptions.__type\",{\"_index\":338,\"name\":{},\"parent\":{\"691\":{},\"692\":{},\"693\":{},\"694\":{},\"695\":{},\"696\":{},\"697\":{},\"698\":{},\"699\":{}}}],[\"recipe/passwordless.default\",{\"_index\":135,\"name\":{},\"parent\":{\"265\":{},\"266\":{},\"267\":{},\"268\":{},\"269\":{},\"270\":{},\"271\":{},\"272\":{},\"273\":{},\"274\":{},\"275\":{},\"276\":{},\"277\":{},\"278\":{},\"279\":{},\"280\":{},\"281\":{},\"282\":{},\"283\":{}}}],[\"recipe/passwordless.recipeinterface\",{\"_index\":335,\"name\":{},\"parent\":{\"677\":{}}}],[\"recipe/passwordless.recipeinterface.__type\",{\"_index\":336,\"name\":{},\"parent\":{\"678\":{},\"679\":{},\"680\":{},\"681\":{},\"682\":{},\"683\":{},\"684\":{},\"685\":{},\"686\":{},\"687\":{},\"688\":{}}}],[\"recipe/session\",{\"_index\":136,\"name\":{\"284\":{}},\"parent\":{\"285\":{},\"286\":{},\"287\":{},\"288\":{},\"289\":{},\"290\":{},\"291\":{},\"292\":{},\"293\":{},\"294\":{},\"295\":{},\"296\":{},\"297\":{},\"298\":{},\"299\":{},\"300\":{},\"301\":{},\"302\":{},\"303\":{},\"304\":{},\"305\":{},\"306\":{},\"307\":{},\"308\":{},\"707\":{},\"712\":{},\"731\":{},\"751\":{},\"756\":{},\"764\":{},\"774\":{}}}],[\"recipe/session.apiinterface\",{\"_index\":370,\"name\":{},\"parent\":{\"752\":{}}}],[\"recipe/session.apiinterface.__type\",{\"_index\":372,\"name\":{},\"parent\":{\"753\":{},\"754\":{},\"755\":{}}}],[\"recipe/session.apioptions\",{\"_index\":375,\"name\":{},\"parent\":{\"757\":{}}}],[\"recipe/session.apioptions.__type\",{\"_index\":376,\"name\":{},\"parent\":{\"758\":{},\"759\":{},\"760\":{},\"761\":{},\"762\":{},\"763\":{}}}],[\"recipe/session.default\",{\"_index\":155,\"name\":{},\"parent\":{\"309\":{},\"310\":{},\"311\":{},\"312\":{},\"313\":{},\"314\":{},\"315\":{},\"316\":{},\"317\":{},\"318\":{},\"319\":{},\"320\":{},\"321\":{},\"322\":{},\"323\":{},\"324\":{},\"325\":{},\"326\":{},\"327\":{},\"328\":{},\"329\":{},\"330\":{},\"331\":{},\"332\":{},\"333\":{}}}],[\"recipe/session.recipeinterface\",{\"_index\":352,\"name\":{},\"parent\":{\"713\":{}}}],[\"recipe/session.recipeinterface.__type\",{\"_index\":353,\"name\":{},\"parent\":{\"714\":{},\"715\":{},\"716\":{},\"717\":{},\"718\":{},\"719\":{},\"720\":{},\"721\":{},\"722\":{},\"723\":{},\"724\":{},\"725\":{},\"726\":{},\"727\":{},\"728\":{},\"729\":{},\"730\":{}}}],[\"recipe/session.sessioncontainer\",{\"_index\":358,\"name\":{},\"parent\":{\"732\":{},\"733\":{},\"734\":{},\"735\":{},\"736\":{},\"737\":{},\"738\":{},\"739\":{},\"740\":{},\"741\":{},\"742\":{},\"743\":{},\"744\":{},\"745\":{},\"746\":{},\"747\":{},\"748\":{},\"749\":{},\"750\":{}}}],[\"recipe/session.sessioninformation\",{\"_index\":378,\"name\":{},\"parent\":{\"765\":{}}}],[\"recipe/session.sessioninformation.__type\",{\"_index\":380,\"name\":{},\"parent\":{\"766\":{},\"767\":{},\"768\":{},\"769\":{},\"770\":{},\"771\":{},\"772\":{},\"773\":{}}}],[\"recipe/session.verifysessionoptions\",{\"_index\":348,\"name\":{},\"parent\":{\"708\":{},\"709\":{},\"710\":{},\"711\":{}}}],[\"recipe/thirdparty\",{\"_index\":156,\"name\":{\"334\":{}},\"parent\":{\"335\":{},\"336\":{},\"337\":{},\"338\":{},\"339\":{},\"775\":{},\"780\":{},\"785\":{},\"795\":{}}}],[\"recipe/thirdparty.apiinterface\",{\"_index\":390,\"name\":{},\"parent\":{\"781\":{}}}],[\"recipe/thirdparty.apiinterface.__type\",{\"_index\":392,\"name\":{},\"parent\":{\"782\":{},\"783\":{},\"784\":{}}}],[\"recipe/thirdparty.apioptions\",{\"_index\":395,\"name\":{},\"parent\":{\"786\":{}}}],[\"recipe/thirdparty.apioptions.__type\",{\"_index\":396,\"name\":{},\"parent\":{\"787\":{},\"788\":{},\"789\":{},\"790\":{},\"791\":{},\"792\":{},\"793\":{},\"794\":{}}}],[\"recipe/thirdparty.default\",{\"_index\":159,\"name\":{},\"parent\":{\"340\":{},\"341\":{},\"342\":{},\"343\":{},\"344\":{},\"345\":{}}}],[\"recipe/thirdparty.recipeinterface\",{\"_index\":388,\"name\":{},\"parent\":{\"776\":{}}}],[\"recipe/thirdparty.recipeinterface.__type\",{\"_index\":389,\"name\":{},\"parent\":{\"777\":{},\"778\":{},\"779\":{}}}],[\"recipe/thirdparty.typeprovider\",{\"_index\":399,\"name\":{},\"parent\":{\"796\":{}}}],[\"recipe/thirdparty.typeprovider.__type\",{\"_index\":400,\"name\":{},\"parent\":{\"797\":{},\"798\":{},\"799\":{},\"800\":{},\"801\":{},\"802\":{}}}],[\"recipe/totp\",{\"_index\":160,\"name\":{\"346\":{}},\"parent\":{\"347\":{},\"348\":{},\"349\":{},\"350\":{},\"351\":{},\"352\":{},\"353\":{},\"354\":{},\"803\":{},\"812\":{},\"820\":{}}}],[\"recipe/totp.apiinterface\",{\"_index\":410,\"name\":{},\"parent\":{\"821\":{}}}],[\"recipe/totp.apiinterface.__type\",{\"_index\":412,\"name\":{},\"parent\":{\"822\":{},\"823\":{},\"824\":{},\"825\":{},\"826\":{}}}],[\"recipe/totp.apioptions\",{\"_index\":408,\"name\":{},\"parent\":{\"813\":{}}}],[\"recipe/totp.apioptions.__type\",{\"_index\":409,\"name\":{},\"parent\":{\"814\":{},\"815\":{},\"816\":{},\"817\":{},\"818\":{},\"819\":{}}}],[\"recipe/totp.default\",{\"_index\":167,\"name\":{},\"parent\":{\"355\":{},\"356\":{},\"357\":{},\"358\":{},\"359\":{},\"360\":{},\"361\":{},\"362\":{},\"363\":{}}}],[\"recipe/totp.recipeinterface\",{\"_index\":405,\"name\":{},\"parent\":{\"804\":{}}}],[\"recipe/totp.recipeinterface.__type\",{\"_index\":407,\"name\":{},\"parent\":{\"805\":{},\"806\":{},\"807\":{},\"808\":{},\"809\":{},\"810\":{},\"811\":{}}}],[\"recipe/usermetadata\",{\"_index\":168,\"name\":{\"364\":{}},\"parent\":{\"365\":{},\"366\":{},\"367\":{},\"368\":{},\"369\":{},\"827\":{},\"832\":{}}}],[\"recipe/usermetadata.default\",{\"_index\":172,\"name\":{},\"parent\":{\"370\":{},\"371\":{},\"372\":{},\"373\":{},\"374\":{},\"375\":{}}}],[\"recipe/usermetadata.recipeinterface\",{\"_index\":417,\"name\":{},\"parent\":{\"828\":{}}}],[\"recipe/usermetadata.recipeinterface.__type\",{\"_index\":418,\"name\":{},\"parent\":{\"829\":{},\"830\":{},\"831\":{}}}],[\"recipe/userroles\",{\"_index\":173,\"name\":{\"376\":{}},\"parent\":{\"377\":{},\"378\":{},\"379\":{},\"380\":{},\"381\":{},\"382\":{},\"383\":{},\"384\":{},\"385\":{},\"386\":{},\"387\":{},\"388\":{},\"833\":{},\"834\":{},\"835\":{}}}],[\"recipe/userroles.default\",{\"_index\":184,\"name\":{},\"parent\":{\"389\":{},\"390\":{},\"391\":{},\"392\":{},\"393\":{},\"394\":{},\"395\":{},\"396\":{},\"397\":{},\"398\":{},\"399\":{},\"400\":{},\"401\":{},\"402\":{},\"403\":{}}}],[\"recipe/userroles.recipeinterface\",{\"_index\":420,\"name\":{},\"parent\":{\"836\":{}}}],[\"recipe/userroles.recipeinterface.__type\",{\"_index\":421,\"name\":{},\"parent\":{\"837\":{},\"838\":{},\"839\":{},\"840\":{},\"841\":{},\"842\":{},\"843\":{},\"844\":{},\"845\":{},\"846\":{}}}],[\"recipeid\",{\"_index\":262,\"name\":{\"535\":{},\"557\":{},\"581\":{},\"603\":{},\"643\":{},\"666\":{},\"694\":{},\"760\":{},\"789\":{},\"816\":{}},\"parent\":{}}],[\"recipeimplementation\",{\"_index\":259,\"name\":{\"533\":{},\"554\":{},\"578\":{},\"601\":{},\"640\":{},\"664\":{},\"691\":{},\"758\":{},\"787\":{},\"814\":{}},\"parent\":{}}],[\"recipeinstance\",{\"_index\":319,\"name\":{\"641\":{}},\"parent\":{}}],[\"recipeinterface\",{\"_index\":249,\"name\":{\"516\":{},\"527\":{},\"543\":{},\"569\":{},\"607\":{},\"629\":{},\"651\":{},\"676\":{},\"712\":{},\"775\":{},\"803\":{},\"827\":{},\"835\":{}},\"parent\":{}}],[\"recipeuserid\",{\"_index\":19,\"name\":{\"20\":{},\"404\":{},\"406\":{},\"593\":{},\"768\":{}},\"parent\":{}}],[\"refreshpost\",{\"_index\":371,\"name\":{\"753\":{}},\"parent\":{}}],[\"refreshsession\",{\"_index\":142,\"name\":{\"291\":{},\"318\":{},\"717\":{}},\"parent\":{}}],[\"refreshsessionwithoutrequestresponse\",{\"_index\":143,\"name\":{\"292\":{},\"319\":{}},\"parent\":{}}],[\"regenerateaccesstoken\",{\"_index\":355,\"name\":{\"725\":{}},\"parent\":{}}],[\"removeclaim\",{\"_index\":153,\"name\":{\"302\":{},\"332\":{},\"730\":{},\"749\":{}},\"parent\":{}}],[\"removedevice\",{\"_index\":164,\"name\":{\"351\":{},\"360\":{},\"809\":{}},\"parent\":{}}],[\"removedevicepost\",{\"_index\":414,\"name\":{\"824\":{}},\"parent\":{}}],[\"removefromrequiredsecondaryfactorsforuser\",{\"_index\":94,\"name\":{\"190\":{},\"210\":{},\"637\":{}},\"parent\":{}}],[\"removeheader\",{\"_index\":216,\"name\":{\"445\":{},\"500\":{}},\"parent\":{}}],[\"removepermissionsfromrole\",{\"_index\":180,\"name\":{\"384\":{},\"399\":{},\"843\":{}},\"parent\":{}}],[\"removeuserrole\",{\"_index\":175,\"name\":{\"379\":{},\"394\":{},\"838\":{}},\"parent\":{}}],[\"req\",{\"_index\":263,\"name\":{\"536\":{},\"559\":{},\"583\":{},\"605\":{},\"645\":{},\"668\":{},\"696\":{},\"762\":{},\"792\":{},\"818\":{}},\"parent\":{}}],[\"request\",{\"_index\":237,\"name\":{\"478\":{}},\"parent\":{}}],[\"res\",{\"_index\":264,\"name\":{\"537\":{},\"560\":{},\"584\":{},\"606\":{},\"646\":{},\"669\":{},\"697\":{},\"763\":{},\"793\":{},\"819\":{}},\"parent\":{}}],[\"resendcodepost\",{\"_index\":343,\"name\":{\"703\":{}},\"parent\":{}}],[\"resetpasswordusingtoken\",{\"_index\":67,\"name\":{\"127\":{},\"141\":{}},\"parent\":{}}],[\"response\",{\"_index\":225,\"name\":{\"459\":{},\"467\":{}},\"parent\":{}}],[\"resyncsessionandfetchmfainfoput\",{\"_index\":321,\"name\":{\"649\":{}},\"parent\":{}}],[\"revokeallcodes\",{\"_index\":129,\"name\":{\"257\":{},\"273\":{},\"683\":{}},\"parent\":{}}],[\"revokeallsessionsforuser\",{\"_index\":144,\"name\":{\"293\":{},\"320\":{},\"719\":{}},\"parent\":{}}],[\"revokecode\",{\"_index\":130,\"name\":{\"258\":{},\"274\":{},\"684\":{}},\"parent\":{}}],[\"revokeemailverificationtokens\",{\"_index\":80,\"name\":{\"156\":{},\"169\":{},\"574\":{}},\"parent\":{}}],[\"revokemultiplesessions\",{\"_index\":147,\"name\":{\"296\":{},\"323\":{},\"722\":{}},\"parent\":{}}],[\"revokesession\",{\"_index\":146,\"name\":{\"295\":{},\"322\":{},\"721\":{},\"732\":{}},\"parent\":{}}],[\"sendemail\",{\"_index\":72,\"name\":{\"132\":{},\"146\":{},\"158\":{},\"171\":{},\"262\":{},\"281\":{}},\"parent\":{}}],[\"sendemailverificationemail\",{\"_index\":77,\"name\":{\"153\":{},\"166\":{}},\"parent\":{}}],[\"sendhtmlresponse\",{\"_index\":220,\"name\":{\"453\":{},\"498\":{}},\"parent\":{}}],[\"sendjsonresponse\",{\"_index\":219,\"name\":{\"451\":{},\"503\":{}},\"parent\":{}}],[\"sendresetpasswordemail\",{\"_index\":71,\"name\":{\"131\":{},\"145\":{}},\"parent\":{}}],[\"sendsms\",{\"_index\":134,\"name\":{\"263\":{},\"282\":{}},\"parent\":{}}],[\"session\",{\"_index\":222,\"name\":{\"456\":{},\"464\":{},\"480\":{},\"507\":{},\"510\":{},\"513\":{},\"515\":{}},\"parent\":{}}],[\"sessionclaimvalidator\",{\"_index\":387,\"name\":{\"774\":{}},\"parent\":{}}],[\"sessioncontainer\",{\"_index\":357,\"name\":{\"731\":{}},\"parent\":{}}],[\"sessioncontext\",{\"_index\":246,\"name\":{\"512\":{},\"514\":{}},\"parent\":{}}],[\"sessiondataindatabase\",{\"_index\":382,\"name\":{\"769\":{}},\"parent\":{}}],[\"sessionevent\",{\"_index\":221,\"name\":{\"455\":{}},\"parent\":{}}],[\"sessioneventv2\",{\"_index\":230,\"name\":{\"463\":{}},\"parent\":{}}],[\"sessionhandle\",{\"_index\":379,\"name\":{\"766\":{}},\"parent\":{}}],[\"sessioninformation\",{\"_index\":377,\"name\":{\"764\":{}},\"parent\":{}}],[\"sessionrequest\",{\"_index\":243,\"name\":{\"506\":{},\"508\":{},\"509\":{}},\"parent\":{}}],[\"sessionrequired\",{\"_index\":349,\"name\":{\"709\":{}},\"parent\":{}}],[\"setclaimvalue\",{\"_index\":151,\"name\":{\"300\":{},\"330\":{},\"728\":{},\"747\":{}},\"parent\":{}}],[\"setcookie\",{\"_index\":217,\"name\":{\"447\":{},\"501\":{}},\"parent\":{}}],[\"setheader\",{\"_index\":215,\"name\":{\"443\":{},\"499\":{}},\"parent\":{}}],[\"setstatuscode\",{\"_index\":218,\"name\":{\"449\":{},\"502\":{}},\"parent\":{}}],[\"shouldallowaccess\",{\"_index\":256,\"name\":{\"530\":{}},\"parent\":{}}],[\"signin\",{\"_index\":64,\"name\":{\"124\":{},\"138\":{},\"547\":{}},\"parent\":{}}],[\"signinpost\",{\"_index\":282,\"name\":{\"567\":{}},\"parent\":{}}],[\"signinup\",{\"_index\":132,\"name\":{\"260\":{},\"280\":{},\"778\":{}},\"parent\":{}}],[\"signinuppost\",{\"_index\":393,\"name\":{\"783\":{}},\"parent\":{}}],[\"signoutpost\",{\"_index\":373,\"name\":{\"754\":{}},\"parent\":{}}],[\"signup\",{\"_index\":63,\"name\":{\"123\":{},\"137\":{},\"545\":{}},\"parent\":{}}],[\"signuppost\",{\"_index\":283,\"name\":{\"568\":{}},\"parent\":{}}],[\"smsdelivery\",{\"_index\":339,\"name\":{\"699\":{}},\"parent\":{}}],[\"staticfirstfactors\",{\"_index\":331,\"name\":{\"672\":{}},\"parent\":{}}],[\"staticthirdpartyproviders\",{\"_index\":329,\"name\":{\"670\":{}},\"parent\":{}}],[\"statuscode\",{\"_index\":241,\"name\":{\"494\":{}},\"parent\":{}}],[\"supertokens\",{\"_index\":224,\"name\":{\"457\":{},\"465\":{}},\"parent\":{}}],[\"tenantid\",{\"_index\":386,\"name\":{\"773\":{}},\"parent\":{}}],[\"tenantids\",{\"_index\":192,\"name\":{\"412\":{}},\"parent\":{}}],[\"thirdparty\",{\"_index\":104,\"name\":{\"202\":{},\"415\":{},\"627\":{}},\"parent\":{}}],[\"timecreated\",{\"_index\":385,\"name\":{\"772\":{}},\"parent\":{}}],[\"timejoined\",{\"_index\":196,\"name\":{\"417\":{}},\"parent\":{}}],[\"tojson\",{\"_index\":197,\"name\":{\"418\":{}},\"parent\":{}}],[\"totp\",{\"_index\":105,\"name\":{\"203\":{},\"628\":{}},\"parent\":{}}],[\"typeprovider\",{\"_index\":398,\"name\":{\"795\":{}},\"parent\":{}}],[\"unlinkaccount\",{\"_index\":53,\"name\":{\"94\":{},\"109\":{},\"523\":{}},\"parent\":{}}],[\"unverifyemail\",{\"_index\":81,\"name\":{\"157\":{},\"170\":{},\"575\":{}},\"parent\":{}}],[\"updatedevice\",{\"_index\":163,\"name\":{\"350\":{},\"358\":{},\"807\":{}},\"parent\":{}}],[\"updateemailorpassword\",{\"_index\":69,\"name\":{\"129\":{},\"143\":{},\"551\":{}},\"parent\":{}}],[\"updateordeleteuseridmappinginfo\",{\"_index\":10,\"name\":{\"10\":{},\"29\":{}},\"parent\":{}}],[\"updatesessiondataindatabase\",{\"_index\":148,\"name\":{\"297\":{},\"324\":{},\"723\":{},\"734\":{}},\"parent\":{}}],[\"updateuser\",{\"_index\":128,\"name\":{\"256\":{},\"272\":{},\"682\":{}},\"parent\":{}}],[\"updateusermetadata\",{\"_index\":170,\"name\":{\"367\":{},\"373\":{},\"830\":{}},\"parent\":{}}],[\"use\",{\"_index\":312,\"name\":{\"618\":{}},\"parent\":{}}],[\"user\",{\"_index\":20,\"name\":{\"21\":{},\"408\":{}},\"parent\":{}}],[\"useremailinfo\",{\"_index\":293,\"name\":{\"591\":{}},\"parent\":{}}],[\"userid\",{\"_index\":381,\"name\":{\"767\":{}},\"parent\":{}}],[\"userroleclaim\",{\"_index\":186,\"name\":{\"392\":{},\"833\":{}},\"parent\":{}}],[\"validateclaims\",{\"_index\":356,\"name\":{\"726\":{}},\"parent\":{}}],[\"validateclaimsforsessionhandle\",{\"_index\":154,\"name\":{\"303\":{},\"314\":{}},\"parent\":{}}],[\"verifycredentials\",{\"_index\":65,\"name\":{\"125\":{},\"139\":{},\"548\":{}},\"parent\":{}}],[\"verifydevice\",{\"_index\":165,\"name\":{\"352\":{},\"361\":{},\"810\":{}},\"parent\":{}}],[\"verifydevicepost\",{\"_index\":415,\"name\":{\"825\":{}},\"parent\":{}}],[\"verifyemailpost\",{\"_index\":289,\"name\":{\"588\":{}},\"parent\":{}}],[\"verifyemailusingtoken\",{\"_index\":78,\"name\":{\"154\":{},\"167\":{},\"572\":{}},\"parent\":{}}],[\"verifysession\",{\"_index\":374,\"name\":{\"755\":{}},\"parent\":{}}],[\"verifysessionoptions\",{\"_index\":346,\"name\":{\"707\":{}},\"parent\":{}}],[\"verifytotp\",{\"_index\":166,\"name\":{\"353\":{},\"362\":{},\"811\":{}},\"parent\":{}}],[\"verifytotppost\",{\"_index\":416,\"name\":{\"826\":{}},\"parent\":{}}],[\"wrapperused\",{\"_index\":202,\"name\":{\"423\":{},\"441\":{},\"488\":{},\"504\":{}},\"parent\":{}}],[\"wraprequest\",{\"_index\":33,\"name\":{\"53\":{},\"61\":{},\"66\":{},\"70\":{},\"74\":{},\"78\":{}},\"parent\":{}}],[\"wrapresponse\",{\"_index\":34,\"name\":{\"54\":{},\"62\":{},\"67\":{},\"71\":{},\"75\":{},\"79\":{}},\"parent\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 000000000..6127b27cd --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1414 @@ +@import url("./icons.css"); + +:root { + /* Light */ + --light-color-background: #fcfcfc; + --light-color-secondary-background: #fff; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-menu-divider: #eee; + --light-color-menu-divider-focus: #000; + --light-color-menu-label: #707070; + --light-color-panel: var(--light-color-secondary-background); + --light-color-panel-divider: #eee; + --light-color-comment-tag: #707070; + --light-color-comment-tag-text: #fff; + --light-color-ts: #9600ff; + --light-color-ts-interface: #647f1b; + --light-color-ts-enum: #937210; + --light-color-ts-class: #0672de; + --light-color-ts-private: #707070; + --light-color-toolbar: #fff; + --light-color-toolbar-text: #333; + --light-icon-filter: invert(0); + --light-external-icon: url("data:image/svg+xml;utf8,"); + + /* Dark */ + --dark-color-background: #36393f; + --dark-color-secondary-background: #2f3136; + --dark-color-text: #ffffff; + --dark-color-text-aside: #e6e4e4; + --dark-color-link: #00aff4; + --dark-color-menu-divider: #eee; + --dark-color-menu-divider-focus: #000; + --dark-color-menu-label: #707070; + --dark-color-panel: var(--dark-color-secondary-background); + --dark-color-panel-divider: #818181; + --dark-color-comment-tag: #dcddde; + --dark-color-comment-tag-text: #2f3136; + --dark-color-ts: #c97dff; + --dark-color-ts-interface: #9cbe3c; + --dark-color-ts-enum: #d6ab29; + --dark-color-ts-class: #3695f3; + --dark-color-ts-private: #e2e2e2; + --dark-color-toolbar: #34373c; + --dark-color-toolbar-text: #ffffff; + --dark-icon-filter: invert(1); + --dark-external-icon: url("data:image/svg+xml;utf8,"); +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); + } +} + +body { + margin: 0; +} + +body.light { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); +} + +body.dark { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, +.tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-4 { + width: 33.3333333333%; +} +.col-8 { + width: 66.6666666667%; +} + +ul.tsd-descriptions > li > :first-child, +.tsd-panel > :first-child, +.col-8 > :first-child, +.col-4 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, +.tsd-panel > :last-child, +.col-8 > :last-child, +.col-4 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html .col-content { + width: 72%; + } + html .col-menu { + width: 28%; + } + html .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html .col-content { + float: none; + width: 100%; + } + html .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + grid-template-rows: auto 1fr; + max-height: 100vh; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, +dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, +dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, + #tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer:after { + content: ""; + display: table; +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: sticky; + top: calc(0.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, +.tsd-panel table td { + padding: 6px 13px; + border: 1px solid var(--color-panel-divider); +} +.tsd-panel table tr { + background: var(--color-background); +} +.tsd-panel table tr:nth-child(even) { + background: var(--color-secondary-background); +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, +ul.tsd-descriptions .tsd-index-panel h3, +.tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, +.tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, +.tsd-select .tsd-select-label:before, +.tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(./widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; + filter: var(--icon-filter); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, + .tsd-select .tsd-select-label:before, + .tsd-widget:before { + background-image: url(./widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + margin-left: 10px; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} diff --git a/docs/assets/widgets.png b/docs/assets/widgets.png new file mode 100644 index 000000000..c7380532a Binary files /dev/null and b/docs/assets/widgets.png differ diff --git a/docs/assets/widgets@2x.png b/docs/assets/widgets@2x.png new file mode 100644 index 000000000..4bbbd5727 Binary files /dev/null and b/docs/assets/widgets@2x.png differ diff --git a/docs/classes/framework.BaseRequest.html b/docs/classes/framework.BaseRequest.html new file mode 100644 index 000000000..52774ac43 --- /dev/null +++ b/docs/classes/framework.BaseRequest.html @@ -0,0 +1 @@ +BaseRequest | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BaseRequest Abstract

Hierarchy

Index

Constructors

Properties

getCookieValue: ((key_: string) => undefined | string)

Type declaration

    • (key_: string): undefined | string
    • Parameters

      • key_: string

      Returns undefined | string

getHeaderValue: ((key: string) => undefined | string)

Type declaration

    • (key: string): undefined | string
    • Parameters

      • key: string

      Returns undefined | string

getKeyValueFromQuery: ((key: string) => undefined | string)

Type declaration

    • (key: string): undefined | string
    • Parameters

      • key: string

      Returns undefined | string

getMethod: (() => HTTPMethod)

Type declaration

    • (): HTTPMethod
    • Returns HTTPMethod

getOriginalURL: (() => string)

Type declaration

    • (): string
    • Returns string

original: any
parsedJSONBody: any
parsedUrlEncodedFormData: any
wrapperUsed: boolean

Methods

  • getFormData(): Promise<any>
  • getFormDataFromRequestBody(): Promise<any>
  • getJSONBody(): Promise<any>
  • getJSONFromRequestBody(): Promise<any>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Interface
  • Protected method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/framework.BaseResponse.html b/docs/classes/framework.BaseResponse.html new file mode 100644 index 000000000..7610d78a6 --- /dev/null +++ b/docs/classes/framework.BaseResponse.html @@ -0,0 +1 @@ +BaseResponse | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BaseResponse Abstract

Hierarchy

Index

Constructors

Properties

original: any
removeHeader: ((key: string) => void)

Type declaration

    • (key: string): void
    • Parameters

      • key: string

      Returns void

sendHTMLResponse: ((html: string) => void)

Type declaration

    • (html: string): void
    • Parameters

      • html: string

      Returns void

sendJSONResponse: ((content: any) => void)

Type declaration

    • (content: any): void
    • Parameters

      • content: any

      Returns void

setCookie: ((key: string, value: string, domain: undefined | string, secure: boolean, httpOnly: boolean, expires: number, path: string, sameSite: "strict" | "lax" | "none") => void)

Type declaration

    • (key: string, value: string, domain: undefined | string, secure: boolean, httpOnly: boolean, expires: number, path: string, sameSite: "strict" | "lax" | "none"): void
    • Parameters

      • key: string
      • value: string
      • domain: undefined | string
      • secure: boolean
      • httpOnly: boolean
      • expires: number
      • path: string
      • sameSite: "strict" | "lax" | "none"

      Returns void

setHeader: ((key: string, value: string, allowDuplicateKey: boolean) => void)

Type declaration

    • (key: string, value: string, allowDuplicateKey: boolean): void
    • Parameters

      • key: string
      • value: string
      • allowDuplicateKey: boolean

      Returns void

setStatusCode: ((statusCode: number) => void)

Type declaration

    • (statusCode: number): void
    • Parameters

      • statusCode: number

      Returns void

wrapperUsed: boolean

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/framework_custom.CollectingResponse.html b/docs/classes/framework_custom.CollectingResponse.html new file mode 100644 index 000000000..0d00877c7 --- /dev/null +++ b/docs/classes/framework_custom.CollectingResponse.html @@ -0,0 +1,2 @@ +CollectingResponse | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Constructors

Properties

body?: string
cookies: CookieInfo[]
headers: Headers
original: any
statusCode: number
wrapperUsed: boolean

Methods

  • removeHeader(key: string): void
  • sendHTMLResponse(html: string): void
  • sendJSONResponse(content: any): void
  • setCookie(key: string, value: string, domain: undefined | string, secure: boolean, httpOnly: boolean, expires: number, path: string, sameSite: "strict" | "lax" | "none"): void
  • Parameters

    • key: string
    • value: string
    • domain: undefined | string
    • secure: boolean
    • httpOnly: boolean
    • expires: number
    • path: string
    • sameSite: "strict" | "lax" | "none"

    Returns void

  • setHeader(key: string, value: string, allowDuplicateKey: boolean): void
  • setStatusCode(statusCode: number): void

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Interface
  • Inherited property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/framework_custom.PreParsedRequest.html b/docs/classes/framework_custom.PreParsedRequest.html new file mode 100644 index 000000000..4a9a4f9f0 --- /dev/null +++ b/docs/classes/framework_custom.PreParsedRequest.html @@ -0,0 +1 @@ +PreParsedRequest | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Constructors

Properties

_session?: SessionContainer
original: any
request: RequestInfo
wrapperUsed: boolean

Accessors

Methods

  • getCookieValue(key: string): undefined | string
  • getFormData(): Promise<any>
  • getFormDataFromRequestBody(): Promise<any>
  • getHeaderValue(key: string): undefined | string
  • getJSONBody(): Promise<any>
  • getJSONFromRequestBody(): Promise<any>
  • getKeyValueFromQuery(key: string): undefined | string
  • getMethod(): HTTPMethod
  • getOriginalURL(): string

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Method
  • Accessor
  • Inherited property
  • Inherited method
  • Interface
  • Protected method
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/index.RecipeUserId.html b/docs/classes/index.RecipeUserId.html new file mode 100644 index 000000000..7015e1a4f --- /dev/null +++ b/docs/classes/index.RecipeUserId.html @@ -0,0 +1 @@ +RecipeUserId | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Method
  • Interface
  • Private property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/index.User.html b/docs/classes/index.User.html new file mode 100644 index 000000000..bd62d8106 --- /dev/null +++ b/docs/classes/index.User.html @@ -0,0 +1 @@ +User | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • User

Implements

  • User

Index

Constructors

  • new User(user: UserWithoutHelperFunctions): User

Properties

emails: string[]
id: string
isPrimaryUser: boolean
loginMethods: LoginMethod[]
phoneNumbers: string[]
tenantIds: string[]
thirdParty: { id: string; userId: string }[]
timeJoined: number

Methods

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/index.default.html b/docs/classes/index.default.html new file mode 100644 index 000000000..eb462d5cb --- /dev/null +++ b/docs/classes/index.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Error: typeof default = SuperTokensError
RecipeUserId: typeof RecipeUserId = RecipeUserId
User: typeof User = User
init: ((config: TypeInput) => void) = SuperTokens.init

Type declaration

    • (config: TypeInput): void
    • Parameters

      • config: TypeInput

      Returns void

Methods

  • createUserIdMapping(input: { externalUserId: string; externalUserIdInfo?: string; force?: boolean; superTokensUserId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" | "UNKNOWN_SUPERTOKENS_USER_ID_ERROR" } | { doesExternalUserIdExist: boolean; doesSuperTokensUserIdExist: boolean; status: "USER_ID_MAPPING_ALREADY_EXISTS_ERROR" }>
  • Parameters

    • input: { externalUserId: string; externalUserIdInfo?: string; force?: boolean; superTokensUserId: string; userContext?: Record<string, any> }
      • externalUserId: string
      • Optional externalUserIdInfo?: string
      • Optional force?: boolean
      • superTokensUserId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<{ status: "OK" | "UNKNOWN_SUPERTOKENS_USER_ID_ERROR" } | { doesExternalUserIdExist: boolean; doesSuperTokensUserIdExist: boolean; status: "USER_ID_MAPPING_ALREADY_EXISTS_ERROR" }>

  • deleteUser(userId: string, removeAllLinkedAccounts?: boolean, userContext?: Record<string, any>): Promise<{ status: "OK" }>
  • Parameters

    • userId: string
    • removeAllLinkedAccounts: boolean = true
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" }>

  • deleteUserIdMapping(input: { force?: boolean; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ didMappingExist: boolean; status: "OK" }>
  • Parameters

    • input: { force?: boolean; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
      • Optional force?: boolean
      • Optional userContext?: Record<string, any>
      • userId: string
      • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

    Returns Promise<{ didMappingExist: boolean; status: "OK" }>

  • getAllCORSHeaders(): string[]
  • getRequestFromUserContext(userContext: undefined | UserContext): undefined | BaseRequest
  • getUser(userId: string, userContext?: Record<string, any>): Promise<undefined | User>
  • Parameters

    • userId: string
    • Optional userContext: Record<string, any>

    Returns Promise<undefined | User>

  • getUserCount(includeRecipeIds?: string[], tenantId?: string, userContext?: Record<string, any>): Promise<number>
  • Parameters

    • Optional includeRecipeIds: string[]
    • Optional tenantId: string
    • Optional userContext: Record<string, any>

    Returns Promise<number>

  • getUserIdMapping(input: { userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ externalUserId: string; externalUserIdInfo: undefined | string; status: "OK"; superTokensUserId: string } | { status: "UNKNOWN_MAPPING_ERROR" }>
  • Parameters

    • input: { userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
      • Optional userContext?: Record<string, any>
      • userId: string
      • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

    Returns Promise<{ externalUserId: string; externalUserIdInfo: undefined | string; status: "OK"; superTokensUserId: string } | { status: "UNKNOWN_MAPPING_ERROR" }>

  • getUsersNewestFirst(input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }): Promise<{ nextPaginationToken?: string; users: User[] }>
  • Parameters

    • input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }
      • Optional includeRecipeIds?: string[]
      • Optional limit?: number
      • Optional paginationToken?: string
      • Optional query?: {}
        • [key: string]: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<{ nextPaginationToken?: string; users: User[] }>

  • getUsersOldestFirst(input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }): Promise<{ nextPaginationToken?: string; users: User[] }>
  • Parameters

    • input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }
      • Optional includeRecipeIds?: string[]
      • Optional limit?: number
      • Optional paginationToken?: string
      • Optional query?: {}
        • [key: string]: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<{ nextPaginationToken?: string; users: User[] }>

  • listUsersByAccountInfo(tenantId: string, accountInfo: AccountInfo, doUnionOfAccountInfo?: boolean, userContext?: Record<string, any>): Promise<User[]>
  • Parameters

    • tenantId: string
    • accountInfo: AccountInfo
    • doUnionOfAccountInfo: boolean = false
    • Optional userContext: Record<string, any>

    Returns Promise<User[]>

  • updateOrDeleteUserIdMappingInfo(input: { externalUserIdInfo?: string; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ status: "OK" | "UNKNOWN_MAPPING_ERROR" }>
  • Parameters

    • input: { externalUserIdInfo?: string; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
      • Optional externalUserIdInfo?: string
      • Optional userContext?: Record<string, any>
      • userId: string
      • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

    Returns Promise<{ status: "OK" | "UNKNOWN_MAPPING_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ingredients_emaildelivery.default.html b/docs/classes/ingredients_emaildelivery.default.html new file mode 100644 index 000000000..a3b94b2c8 --- /dev/null +++ b/docs/classes/ingredients_emaildelivery.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Property
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ingredients_smsdelivery.default.html b/docs/classes/ingredients_smsdelivery.default.html new file mode 100644 index 000000000..4ac52d076 --- /dev/null +++ b/docs/classes/ingredients_smsdelivery.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Property
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_accountlinking.default.html b/docs/classes/recipe_accountlinking.default.html new file mode 100644 index 000000000..1a2339b87 --- /dev/null +++ b/docs/classes/recipe_accountlinking.default.html @@ -0,0 +1,15 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • canCreatePrimaryUser(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
  • Parameters

    • recipeUserId: RecipeUserId
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

  • canLinkAccounts(recipeUserId: RecipeUserId, primaryUserId: string, userContext?: Record<string, any>): Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
  • Parameters

    • recipeUserId: RecipeUserId
    • primaryUserId: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

  • createPrimaryUser(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
  • Parameters

    • recipeUserId: RecipeUserId
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

  • createPrimaryUserIdOrLinkAccounts(tenantId: string, recipeUserId: RecipeUserId, session?: SessionContainer, userContext?: Record<string, any>): Promise<User>
  • +

    This is a function which is a combination of createPrimaryUser and +linkAccounts where the input recipeUserId is either linked to a user that it can be +linked to, or is made into a primary user.

    +

    The output will be the user ID of the user that it was linked to, or it will be the +same as the input recipeUserId if it was made into a primary user, or if there was +no linking that happened.

    +

    Parameters

    Returns Promise<User>

  • getPrimaryUserThatCanBeLinkedToRecipeUserId(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<undefined | User>
  • +

    This function returns the primary user that the input recipe ID can be +linked to. It can be used to determine which primary account the linking +will happen to if the input recipe user ID was to be linked.

    +

    If the function returns undefined, it means that there is no primary user +that the input recipe ID can be linked to, and therefore it can be made +into a primary user itself.

    +

    Parameters

    • tenantId: string
    • recipeUserId: RecipeUserId
    • Optional userContext: Record<string, any>

    Returns Promise<undefined | User>

  • isEmailChangeAllowed(recipeUserId: RecipeUserId, newEmail: string, isVerified: boolean, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
  • isSignInAllowed(tenantId: string, recipeUserId: RecipeUserId, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
  • isSignUpAllowed(tenantId: string, newUser: AccountInfoWithRecipeId, isVerified: boolean, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
  • linkAccounts(recipeUserId: RecipeUserId, primaryUserId: string, userContext?: Record<string, any>): Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
  • Parameters

    • recipeUserId: RecipeUserId
    • primaryUserId: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

  • unlinkAccount(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasLinked: boolean; wasRecipeUserDeleted: boolean }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_dashboard.default.html b/docs/classes/recipe_dashboard.default.html new file mode 100644 index 000000000..34c3003cf --- /dev/null +++ b/docs/classes/recipe_dashboard.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Interface
  • Static property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_emailpassword.default.html b/docs/classes/recipe_emailpassword.default.html new file mode 100644 index 000000000..4f47842e7 --- /dev/null +++ b/docs/classes/recipe_emailpassword.default.html @@ -0,0 +1,12 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Error: typeof default = SuperTokensError
init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • consumePasswordResetToken(tenantId: string, token: string, userContext?: Record<string, any>): Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>
  • Parameters

    • tenantId: string
    • token: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>

  • createResetPasswordLink(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ link: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • email: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ link: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" }>

  • createResetPasswordToken(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>
  • +

    We do not make email optional here cause we want to +allow passing in primaryUserId. If we make email optional, +and if the user provides a primaryUserId, then it may result in two problems:

    +
      +
    • there is no recipeUserId = input primaryUserId, in this case, +this function will throw an error
    • +
    • There is a recipe userId = input primaryUserId, but that recipe has no email, +or has wrong email compared to what the user wanted to generate a reset token for.
    • +
    +

    And we want to allow primaryUserId being passed in.

    +

    Parameters

    • tenantId: string
    • userId: string
    • email: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>

  • resetPasswordUsingToken(tenantId: string, token: string, newPassword: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>
  • Parameters

    • tenantId: string
    • token: string
    • newPassword: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>

  • sendEmail(input: TypeEmailPasswordPasswordResetEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
  • sendResetPasswordEmail(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • email: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" }>

  • signIn(tenantId: string, email: string, password: string, session?: undefined, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>
  • signIn(tenantId: string, email: string, password: string, session: SessionContainer, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
  • Parameters

    • tenantId: string
    • email: string
    • password: string
    • Optional session: undefined
    • Optional userContext: Record<string, any>

    Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>

  • Parameters

    • tenantId: string
    • email: string
    • password: string
    • session: SessionContainer
    • Optional userContext: Record<string, any>

    Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

  • signUp(tenantId: string, email: string, password: string, session?: undefined, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>
  • signUp(tenantId: string, email: string, password: string, session: SessionContainer, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
  • Parameters

    • tenantId: string
    • email: string
    • password: string
    • Optional session: undefined
    • Optional userContext: Record<string, any>

    Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>

  • Parameters

    • tenantId: string
    • email: string
    • password: string
    • session: SessionContainer
    • Optional userContext: Record<string, any>

    Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

  • updateEmailOrPassword(input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy?: string; userContext?: Record<string, any> }): Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>
  • Parameters

    • input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy?: string; userContext?: Record<string, any> }
      • Optional applyPasswordPolicy?: boolean
      • Optional email?: string
      • Optional password?: string
      • recipeUserId: RecipeUserId
      • Optional tenantIdForPasswordPolicy?: string
      • Optional userContext?: Record<string, any>

    Returns Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>

  • verifyCredentials(tenantId: string, email: string, password: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "WRONG_CREDENTIALS_ERROR" }>
  • Parameters

    • tenantId: string
    • email: string
    • password: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "WRONG_CREDENTIALS_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_emailverification.default.html b/docs/classes/recipe_emailverification.default.html new file mode 100644 index 000000000..853e07708 --- /dev/null +++ b/docs/classes/recipe_emailverification.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

EmailVerificationClaim: EmailVerificationClaimClass = EmailVerificationClaim
Error: typeof default = SuperTokensError
init: ((config: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config: TypeInput): RecipeListFunction
    • Parameters

      • config: TypeInput

      Returns RecipeListFunction

Methods

  • createEmailVerificationLink(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ link: string; status: "OK" } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
  • createEmailVerificationToken(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: "OK"; token: string } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
  • isEmailVerified(recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<boolean>
  • revokeEmailVerificationTokens(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: string }>
  • sendEmail(input: TypeEmailVerificationEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
  • sendEmailVerificationEmail(tenantId: string, userId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: "OK" } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
  • unverifyEmail(recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: string }>
  • verifyEmailUsingToken(tenantId: string, token: string, attemptAccountLinking?: boolean, userContext?: Record<string, any>): Promise<{ status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_jwt.default.html b/docs/classes/recipe_jwt.default.html new file mode 100644 index 000000000..77db832a4 --- /dev/null +++ b/docs/classes/recipe_jwt.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Methods

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • createJWT(payload: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
  • Parameters

    • payload: any
    • Optional validitySeconds: number
    • Optional useStaticSigningKey: boolean
    • Optional userContext: Record<string, any>

    Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

  • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[]; validityInSeconds?: number }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_multifactorauth.default.html b/docs/classes/recipe_multifactorauth.default.html new file mode 100644 index 000000000..a44410d31 --- /dev/null +++ b/docs/classes/recipe_multifactorauth.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

FactorIds: { EMAILPASSWORD: string; LINK_EMAIL: string; LINK_PHONE: string; OTP_EMAIL: string; OTP_PHONE: string; THIRDPARTY: string; TOTP: string } = FactorIds

Type declaration

  • EMAILPASSWORD: string
  • LINK_EMAIL: string
  • LINK_PHONE: string
  • OTP_EMAIL: string
  • OTP_PHONE: string
  • THIRDPARTY: string
  • TOTP: string
MultiFactorAuthClaim: MultiFactorAuthClaimClass = MultiFactorAuthClaim
init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • addToRequiredSecondaryFactorsForUser(userId: string, factorId: string, userContext?: Record<string, any>): Promise<void>
  • assertAllowedToSetupFactorElseThrowInvalidClaimError(session: SessionContainer, factorId: string, userContext?: Record<string, any>): Promise<void>
  • getFactorsSetupForUser(userId: string, userContext?: Record<string, any>): Promise<string[]>
  • getMFARequirementsForAuth(session: SessionContainer, userContext?: Record<string, any>): Promise<MFARequirementList>
  • getRequiredSecondaryFactorsForUser(userId: string, userContext?: Record<string, any>): Promise<string[]>
  • markFactorAsCompleteInSession(session: SessionContainer, factorId: string, userContext?: Record<string, any>): Promise<void>
  • removeFromRequiredSecondaryFactorsForUser(userId: string, factorId: string, userContext?: Record<string, any>): Promise<void>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_multitenancy.default.html b/docs/classes/recipe_multitenancy.default.html new file mode 100644 index 000000000..3df41f8b0 --- /dev/null +++ b/docs/classes/recipe_multitenancy.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • associateUserToTenant(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>
  • Parameters

    • tenantId: string
    • recipeUserId: RecipeUserId
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>

  • createOrUpdateTenant(tenantId: string, config?: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }, userContext?: Record<string, any>): Promise<{ createdNew: boolean; status: "OK" }>
  • Parameters

    • tenantId: string
    • Optional config: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }
      • Optional coreConfig?: {}
        • [key: string]: any
      • Optional emailPasswordEnabled?: boolean
      • Optional firstFactors?: string[]
      • Optional passwordlessEnabled?: boolean
      • Optional requiredSecondaryFactors?: string[]
      • Optional thirdPartyEnabled?: boolean
    • Optional userContext: Record<string, any>

    Returns Promise<{ createdNew: boolean; status: "OK" }>

  • createOrUpdateThirdPartyConfig(tenantId: string, config: ProviderConfig, skipValidation?: boolean, userContext?: Record<string, any>): Promise<{ createdNew: boolean; status: "OK" }>
  • Parameters

    • tenantId: string
    • config: ProviderConfig
    • Optional skipValidation: boolean
    • Optional userContext: Record<string, any>

    Returns Promise<{ createdNew: boolean; status: "OK" }>

  • deleteTenant(tenantId: string, userContext?: Record<string, any>): Promise<{ didExist: boolean; status: "OK" }>
  • deleteThirdPartyConfig(tenantId: string, thirdPartyId: string, userContext?: Record<string, any>): Promise<{ didConfigExist: boolean; status: "OK" }>
  • Parameters

    • tenantId: string
    • thirdPartyId: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ didConfigExist: boolean; status: "OK" }>

  • disassociateUserFromTenant(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAssociated: boolean }>
  • getTenant(tenantId: string, userContext?: Record<string, any>): Promise<undefined | { status: "OK" } & TenantConfig>
  • listAllTenants(userContext?: Record<string, any>): Promise<{ status: "OK"; tenants: ({ tenantId: string } & TenantConfig)[] }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_openid.default.html b/docs/classes/recipe_openid.default.html new file mode 100644 index 000000000..89d600abe --- /dev/null +++ b/docs/classes/recipe_openid.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = OpenIdRecipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • createJWT(payload?: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
  • Parameters

    • Optional payload: any
    • Optional validitySeconds: number
    • Optional useStaticSigningKey: boolean
    • Optional userContext: Record<string, any>

    Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

  • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[]; validityInSeconds?: number }>
  • getOpenIdDiscoveryConfiguration(userContext?: Record<string, any>): Promise<{ issuer: string; jwks_uri: string; status: "OK" }>
  • Parameters

    • Optional userContext: Record<string, any>

    Returns Promise<{ issuer: string; jwks_uri: string; status: "OK" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_passwordless.default.html b/docs/classes/recipe_passwordless.default.html new file mode 100644 index 000000000..37b3684e2 --- /dev/null +++ b/docs/classes/recipe_passwordless.default.html @@ -0,0 +1,14 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Error: typeof default = SuperTokensError
init: ((config: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config: TypeInput): RecipeListFunction
    • Parameters

      • config: TypeInput

      Returns RecipeListFunction

Methods

  • checkCode(input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>
  • +

    This function will only verify the code (not consume it), and: +NOT create a new user if it doesn't exist +NOT verify the user email if it exists +NOT do any linking +NOT delete the code unless it returned RESTART_FLOW_ERROR

    +

    Parameters

    • input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>

  • consumeCode(input: { deviceId: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>
  • consumeCode(input: { deviceId: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
  • +
      +
    1. verifies the code
    2. +
    3. creates the user if it doesn't exist
    4. +
    5. tries to link it
    6. +
    7. marks the email as verified
    8. +
    +

    Parameters

    • input: { deviceId: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>

  • Parameters

    • input: { deviceId: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

  • createCode(input: { email: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string } & { phoneNumber: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>
  • Parameters

    • input: { email: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string } & { phoneNumber: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }

    Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>

  • createMagicLink(input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<string>
  • Parameters

    • input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<string>

  • createNewCodeForDevice(input: { deviceId: string; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>
  • Parameters

    • input: { deviceId: string; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }
      • deviceId: string
      • tenantId: string
      • Optional userContext?: Record<string, any>
      • Optional userInputCode?: string

    Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>

  • listCodesByDeviceId(input: { deviceId: string; tenantId: string; userContext?: Record<string, any> }): Promise<undefined | DeviceType>
  • Parameters

    • input: { deviceId: string; tenantId: string; userContext?: Record<string, any> }
      • deviceId: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<undefined | DeviceType>

  • listCodesByEmail(input: { email: string; tenantId: string; userContext?: Record<string, any> }): Promise<DeviceType[]>
  • Parameters

    • input: { email: string; tenantId: string; userContext?: Record<string, any> }
      • email: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<DeviceType[]>

  • listCodesByPhoneNumber(input: { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<DeviceType[]>
  • Parameters

    • input: { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }
      • phoneNumber: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<DeviceType[]>

  • listCodesByPreAuthSessionId(input: { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<undefined | DeviceType>
  • Parameters

    • input: { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }
      • preAuthSessionId: string
      • tenantId: string
      • Optional userContext?: Record<string, any>

    Returns Promise<undefined | DeviceType>

  • revokeAllCodes(input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" }>
  • Parameters

    • input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<{ status: "OK" }>

  • revokeCode(input: { codeId: string; tenantId: string; userContext?: Record<string, any> } | { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" }>
  • Parameters

    • input: { codeId: string; tenantId: string; userContext?: Record<string, any> } | { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }

    Returns Promise<{ status: "OK" }>

  • sendEmail(input: TypePasswordlessEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
  • sendSms(input: TypePasswordlessSmsDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
  • signInUp(input: { email: string; session?: SessionContainer; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; session?: SessionContainer; tenantId: string; userContext?: Record<string, any> }): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: string; user: User }>
  • updateUser(input: { email?: null | string; phoneNumber?: null | string; recipeUserId: RecipeUserId; userContext?: Record<string, any> }): Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>
  • Parameters

    • input: { email?: null | string; phoneNumber?: null | string; recipeUserId: RecipeUserId; userContext?: Record<string, any> }
      • Optional email?: null | string
      • Optional phoneNumber?: null | string
      • recipeUserId: RecipeUserId
      • Optional userContext?: Record<string, any>

    Returns Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_session.default.html b/docs/classes/recipe_session.default.html new file mode 100644 index 000000000..0da4740ad --- /dev/null +++ b/docs/classes/recipe_session.default.html @@ -0,0 +1,19 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Error: typeof default = SuperTokensError
init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • createJWT(payload?: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
  • Parameters

    • Optional payload: any
    • Optional validitySeconds: number
    • Optional useStaticSigningKey: boolean
    • Optional userContext: Record<string, any>

    Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

  • createNewSession(req: any, res: any, tenantId: string, recipeUserId: RecipeUserId, accessTokenPayload?: any, sessionDataInDatabase?: any, userContext?: Record<string, any>): Promise<SessionContainer>
  • createNewSessionWithoutRequestResponse(tenantId: string, recipeUserId: RecipeUserId, accessTokenPayload?: any, sessionDataInDatabase?: any, disableAntiCsrf?: boolean, userContext?: Record<string, any>): Promise<SessionContainer>
  • fetchAndSetClaim(sessionHandle: string, claim: SessionClaim<any>, userContext?: Record<string, any>): Promise<boolean>
  • getAllSessionHandlesForUser(userId: string, fetchSessionsForAllLinkedAccounts?: boolean, tenantId?: string, userContext?: Record<string, any>): Promise<string[]>
  • Parameters

    • userId: string
    • fetchSessionsForAllLinkedAccounts: boolean = true
    • Optional tenantId: string
    • Optional userContext: Record<string, any>

    Returns Promise<string[]>

  • getClaimValue<T>(sessionHandle: string, claim: SessionClaim<T>, userContext?: Record<string, any>): Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: undefined | T }>
  • Type Parameters

    • T

    Parameters

    • sessionHandle: string
    • claim: SessionClaim<T>
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: undefined | T }>

  • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[] }>
  • getOpenIdDiscoveryConfiguration(userContext?: Record<string, any>): Promise<{ issuer: string; jwks_uri: string; status: "OK" }>
  • getSessionInformation(sessionHandle: string, userContext?: Record<string, any>): Promise<undefined | SessionInformation>
  • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string): Promise<SessionContainer>
  • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions & { sessionRequired?: true }, userContext?: Record<string, any>): Promise<SessionContainer>
  • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions & { sessionRequired: false }, userContext?: Record<string, any>): Promise<undefined | SessionContainer>
  • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions, userContext?: Record<string, any>): Promise<undefined | SessionContainer>
  • +

    Tries to validate an access token and build a Session object from it.

    +

    Notes about anti-csrf checking:

    +
      +
    • if the antiCsrf is set to VIA_HEADER in the Session recipe config you have to handle anti-csrf checking before calling this function and set antiCsrfCheck to false in the options.
    • +
    • you can disable anti-csrf checks by setting antiCsrf to NONE in the Session recipe config. We only recommend this if you are always getting the access-token from the Authorization header.
    • +
    • if the antiCsrf check fails the returned satatus will be TRY_REFRESH_TOKEN_ERROR
    • +
    +

    Results: +OK: The session was successfully validated, including claim validation +CLAIM_VALIDATION_ERROR: While the access token is valid, one or more claim validators have failed. Our frontend SDKs expect a 403 response the contents matching the value returned from this function. +TRY_REFRESH_TOKEN_ERROR: This means, that the access token structure was valid, but it didn't pass validation for some reason and the user should call the refresh API. + You can send a 401 response to trigger this behaviour if you are using our frontend SDKs +UNAUTHORISED: This means that the access token likely doesn't belong to a SuperTokens session. If this is unexpected, it's best handled by sending a 401 response.

    +

    Parameters

    • accessToken: string
      +

      The access token extracted from the authorization header or cookies

      +
    • Optional antiCsrfToken: string
      +

      The anti-csrf token extracted from the authorization header or cookies. Can be undefined if antiCsrfCheck is false

      +

    Returns Promise<SessionContainer>

  • Parameters

    • accessToken: string
    • Optional antiCsrfToken: string
    • Optional options: VerifySessionOptions & { sessionRequired?: true }
    • Optional userContext: Record<string, any>

    Returns Promise<SessionContainer>

  • Parameters

    • accessToken: string
    • Optional antiCsrfToken: string
    • Optional options: VerifySessionOptions & { sessionRequired: false }
    • Optional userContext: Record<string, any>

    Returns Promise<undefined | SessionContainer>

  • Parameters

    • accessToken: string
    • Optional antiCsrfToken: string
    • Optional options: VerifySessionOptions
    • Optional userContext: Record<string, any>

    Returns Promise<undefined | SessionContainer>

  • mergeIntoAccessTokenPayload(sessionHandle: string, accessTokenPayloadUpdate: JSONObject, userContext?: Record<string, any>): Promise<boolean>
  • refreshSession(req: any, res: any, userContext?: Record<string, any>): Promise<SessionContainer>
  • refreshSessionWithoutRequestResponse(refreshToken: string, disableAntiCsrf?: boolean, antiCsrfToken?: string, userContext?: Record<string, any>): Promise<SessionContainer>
  • removeClaim(sessionHandle: string, claim: SessionClaim<any>, userContext?: Record<string, any>): Promise<boolean>
  • revokeAllSessionsForUser(userId: string, revokeSessionsForLinkedAccounts?: boolean, tenantId?: string, userContext?: Record<string, any>): Promise<string[]>
  • Parameters

    • userId: string
    • revokeSessionsForLinkedAccounts: boolean = true
    • Optional tenantId: string
    • Optional userContext: Record<string, any>

    Returns Promise<string[]>

  • revokeMultipleSessions(sessionHandles: string[], userContext?: Record<string, any>): Promise<string[]>
  • revokeSession(sessionHandle: string, userContext?: Record<string, any>): Promise<boolean>
  • setClaimValue<T>(sessionHandle: string, claim: SessionClaim<T>, value: T, userContext?: Record<string, any>): Promise<boolean>
  • Type Parameters

    • T

    Parameters

    • sessionHandle: string
    • claim: SessionClaim<T>
    • value: T
    • Optional userContext: Record<string, any>

    Returns Promise<boolean>

  • updateSessionDataInDatabase(sessionHandle: string, newSessionData: any, userContext?: Record<string, any>): Promise<boolean>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_thirdparty.default.html b/docs/classes/recipe_thirdparty.default.html new file mode 100644 index 000000000..014a5a5c1 --- /dev/null +++ b/docs/classes/recipe_thirdparty.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

Error: typeof default = SuperTokensError
init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • getProvider(tenantId: string, thirdPartyId: string, clientType: undefined | string, userContext?: Record<string, any>): Promise<undefined | TypeProvider>
  • manuallyCreateOrUpdateUser(tenantId: string, thirdPartyId: string, thirdPartyUserId: string, email: string, isVerified: boolean, session?: undefined, userContext?: Record<string, any>): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>
  • manuallyCreateOrUpdateUser(tenantId: string, thirdPartyId: string, thirdPartyUserId: string, email: string, isVerified: boolean, session: SessionContainer, userContext?: Record<string, any>): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
  • Parameters

    • tenantId: string
    • thirdPartyId: string
    • thirdPartyUserId: string
    • email: string
    • isVerified: boolean
    • Optional session: undefined
    • Optional userContext: Record<string, any>

    Returns Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>

  • Parameters

    • tenantId: string
    • thirdPartyId: string
    • thirdPartyUserId: string
    • email: string
    • isVerified: boolean
    • session: SessionContainer
    • Optional userContext: Record<string, any>

    Returns Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_totp.default.html b/docs/classes/recipe_totp.default.html new file mode 100644 index 000000000..5676375ab --- /dev/null +++ b/docs/classes/recipe_totp.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • createDevice(userId: string, userIdentifierInfo?: string, deviceName?: string, skew?: number, period?: number, userContext?: Record<string, any>): Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>
  • Parameters

    • userId: string
    • Optional userIdentifierInfo: string
    • Optional deviceName: string
    • Optional skew: number
    • Optional period: number
    • Optional userContext: Record<string, any>

    Returns Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>

  • listDevices(userId: string, userContext?: Record<string, any>): Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>
  • Parameters

    • userId: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>

  • removeDevice(userId: string, deviceName: string, userContext?: Record<string, any>): Promise<{ didDeviceExist: boolean; status: "OK" }>
  • Parameters

    • userId: string
    • deviceName: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ didDeviceExist: boolean; status: "OK" }>

  • updateDevice(userId: string, existingDeviceName: string, newDeviceName: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "DEVICE_ALREADY_EXISTS_ERROR" | "UNKNOWN_DEVICE_ERROR" }>
  • Parameters

    • userId: string
    • existingDeviceName: string
    • newDeviceName: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "DEVICE_ALREADY_EXISTS_ERROR" | "UNKNOWN_DEVICE_ERROR" }>

  • verifyDevice(tenantId: string, userId: string, deviceName: string, totp: string, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • deviceName: string
    • totp: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

  • verifyTOTP(tenantId: string, userId: string, totp: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • totp: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_usermetadata.default.html b/docs/classes/recipe_usermetadata.default.html new file mode 100644 index 000000000..81841b74c --- /dev/null +++ b/docs/classes/recipe_usermetadata.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • clearUserMetadata(userId: string, userContext?: Record<string, any>): Promise<{ status: "OK" }>
  • getUserMetadata(userId: string, userContext?: Record<string, any>): Promise<{ metadata: any; status: "OK" }>
  • updateUserMetadata(userId: string, metadataUpdate: JSONObject, userContext?: Record<string, any>): Promise<{ metadata: JSONObject; status: "OK" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/recipe_userroles.default.html b/docs/classes/recipe_userroles.default.html new file mode 100644 index 000000000..54d679377 --- /dev/null +++ b/docs/classes/recipe_userroles.default.html @@ -0,0 +1 @@ +default | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default

Index

Constructors

Properties

PermissionClaim: PermissionClaimClass = PermissionClaim
UserRoleClaim: UserRoleClaimClass = UserRoleClaim
init: ((config?: TypeInput) => RecipeListFunction) = Recipe.init

Type declaration

    • (config?: TypeInput): RecipeListFunction
    • Parameters

      • Optional config: TypeInput

      Returns RecipeListFunction

Methods

  • addRoleToUser(tenantId: string, userId: string, role: string, userContext?: Record<string, any>): Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • role: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

  • createNewRoleOrAddPermissions(role: string, permissions: string[], userContext?: Record<string, any>): Promise<{ createdNewRole: boolean; status: "OK" }>
  • Parameters

    • role: string
    • permissions: string[]
    • Optional userContext: Record<string, any>

    Returns Promise<{ createdNewRole: boolean; status: "OK" }>

  • deleteRole(role: string, userContext?: Record<string, any>): Promise<{ didRoleExist: boolean; status: "OK" }>
  • getAllRoles(userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
  • getPermissionsForRole(role: string, userContext?: Record<string, any>): Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
  • Parameters

    • role: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

  • getRolesForUser(tenantId: string, userId: string, userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
  • Parameters

    • tenantId: string
    • userId: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ roles: string[]; status: "OK" }>

  • getRolesThatHavePermission(permission: string, userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
  • getUsersThatHaveRole(tenantId: string, role: string, userContext?: Record<string, any>): Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>
  • Parameters

    • tenantId: string
    • role: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>

  • removePermissionsFromRole(role: string, permissions: string[], userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>
  • Parameters

    • role: string
    • permissions: string[]
    • Optional userContext: Record<string, any>

    Returns Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>

  • removeUserRole(tenantId: string, userId: string, role: string, userContext?: Record<string, any>): Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
  • Parameters

    • tenantId: string
    • userId: string
    • role: string
    • Optional userContext: Record<string, any>

    Returns Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Constructor
  • Static property
  • Static method
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..2864c5709 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,38 @@ +supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

supertokens-node

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Class
  • Class with type parameter
  • Interface

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/framework_awsLambda.SessionEvent.html b/docs/interfaces/framework_awsLambda.SessionEvent.html new file mode 100644 index 000000000..a69225b3f --- /dev/null +++ b/docs/interfaces/framework_awsLambda.SessionEvent.html @@ -0,0 +1 @@ +SessionEvent | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • SupertokensLambdaEvent
    • SessionEvent

Index

Properties

body: null | string
headers: APIGatewayProxyEventHeaders
httpMethod: string
isBase64Encoded: boolean
multiValueHeaders: APIGatewayProxyEventMultiValueHeaders
multiValueQueryStringParameters: null | APIGatewayProxyEventMultiValueQueryStringParameters
path: string
pathParameters: null | APIGatewayProxyEventPathParameters
queryStringParameters: null | APIGatewayProxyEventQueryStringParameters
requestContext: APIGatewayEventRequestContextWithAuthorizer<APIGatewayEventDefaultAuthorizerContext>
resource: string
stageVariables: null | APIGatewayProxyEventStageVariables
supertokens: { response: { cookies: string[]; headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[] } }

Type declaration

  • response: { cookies: string[]; headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[] }
    • cookies: string[]
    • headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[]

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Interface
  • Property
  • Class
  • Class with type parameter

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/framework_awsLambda.SessionEventV2.html b/docs/interfaces/framework_awsLambda.SessionEventV2.html new file mode 100644 index 000000000..0eaacb4e1 --- /dev/null +++ b/docs/interfaces/framework_awsLambda.SessionEventV2.html @@ -0,0 +1 @@ +SessionEventV2 | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • SupertokensLambdaEventV2
    • SessionEventV2

Index

Properties

body?: string
cookies?: string[]
headers: APIGatewayProxyEventHeaders
isBase64Encoded: boolean
pathParameters?: APIGatewayProxyEventPathParameters
queryStringParameters?: APIGatewayProxyEventQueryStringParameters
rawPath: string
rawQueryString: string
requestContext: { accountId: string; apiId: string; authorizer?: { jwt: { claims: {}; scopes: string[] } }; domainName: string; domainPrefix: string; http: { method: string; path: string; protocol: string; sourceIp: string; userAgent: string }; requestId: string; routeKey: string; stage: string; time: string; timeEpoch: number }

Type declaration

  • accountId: string
  • apiId: string
  • Optional authorizer?: { jwt: { claims: {}; scopes: string[] } }
    • jwt: { claims: {}; scopes: string[] }
      • claims: {}
        • [name: string]: string | number | boolean | string[]
      • scopes: string[]
  • domainName: string
  • domainPrefix: string
  • http: { method: string; path: string; protocol: string; sourceIp: string; userAgent: string }
    • method: string
    • path: string
    • protocol: string
    • sourceIp: string
    • userAgent: string
  • requestId: string
  • routeKey: string
  • stage: string
  • time: string
  • timeEpoch: number
routeKey: string
stageVariables?: APIGatewayProxyEventStageVariables
supertokens: { response: { cookies: string[]; headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[] } }

Type declaration

  • response: { cookies: string[]; headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[] }
    • cookies: string[]
    • headers: { allowDuplicateKey: boolean; key: string; value: string | number | boolean }[]
version: string

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Interface
  • Property
  • Class
  • Class with type parameter

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/framework_express.SessionRequest.html b/docs/interfaces/framework_express.SessionRequest.html new file mode 100644 index 000000000..11fd601cc --- /dev/null +++ b/docs/interfaces/framework_express.SessionRequest.html @@ -0,0 +1,547 @@ +SessionRequest | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Request
    • SessionRequest

Index

Properties

aborted: boolean
+

The message.aborted property will be true if the request has +been aborted.

+
since

v10.1.0

+
deprecated

Since v17.0.0,v16.12.0 - Check message.destroyed from stream.Readable.

+
accepted: MediaType[]
+

Return an array of Accepted media types +ordered from highest quality to lowest.

+
app: Application<Record<string, any>>
baseUrl: string
body: any
closed: boolean
+

Is true after 'close' has been emitted.

+
since

v18.0.0

+
complete: boolean
+

The message.complete property will be true if a complete HTTP message has +been received and successfully parsed.

+

This property is particularly useful as a means of determining if a client or +server fully transmitted a message before a connection was terminated:

+
const req = http.request({
host: '127.0.0.1',
port: 8080,
method: 'POST',
}, (res) => {
res.resume();
res.on('end', () => {
if (!res.complete)
console.error(
'The connection was terminated while the message was still being sent');
});
}); +
+
since

v0.3.0

+
connection: Socket
+

Alias for message.socket.

+
since

v0.1.90

+
deprecated

Since v16.0.0 - Use socket.

+
cookies: any
destroyed: boolean
+

Is true after readable.destroy() has been called.

+
since

v8.0.0

+
errored: null | Error
+

Returns error if the stream has been destroyed with an error.

+
since

v18.0.0

+
fresh: boolean
+

Check if the request is fresh, aka +Last-Modified and/or the ETag +still match.

+
headers: IncomingHttpHeaders
+

The request/response headers object.

+

Key-value pairs of header names and values. Header names are lower-cased.

+
// Prints something like:
//
// { 'user-agent': 'curl/7.22.0',
// host: '127.0.0.1:8000',
// accept: '*' }
console.log(request.headers); +
+

Duplicates in raw headers are handled in the following ways, depending on the +header name:

+
    +
  • Duplicates of age, authorization, content-length, content-type,etag, expires, from, host, if-modified-since, if-unmodified-since,last-modified, location, +max-forwards, proxy-authorization, referer,retry-after, server, or user-agent are discarded. +To allow duplicate values of the headers listed above to be joined, +use the option joinDuplicateHeaders in {@link request} and {@link createServer}. See RFC 9110 Section 5.3 for more +information.
  • +
  • set-cookie is always an array. Duplicates are added to the array.
  • +
  • For duplicate cookie headers, the values are joined together with ; .
  • +
  • For all other headers, the values are joined together with , .
  • +
+
since

v0.1.5

+
headersDistinct: Dict<string[]>
+

Similar to message.headers, but there is no join logic and the values are +always arrays of strings, even for headers received just once.

+
// Prints something like:
//
// { 'user-agent': ['curl/7.22.0'],
// host: ['127.0.0.1:8000'],
// accept: ['*'] }
console.log(request.headersDistinct); +
+
since

v18.3.0, v16.17.0

+
host: string
deprecated

Use hostname instead.

+
hostname: string
+

Parse the "Host" header field hostname.

+
httpVersion: string
+

In case of server request, the HTTP version sent by the client. In the case of +client response, the HTTP version of the connected-to server. +Probably either '1.1' or '1.0'.

+

Also message.httpVersionMajor is the first integer andmessage.httpVersionMinor is the second.

+
since

v0.1.1

+
httpVersionMajor: number
httpVersionMinor: number
ip: undefined | string
+

Return the remote address, or when +"trust proxy" is true return +the upstream addr.

+

Value may be undefined if the req.socket is destroyed +(for example, if the client disconnected).

+
ips: string[]
+

When "trust proxy" is true, parse +the "X-Forwarded-For" ip address list.

+

For example if the value were "client, proxy1, proxy2" +you would receive the array ["client", "proxy1", "proxy2"] +where "proxy2" is the furthest down-stream.

+
method: string
next?: NextFunction
originalUrl: string
params: ParamsDictionary
path: string
+

Short-hand for url.parse(req.url).pathname.

+
protocol: string
+

Return the protocol string "http" or "https" +when requested with TLS. When the "trust proxy" +setting is enabled the "X-Forwarded-Proto" header +field will be trusted. If you're running behind +a reverse proxy that supplies https for you this +may be enabled.

+
query: ParsedQs
rawHeaders: string[]
+

The raw request/response headers list exactly as they were received.

+

The keys and values are in the same list. It is not a +list of tuples. So, the even-numbered offsets are key values, and the +odd-numbered offsets are the associated values.

+

Header names are not lowercased, and duplicates are not merged.

+
// Prints something like:
//
// [ 'user-agent',
// 'this is invalid because there can be only one',
// 'User-Agent',
// 'curl/7.22.0',
// 'Host',
// '127.0.0.1:8000',
// 'ACCEPT',
// '*' ]
console.log(request.rawHeaders); +
+
since

v0.11.6

+
rawTrailers: string[]
+

The raw request/response trailer keys and values exactly as they were +received. Only populated at the 'end' event.

+
since

v0.11.6

+
readable: boolean
+

Is true if it is safe to call readable.read(), which means +the stream has not been destroyed or emitted 'error' or 'end'.

+
since

v11.4.0

+
readableAborted: boolean
+

Returns whether the stream was destroyed or errored before emitting 'end'.

+
since

v16.8.0

+
experimental
readableDidRead: boolean
+

Returns whether 'data' has been emitted.

+
since

v16.7.0, v14.18.0

+
experimental
readableEncoding: null | BufferEncoding
+

Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

+
since

v12.7.0

+
readableEnded: boolean
+

Becomes true when 'end' event is emitted.

+
since

v12.9.0

+
readableFlowing: null | boolean
+

This property reflects the current state of a Readable stream as described +in the Three states section.

+
since

v9.4.0

+
readableHighWaterMark: number
+

Returns the value of highWaterMark passed when creating this Readable.

+
since

v9.3.0

+
readableLength: number
+

This property contains the number of bytes (or objects) in the queue +ready to be read. The value provides introspection data regarding +the status of the highWaterMark.

+
since

v9.4.0

+
readableObjectMode: boolean
+

Getter for the property objectMode of a given Readable stream.

+
since

v12.3.0

+
res?: Response<any, Record<string, any>, number>
+

After middleware.init executed, Request will contain res and next properties +See: express/lib/middleware/init.js

+
route: any
secure: boolean
+

Short-hand for:

+

req.protocol == 'https'

+
signedCookies: any
socket: Socket
+

The net.Socket object associated with the connection.

+

With HTTPS support, use request.socket.getPeerCertificate() to obtain the +client's authentication details.

+

This property is guaranteed to be an instance of the net.Socket class, +a subclass of stream.Duplex, unless the user specified a socket +type other than net.Socket or internally nulled.

+
since

v0.3.0

+
stale: boolean
+

Check if the request is stale, aka +"Last-Modified" and / or the "ETag" for the +resource has changed.

+
statusCode?: number
+

Only valid for response obtained from {@link ClientRequest}.

+

The 3-digit HTTP response status code. E.G. 404.

+
since

v0.1.1

+
statusMessage?: string
+

Only valid for response obtained from {@link ClientRequest}.

+

The HTTP response status message (reason phrase). E.G. OK or Internal Server Error.

+
since

v0.11.10

+
subdomains: string[]
+

Return subdomains as an array.

+

Subdomains are the dot-separated parts of the host before the main domain of +the app. By default, the domain of the app is assumed to be the last two +parts of the host. This can be changed by setting "subdomain offset".

+

For example, if the domain is "tobi.ferrets.example.com": +If "subdomain offset" is not set, req.subdomains is ["ferrets", "tobi"]. +If "subdomain offset" is 3, req.subdomains is ["tobi"].

+
trailers: Dict<string>
+

The request/response trailers object. Only populated at the 'end' event.

+
since

v0.3.0

+
trailersDistinct: Dict<string[]>
+

Similar to message.trailers, but there is no join logic and the values are +always arrays of strings, even for headers received just once. +Only populated at the 'end' event.

+
since

v18.3.0, v16.17.0

+
url: string
xhr: boolean
+

Check if the request was an XMLHttpRequest.

+

Methods

  • [Symbol.asyncDispose](): Promise<void>
  • +

    Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

    +
    since

    v20.4.0

    +

    Returns Promise<void>

  • [Symbol.asyncIterator](): AsyncIterableIterator<any>
  • Returns AsyncIterableIterator<any>

  • [asyncDispose](): Promise<void>
  • +

    Calls readable.destroy() with an AbortError and returns a promise that fulfills when the stream is finished.

    +
    since

    v20.4.0

    +

    Returns Promise<void>

  • [captureRejectionSymbol]<K>(error: Error, event: string | symbol, ...args: AnyRest): void
  • Type Parameters

    • K

    Parameters

    • error: Error
    • event: string | symbol
    • Rest ...args: AnyRest

    Returns void

  • _construct(callback: ((error?: null | Error) => void)): void
  • Parameters

    • callback: ((error?: null | Error) => void)
        • (error?: null | Error): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • _destroy(error: null | Error, callback: ((error?: null | Error) => void)): void
  • Parameters

    • error: null | Error
    • callback: ((error?: null | Error) => void)
        • (error?: null | Error): void
        • Parameters

          • Optional error: null | Error

          Returns void

    Returns void

  • _read(size: number): void
  • Parameters

    • size: number

    Returns void

  • accepts(): string[]
  • accepts(type: string): string | false
  • accepts(type: string[]): string | false
  • accepts(...type: string[]): string | false
  • +

    Check if the given type(s) is acceptable, returning +the best match when true, otherwise undefined, in which +case you should respond with 406 "Not Acceptable".

    +

    The type value may be a single mime type string +such as "application/json", the extension name +such as "json", a comma-delimted list such as "json, html, text/plain", +or an array ["json", "html", "text/plain"]. When a list +or array is given the best match, if any is returned.

    +

    Examples:

    +
    // Accept: text/html
    req.accepts('html');
    // => "html"

    // Accept: text/*, application/json
    req.accepts('html');
    // => "html"
    req.accepts('text/html');
    // => "text/html"
    req.accepts('json, text');
    // => "json"
    req.accepts('application/json');
    // => "application/json"

    // Accept: text/*, application/json
    req.accepts('image/png');
    req.accepts('png');
    // => false

    // Accept: text/*;q=.5, application/json
    req.accepts(['html', 'json']);
    req.accepts('html, json');
    // => "json" +
    +

    Returns string[]

  • Parameters

    • type: string

    Returns string | false

  • Parameters

    • type: string[]

    Returns string | false

  • Parameters

    • Rest ...type: string[]

    Returns string | false

  • acceptsCharsets(): string[]
  • acceptsCharsets(charset: string): string | false
  • acceptsCharsets(charset: string[]): string | false
  • acceptsCharsets(...charset: string[]): string | false
  • +

    Returns the first accepted charset of the specified character sets, +based on the request's Accept-Charset HTTP header field. +If none of the specified charsets is accepted, returns false.

    +

    For more information, or if you have issues or concerns, see accepts.

    +

    Returns string[]

  • Parameters

    • charset: string

    Returns string | false

  • Parameters

    • charset: string[]

    Returns string | false

  • Parameters

    • Rest ...charset: string[]

    Returns string | false

  • acceptsEncodings(): string[]
  • acceptsEncodings(encoding: string): string | false
  • acceptsEncodings(encoding: string[]): string | false
  • acceptsEncodings(...encoding: string[]): string | false
  • +

    Returns the first accepted encoding of the specified encodings, +based on the request's Accept-Encoding HTTP header field. +If none of the specified encodings is accepted, returns false.

    +

    For more information, or if you have issues or concerns, see accepts.

    +

    Returns string[]

  • Parameters

    • encoding: string

    Returns string | false

  • Parameters

    • encoding: string[]

    Returns string | false

  • Parameters

    • Rest ...encoding: string[]

    Returns string | false

  • acceptsLanguages(): string[]
  • acceptsLanguages(lang: string): string | false
  • acceptsLanguages(lang: string[]): string | false
  • acceptsLanguages(...lang: string[]): string | false
  • +

    Returns the first accepted language of the specified languages, +based on the request's Accept-Language HTTP header field. +If none of the specified languages is accepted, returns false.

    +

    For more information, or if you have issues or concerns, see accepts.

    +

    Returns string[]

  • Parameters

    • lang: string

    Returns string | false

  • Parameters

    • lang: string[]

    Returns string | false

  • Parameters

    • Rest ...lang: string[]

    Returns string | false

  • addListener(event: "close", listener: (() => void)): SessionRequest
  • addListener(event: "data", listener: ((chunk: any) => void)): SessionRequest
  • addListener(event: "end", listener: (() => void)): SessionRequest
  • addListener(event: "error", listener: ((err: Error) => void)): SessionRequest
  • addListener(event: "pause", listener: (() => void)): SessionRequest
  • addListener(event: "readable", listener: (() => void)): SessionRequest
  • addListener(event: "resume", listener: (() => void)): SessionRequest
  • addListener(event: string | symbol, listener: ((...args: any[]) => void)): SessionRequest
  • +

    Event emitter +The defined events on documents including:

    +
      +
    1. close
    2. +
    3. data
    4. +
    5. end
    6. +
    7. error
    8. +
    9. pause
    10. +
    11. readable
    12. +
    13. resume
    14. +
    +

    Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • asIndexedPairs(options?: Pick<ArrayOptions, "signal">): Readable
  • +

    This method returns a new stream with chunks of the underlying stream paired with a counter +in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

    +
    since

    v17.5.0

    +

    Parameters

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream of indexed pairs.

    +
  • compose<T>(stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>, options?: { signal: AbortSignal }): T
  • Type Parameters

    • T extends ReadableStream<T>

    Parameters

    • stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>
    • Optional options: { signal: AbortSignal }
      • signal: AbortSignal

    Returns T

  • +

    Calls destroy() on the socket that received the IncomingMessage. If erroris provided, an 'error' event is emitted on the socket and error is passed +as an argument to any listeners on the event.

    +
    since

    v0.3.0

    +

    Parameters

    • Optional error: Error

    Returns SessionRequest

  • drop(limit: number, options?: Pick<ArrayOptions, "signal">): Readable
  • +

    This method returns a new stream with the first limit chunks dropped from the start.

    +
    since

    v17.5.0

    +

    Parameters

    • limit: number
      +

      the number of chunks to drop from the readable.

      +
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream with limit chunks dropped from the start.

    +
  • emit(event: "close"): boolean
  • emit(event: "data", chunk: any): boolean
  • emit(event: "end"): boolean
  • emit(event: "error", err: Error): boolean
  • emit(event: "pause"): boolean
  • emit(event: "readable"): boolean
  • emit(event: "resume"): boolean
  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: "close"

    Returns boolean

  • Parameters

    • event: "data"
    • chunk: any

    Returns boolean

  • Parameters

    • event: "end"

    Returns boolean

  • Parameters

    • event: "error"
    • err: Error

    Returns boolean

  • Parameters

    • event: "pause"

    Returns boolean

  • Parameters

    • event: "readable"

    Returns boolean

  • Parameters

    • event: "resume"

    Returns boolean

  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • eventNames(): (string | symbol)[]
  • +

    Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or Symbols.

    +
    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
    +
    since

    v6.0.0

    +

    Returns (string | symbol)[]

  • every(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>), options?: ArrayOptions): Promise<boolean>
  • +

    This method is similar to Array.prototype.every and calls fn on each chunk in the stream +to check if all awaited return values are truthy value for fn. Once an fn call on a chunk +awaited return value is falsy, the stream is destroyed and the promise is fulfilled with false. +If all of the fn calls on the chunks return a truthy value, the promise is fulfilled with true.

    +
    since

    v17.5.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)
      +

      a function to call on each chunk of the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optional options: ArrayOptions

    Returns Promise<boolean>

    a promise evaluating to true if fn returned a truthy value for every one of the chunks.

    +
  • filter(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>), options?: ArrayOptions): Readable
  • +

    This method allows filtering the stream. For each chunk in the stream the fn function will be called +and if it returns a truthy value, the chunk will be passed to the result stream. +If the fn function returns a promise - that promise will be awaited.

    +
    since

    v17.4.0, v16.14.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)
      +

      a function to filter chunks from the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optional options: ArrayOptions

    Returns Readable

    a stream filtered with the predicate fn.

    +
  • find<T>(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => data is T), options?: ArrayOptions): Promise<undefined | T>
  • find(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>), options?: ArrayOptions): Promise<any>
  • +

    This method is similar to Array.prototype.find and calls fn on each chunk in the stream +to find a chunk with a truthy value for fn. Once an fn call's awaited return value is truthy, +the stream is destroyed and the promise is fulfilled with value for which fn returned a truthy value. +If all of the fn calls on the chunks return a falsy value, the promise is fulfilled with undefined.

    +
    since

    v17.5.0

    +

    Type Parameters

    • T

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => data is T)
      +

      a function to call on each chunk of the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): data is T
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns data is T

    • Optional options: ArrayOptions

    Returns Promise<undefined | T>

    a promise evaluating to the first chunk for which fn evaluated with a truthy value, +or undefined if no element was found.

    +
  • Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)
        • (data: any, options?: Pick<ArrayOptions, "signal">): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optional options: ArrayOptions

    Returns Promise<any>

  • flatMap(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any), options?: ArrayOptions): Readable
  • +

    This method returns a new stream by applying the given callback to each chunk of the stream +and then flattening the result.

    +

    It is possible to return a stream or another iterable or async iterable from fn and the result streams +will be merged (flattened) into the returned stream.

    +
    since

    v17.5.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any)
      +

      a function to map over every chunk in the stream. May be async. May be a stream or generator.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): any
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns any

    • Optional options: ArrayOptions

    Returns Readable

    a stream flat-mapped with the function fn.

    +
  • forEach(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => void | Promise<void>), options?: ArrayOptions): Promise<void>
  • +

    This method allows iterating a stream. For each chunk in the stream the fn function will be called. +If the fn function returns a promise - that promise will be awaited.

    +

    This method is different from for await...of loops in that it can optionally process chunks concurrently. +In addition, a forEach iteration can only be stopped by having passed a signal option +and aborting the related AbortController while for await...of can be stopped with break or return. +In either case the stream will be destroyed.

    +

    This method is different from listening to the 'data' event in that it uses the readable event +in the underlying machinary and can limit the number of concurrent fn calls.

    +
    since

    v17.5.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => void | Promise<void>)
      +

      a function to call on each chunk of the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): void | Promise<void>
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns void | Promise<void>

    • Optional options: ArrayOptions

    Returns Promise<void>

    a promise for when the stream has finished.

    +
  • get(name: "set-cookie"): undefined | string[]
  • get(name: string): undefined | string
  • +

    Return request header.

    +

    The Referrer header field is special-cased, +both Referrer and Referer are interchangeable.

    +

    Examples:

    +
    req.get('Content-Type');
    // => "text/plain"

    req.get('content-type');
    // => "text/plain"

    req.get('Something');
    // => undefined +
    +

    Aliased as req.header().

    +

    Parameters

    • name: "set-cookie"

    Returns undefined | string[]

  • Parameters

    • name: string

    Returns undefined | string

  • getMaxListeners(): number
  • +

    Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to {@link defaultMaxListeners}.

    +
    since

    v1.0.0

    +

    Returns number

  • header(name: "set-cookie"): undefined | string[]
  • header(name: string): undefined | string
  • Parameters

    • name: "set-cookie"

    Returns undefined | string[]

  • Parameters

    • name: string

    Returns undefined | string

  • is(type: string | string[]): null | string | false
  • +

    Check if the incoming request contains the "Content-Type" +header field, and it contains the give mime type.

    +

    Examples:

    +
     // With Content-Type: text/html; charset=utf-8
    req.is('html');
    req.is('text/html');
    req.is('text/*');
    // => true

    // When Content-Type is application/json
    req.is('json');
    req.is('application/json');
    req.is('application/*');
    // => true

    req.is('html');
    // => false +
    +

    Parameters

    • type: string | string[]

    Returns null | string | false

  • isPaused(): boolean
  • +

    The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most +typical cases, there will be no reason to +use this method directly.

    +
    const readable = new stream.Readable();

    readable.isPaused(); // === false
    readable.pause();
    readable.isPaused(); // === true
    readable.resume();
    readable.isPaused(); // === false +
    +
    since

    v0.11.14

    +

    Returns boolean

  • iterator(options?: { destroyOnReturn?: boolean }): AsyncIterableIterator<any>
  • +

    The iterator created by this method gives users the option to cancel the destruction +of the stream if the for await...of loop is exited by return, break, or throw, +or if the iterator should destroy the stream if the stream emitted an error during iteration.

    +
    since

    v16.3.0

    +

    Parameters

    • Optional options: { destroyOnReturn?: boolean }
      • Optional destroyOnReturn?: boolean
        +

        When set to false, calling return on the async iterator, +or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. +Default: true.

        +

    Returns AsyncIterableIterator<any>

  • listenerCount<K>(eventName: string | symbol, listener?: Function): number
  • +

    Returns the number of listeners listening for the event named eventName. +If listener is provided, it will return how many times the listener is found +in the list of the listeners of the event.

    +
    since

    v3.2.0

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
      +

      The name of the event being listened for

      +
    • Optional listener: Function
      +

      The event handler function

      +

    Returns number

  • listeners<K>(eventName: string | symbol): Function[]
  • +

    Returns a copy of the array of listeners for the event named eventName.

    +
    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ] +
    +
    since

    v0.1.26

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

  • map(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any), options?: ArrayOptions): Readable
  • +

    This method allows mapping over the stream. The fn function will be called for every chunk in the stream. +If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

    +
    since

    v17.4.0, v16.14.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => any)
      +

      a function to map over every chunk in the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): any
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns any

    • Optional options: ArrayOptions

    Returns Readable

    a stream mapped with the function fn.

    +
  • off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionRequest
  • +

    Alias for emitter.removeListener().

    +
    since

    v10.0.0

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • param(name: string, defaultValue?: any): string
  • deprecated

    since 4.11 Use either req.params, req.body or req.query, as applicable.

    +

    Return the value of param name when present or defaultValue.

    +
      +
    • Checks route placeholders, ex: /user/:id
    • +
    • Checks body params, ex: id=12, {"id":12}
    • +
    • Checks query string params, ex: ?id=12
    • +
    +

    To utilize request bodies, req.body +should be an object. This can be done by using +the connect.bodyParser() middleware.

    +

    Parameters

    • name: string
    • Optional defaultValue: any

    Returns string

  • +

    The readable.pause() method will cause a stream in flowing mode to stop +emitting 'data' events, switching out of flowing mode. Any data that +becomes available will remain in the internal buffer.

    +
    const readable = getReadableStreamSomehow();
    readable.on('data', (chunk) => {
    console.log(`Received ${chunk.length} bytes of data.`);
    readable.pause();
    console.log('There will be no additional data for 1 second.');
    setTimeout(() => {
    console.log('Now data will start flowing again.');
    readable.resume();
    }, 1000);
    }); +
    +

    The readable.pause() method has no effect if there is a 'readable'event listener.

    +
    since

    v0.9.4

    +

    Returns SessionRequest

  • pipe<T>(destination: T, options?: { end?: boolean }): T
  • Type Parameters

    • T extends WritableStream<T>

    Parameters

    • destination: T
    • Optional options: { end?: boolean }
      • Optional end?: boolean

    Returns T

  • prependListener(event: "close", listener: (() => void)): SessionRequest
  • prependListener(event: "data", listener: ((chunk: any) => void)): SessionRequest
  • prependListener(event: "end", listener: (() => void)): SessionRequest
  • prependListener(event: "error", listener: ((err: Error) => void)): SessionRequest
  • prependListener(event: "pause", listener: (() => void)): SessionRequest
  • prependListener(event: "readable", listener: (() => void)): SessionRequest
  • prependListener(event: "resume", listener: (() => void)): SessionRequest
  • prependListener(event: string | symbol, listener: ((...args: any[]) => void)): SessionRequest
  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • prependOnceListener(event: "close", listener: (() => void)): SessionRequest
  • prependOnceListener(event: "data", listener: ((chunk: any) => void)): SessionRequest
  • prependOnceListener(event: "end", listener: (() => void)): SessionRequest
  • prependOnceListener(event: "error", listener: ((err: Error) => void)): SessionRequest
  • prependOnceListener(event: "pause", listener: (() => void)): SessionRequest
  • prependOnceListener(event: "readable", listener: (() => void)): SessionRequest
  • prependOnceListener(event: "resume", listener: (() => void)): SessionRequest
  • prependOnceListener(event: string | symbol, listener: ((...args: any[]) => void)): SessionRequest
  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • push(chunk: any, encoding?: BufferEncoding): boolean
  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding

    Returns boolean

  • range(size: number, options?: Options): undefined | Ranges | Result
  • +

    Parse Range header field, capping to the given size.

    +

    Unspecified ranges such as "0-" require knowledge of your resource length. In +the case of a byte range this is of course the total number of bytes. +If the Range header field is not given undefined is returned. +If the Range header field is given, return value is a result of range-parser. +See more ./types/range-parser/index.d.ts

    +

    NOTE: remember that ranges are inclusive, so for example "Range: users=0-3" +should respond with 4 users when available, not 3.

    +

    Parameters

    • size: number
    • Optional options: Options

    Returns undefined | Ranges | Result

  • rawListeners<K>(eventName: string | symbol): Function[]
  • +

    Returns a copy of the array of listeners for the event named eventName, +including any wrappers (such as those created by .once()).

    +
    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log'); +
    +
    since

    v9.4.0

    +

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

  • read(size?: number): any
  • +

    The readable.read() method reads data out of the internal buffer and +returns it. If no data is available to be read, null is returned. By default, +the data is returned as a Buffer object unless an encoding has been +specified using the readable.setEncoding() method or the stream is operating +in object mode.

    +

    The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which +case all of the data remaining in the internal +buffer will be returned.

    +

    If the size argument is not specified, all of the data contained in the +internal buffer will be returned.

    +

    The size argument must be less than or equal to 1 GiB.

    +

    The readable.read() method should only be called on Readable streams +operating in paused mode. In flowing mode, readable.read() is called +automatically until the internal buffer is fully drained.

    +
    const readable = getReadableStreamSomehow();

    // 'readable' may be triggered multiple times as data is buffered in
    readable.on('readable', () => {
    let chunk;
    console.log('Stream is readable (new data received in buffer)');
    // Use a loop to make sure we read all currently available data
    while (null !== (chunk = readable.read())) {
    console.log(`Read ${chunk.length} bytes of data...`);
    }
    });

    // 'end' will be triggered once when there is no more data available
    readable.on('end', () => {
    console.log('Reached end of stream.');
    }); +
    +

    Each call to readable.read() returns a chunk of data, or null. The chunks +are not concatenated. A while loop is necessary to consume all data +currently in the buffer. When reading a large file .read() may return null, +having consumed all buffered content so far, but there is still more data to +come not yet buffered. In this case a new 'readable' event will be emitted +when there is more data in the buffer. Finally the 'end' event will be +emitted when there is no more data to come.

    +

    Therefore to read a file's whole contents from a readable, it is necessary +to collect chunks across multiple 'readable' events:

    +
    const chunks = [];

    readable.on('readable', () => {
    let chunk;
    while (null !== (chunk = readable.read())) {
    chunks.push(chunk);
    }
    });

    readable.on('end', () => {
    const content = chunks.join('');
    }); +
    +

    A Readable stream in object mode will always return a single item from +a call to readable.read(size), regardless of the value of thesize argument.

    +

    If the readable.read() method returns a chunk of data, a 'data' event will +also be emitted.

    +

    Calling read after the 'end' event has +been emitted will return null. No runtime error will be raised.

    +
    since

    v0.9.4

    +

    Parameters

    • Optional size: number
      +

      Optional argument to specify how much data to read.

      +

    Returns any

  • reduce<T>(fn: ((previous: any, data: any, options?: Pick<ArrayOptions, "signal">) => T), initial?: undefined, options?: Pick<ArrayOptions, "signal">): Promise<T>
  • reduce<T>(fn: ((previous: T, data: any, options?: Pick<ArrayOptions, "signal">) => T), initial: T, options?: Pick<ArrayOptions, "signal">): Promise<T>
  • +

    This method calls fn on each chunk of the stream in order, passing it the result from the calculation +on the previous element. It returns a promise for the final value of the reduction.

    +

    If no initial value is supplied the first chunk of the stream is used as the initial value. +If the stream is empty, the promise is rejected with a TypeError with the ERR_INVALID_ARGS code property.

    +

    The reducer function iterates the stream element-by-element which means that there is no concurrency parameter +or parallelism. To perform a reduce concurrently, you can extract the async function to readable.map method.

    +
    since

    v17.5.0

    +

    Type Parameters

    • T = any

    Parameters

    • fn: ((previous: any, data: any, options?: Pick<ArrayOptions, "signal">) => T)
      +

      a reducer function to call over every chunk in the stream. Async or not.

      +
        • (previous: any, data: any, options?: Pick<ArrayOptions, "signal">): T
        • Parameters

          • previous: any
          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns T

    • Optional initial: undefined
      +

      the initial value to use in the reduction.

      +
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

    a promise for the final value of the reduction.

    +
  • Type Parameters

    • T = any

    Parameters

    • fn: ((previous: T, data: any, options?: Pick<ArrayOptions, "signal">) => T)
        • (previous: T, data: any, options?: Pick<ArrayOptions, "signal">): T
        • Parameters

          • previous: T
          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns T

    • initial: T
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<T>

  • +

    Removes all listeners, or those of the specified eventName.

    +

    It is bad practice to remove listeners added elsewhere in the code, +particularly when the EventEmitter instance was created by some other +component or module (e.g. sockets or file streams).

    +

    Returns a reference to the EventEmitter, so that calls can be chained.

    +
    since

    v0.1.26

    +

    Parameters

    • Optional eventName: string | symbol

    Returns SessionRequest

  • removeListener(event: "close", listener: (() => void)): SessionRequest
  • removeListener(event: "data", listener: ((chunk: any) => void)): SessionRequest
  • removeListener(event: "end", listener: (() => void)): SessionRequest
  • removeListener(event: "error", listener: ((err: Error) => void)): SessionRequest
  • removeListener(event: "pause", listener: (() => void)): SessionRequest
  • removeListener(event: "readable", listener: (() => void)): SessionRequest
  • removeListener(event: "resume", listener: (() => void)): SessionRequest
  • removeListener(event: string | symbol, listener: ((...args: any[]) => void)): SessionRequest
  • Parameters

    • event: "close"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "data"
    • listener: ((chunk: any) => void)
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "end"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "error"
    • listener: ((err: Error) => void)
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns SessionRequest

  • Parameters

    • event: "pause"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "readable"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: "resume"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • Parameters

    • event: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns SessionRequest

  • +

    The readable.resume() method causes an explicitly paused Readable stream to +resume emitting 'data' events, switching the stream into flowing mode.

    +

    The readable.resume() method can be used to fully consume the data from a +stream without actually processing any of that data:

    +
    getReadableStreamSomehow()
    .resume()
    .on('end', () => {
    console.log('Reached the end, but did not read anything.');
    }); +
    +

    The readable.resume() method has no effect if there is a 'readable'event listener.

    +
    since

    v0.9.4

    +

    Returns SessionRequest

  • +

    The readable.setEncoding() method sets the character encoding for +data read from the Readable stream.

    +

    By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +string format.

    +

    The Readable stream will properly handle multi-byte characters delivered +through the stream that would otherwise become improperly decoded if simply +pulled from the stream as Buffer objects.

    +
    const readable = getReadableStreamSomehow();
    readable.setEncoding('utf8');
    readable.on('data', (chunk) => {
    assert.equal(typeof chunk, 'string');
    console.log('Got %d characters of string data:', chunk.length);
    }); +
    +
    since

    v0.9.4

    +

    Parameters

    • encoding: BufferEncoding
      +

      The encoding to use.

      +

    Returns SessionRequest

  • +

    By default EventEmitters will print a warning if more than 10 listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The emitter.setMaxListeners() method allows the limit to be +modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

    +

    Returns a reference to the EventEmitter, so that calls can be chained.

    +
    since

    v0.3.5

    +

    Parameters

    • n: number

    Returns SessionRequest

  • +

    Calls message.socket.setTimeout(msecs, callback).

    +
    since

    v0.5.9

    +

    Parameters

    • msecs: number
    • Optional callback: (() => void)
        • (): void
        • Returns void

    Returns SessionRequest

  • some(fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>), options?: ArrayOptions): Promise<boolean>
  • +

    This method is similar to Array.prototype.some and calls fn on each chunk in the stream +until the awaited return value is true (or any truthy value). Once an fn call on a chunk +awaited return value is truthy, the stream is destroyed and the promise is fulfilled with true. +If none of the fn calls on the chunks return a truthy value, the promise is fulfilled with false.

    +
    since

    v17.5.0

    +

    Parameters

    • fn: ((data: any, options?: Pick<ArrayOptions, "signal">) => boolean | Promise<boolean>)
      +

      a function to call on each chunk of the stream. Async or not.

      +
        • (data: any, options?: Pick<ArrayOptions, "signal">): boolean | Promise<boolean>
        • Parameters

          • data: any
          • Optional options: Pick<ArrayOptions, "signal">

          Returns boolean | Promise<boolean>

    • Optional options: ArrayOptions

    Returns Promise<boolean>

    a promise evaluating to true if fn returned a truthy value for at least one of the chunks.

    +
  • take(limit: number, options?: Pick<ArrayOptions, "signal">): Readable
  • +

    This method returns a new stream with the first limit chunks.

    +
    since

    v17.5.0

    +

    Parameters

    • limit: number
      +

      the number of chunks to take from the readable.

      +
    • Optional options: Pick<ArrayOptions, "signal">

    Returns Readable

    a stream with limit chunks taken.

    +
  • toArray(options?: Pick<ArrayOptions, "signal">): Promise<any[]>
  • +

    This method allows easily obtaining the contents of a stream.

    +

    As this method reads the entire stream into memory, it negates the benefits of streams. It's intended +for interoperability and convenience, not as the primary way to consume streams.

    +
    since

    v17.5.0

    +

    Parameters

    • Optional options: Pick<ArrayOptions, "signal">

    Returns Promise<any[]>

    a promise containing an array with the contents of the stream.

    +
  • +

    The readable.unpipe() method detaches a Writable stream previously attached +using the pipe method.

    +

    If the destination is not specified, then all pipes are detached.

    +

    If the destination is specified, but no pipe is set up for it, then +the method does nothing.

    +
    const fs = require('node:fs');
    const readable = getReadableStreamSomehow();
    const writable = fs.createWriteStream('file.txt');
    // All the data from readable goes into 'file.txt',
    // but only for the first second.
    readable.pipe(writable);
    setTimeout(() => {
    console.log('Stop writing to file.txt.');
    readable.unpipe(writable);
    console.log('Manually close the file stream.');
    writable.end();
    }, 1000); +
    +
    since

    v0.9.4

    +

    Parameters

    • Optional destination: WritableStream
      +

      Optional specific stream to unpipe

      +

    Returns SessionRequest

  • unshift(chunk: any, encoding?: BufferEncoding): void
  • +

    Passing chunk as null signals the end of the stream (EOF) and behaves the +same as readable.push(null), after which no more data can be written. The EOF +signal is put at the end of the buffer and any buffered data will still be +flushed.

    +

    The readable.unshift() method pushes a chunk of data back into the internal +buffer. This is useful in certain situations where a stream is being consumed by +code that needs to "un-consume" some amount of data that it has optimistically +pulled out of the source, so that the data can be passed on to some other party.

    +

    The stream.unshift(chunk) method cannot be called after the 'end' event +has been emitted or a runtime error will be thrown.

    +

    Developers using stream.unshift() often should consider switching to +use of a Transform stream instead. See the API for stream implementers section for more information.

    +
    // Pull off a header delimited by \n\n.
    // Use unshift() if we get too much.
    // Call the callback with (error, header, stream).
    const { StringDecoder } = require('node:string_decoder');
    function parseHeader(stream, callback) {
    stream.on('error', callback);
    stream.on('readable', onReadable);
    const decoder = new StringDecoder('utf8');
    let header = '';
    function onReadable() {
    let chunk;
    while (null !== (chunk = stream.read())) {
    const str = decoder.write(chunk);
    if (str.includes('\n\n')) {
    // Found the header boundary.
    const split = str.split(/\n\n/);
    header += split.shift();
    const remaining = split.join('\n\n');
    const buf = Buffer.from(remaining, 'utf8');
    stream.removeListener('error', callback);
    // Remove the 'readable' listener before unshifting.
    stream.removeListener('readable', onReadable);
    if (buf.length)
    stream.unshift(buf);
    // Now the body of the message can be read from the stream.
    callback(null, header, stream);
    return;
    }
    // Still reading the header.
    header += str;
    }
    }
    } +
    +

    Unlike push, stream.unshift(chunk) will not +end the reading process by resetting the internal reading state of the stream. +This can cause unexpected results if readable.unshift() is called during a +read (i.e. from within a _read implementation on a +custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, +however it is best to simply avoid calling readable.unshift() while in the +process of performing a read.

    +
    since

    v0.9.11

    +

    Parameters

    • chunk: any
      +

      Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array, or null. For object mode +streams, chunk may be any JavaScript value.

      +
    • Optional encoding: BufferEncoding
      +

      Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

      +

    Returns void

  • +

    Prior to Node.js 0.10, streams did not implement the entire node:streammodule API as it is currently defined. (See Compatibility for more +information.)

    +

    When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +stream that uses +the old stream as its data source.

    +

    It will rarely be necessary to use readable.wrap() but the method has been +provided as a convenience for interacting with older Node.js applications and +libraries.

    +
    const { OldReader } = require('./old-api-module.js');
    const { Readable } = require('node:stream');
    const oreader = new OldReader();
    const myReader = new Readable().wrap(oreader);

    myReader.on('readable', () => {
    myReader.read(); // etc.
    }); +
    +
    since

    v0.9.4

    +

    Parameters

    • stream: ReadableStream
      +

      An "old style" readable stream

      +

    Returns SessionRequest

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Interface
  • Property
  • Class
  • Class with type parameter

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/framework_hapi.SessionRequest.html b/docs/interfaces/framework_hapi.SessionRequest.html new file mode 100644 index 000000000..8c0addade --- /dev/null +++ b/docs/interfaces/framework_hapi.SessionRequest.html @@ -0,0 +1,211 @@ +SessionRequest | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Request
    • SessionRequest

Index

Properties

app: RequestApplicationState
+

Application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name]. +See docs

+
auth: RequestAuth
+

Authentication information:

+
    +
  • artifacts - an artifact object received from the authentication strategy and used in authentication-related actions.
  • +
  • credentials - the credential object received during the authentication process. The presence of an object does not mean successful authentication.
  • +
  • error - the authentication error is failed and mode set to 'try'.
  • +
  • isAuthenticated - true if the request has been successfully authenticated, otherwise false.
  • +
  • isAuthorized - true is the request has been successfully authorized against the route authentication access configuration. If the route has not access rules defined or if the request failed +authorization, set to false.
  • +
  • mode - the route authentication mode.
  • +
  • strategy - the name of the strategy used. +See docs
  • +
+
events: RequestEvents
+

Access: read only and the public podium interface. +The request.events supports the following events:

+
    +
  • 'peek' - emitted for each chunk of payload data read from the client connection. The event method signature is function(chunk, encoding).
  • +
  • 'finish' - emitted when the request payload finished reading. The event method signature is function ().
  • +
  • 'disconnect' - emitted when a request errors or aborts unexpectedly. +See docs
  • +
+
headers: Dictionary<string>
+

The raw request headers (references request.raw.req.headers). +See docs

+
info: RequestInfo
+

Request information:

+
    +
  • acceptEncoding - the request preferred encoding.
  • +
  • cors - if CORS is enabled for the route, contains the following:
  • +
  • isOriginMatch - true if the request 'Origin' header matches the configured CORS restrictions. Set to false if no 'Origin' header is found or if it does not match. Note that this is only +available after the 'onRequest' extension point as CORS is configured per-route and no routing decisions are made at that point in the request lifecycle.
  • +
  • host - content of the HTTP 'Host' header (e.g. 'example.com:8080').
  • +
  • hostname - the hostname part of the 'Host' header (e.g. 'example.com').
  • +
  • id - a unique request identifier (using the format '{now}:{connection.info.id}:{5 digits counter}').
  • +
  • received - request reception timestamp.
  • +
  • referrer - content of the HTTP 'Referrer' (or 'Referer') header.
  • +
  • remoteAddress - remote client IP address.
  • +
  • remotePort - remote client port.
  • +
  • responded - request response timestamp (0 is not responded yet). +Note that the request.info object is not meant to be modified. +See docs
  • +
+
logs: RequestLog[]
+

An array containing the logged request events. +Note that this array will be empty if route log.collect is set to false.

+
method: HTTP_METHODS_PARTIAL_LOWERCASE
+

The request method in lower case (e.g. 'get', 'post').

+
mime: string
+

The parsed content-type header. Only available when payload parsing enabled and no payload error occurred.

+
orig: RequestOrig
+

An object containing the values of params, query, and payload before any validation modifications made. Only set when input validation is performed.

+
params: Dictionary<any>
+

An object where each key is a path parameter name with matching value as described in Path parameters.

+
paramsArray: string[]
+

An array containing all the path params values in the order they appeared in the path.

+
path: string
+

The request URI's pathname component.

+
payload: string | object | Readable | Buffer
+

The request payload based on the route payload.output and payload.parse settings. +TODO check this typing and add references / links.

+
plugins: PluginsStates
+

Plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state.

+
pre: Dictionary<any>
+

An object where each key is the name assigned by a route pre-handler methods function. The values are the raw values provided to the continuation function as argument. For the wrapped response +object, use responses.

+
preResponses: Dictionary<any>
+

Same as pre but represented as the response object created by the pre method.

+
query: RequestQuery
+

By default the object outputted from node's URL parse() method.

+
raw: { req: IncomingMessage; res: ServerResponse<IncomingMessage> }
+

An object containing the Node HTTP server objects. Direct interaction with these raw objects is not recommended.

+
    +
  • req - the node request object.
  • +
  • res - the node response object.
  • +
+

Type declaration

  • req: IncomingMessage
  • res: ServerResponse<IncomingMessage>
response: ResponseObject | Boom<any>
+

Access: read / write (see limitations below). +The response object when set. The object can be modified but must not be assigned another object. To replace the response with another from within an extension point, use reply(response) to +override with a different response. +In case of an aborted request the status code will be set to disconnectStatusCode.

+
route: RequestRoute
+

The request route information object and method +See docs +See docs

+
server: Server
+

Access: read only and the public server interface. +The server object.

+
state: Dictionary<any>
+

An object containing parsed HTTP state information (cookies) where each key is the cookie name and value is the matching cookie content after processing using any registered cookie definition.

+
url: URL
+

The parsed request URI.

+

Methods

  • active(): boolean
  • +

    Returns true when the request is active and processing should continue and false when the + request terminated early or completed its lifecycle. Useful when request processing is a +resource-intensive operation and should be terminated early if the request is no longer active +(e.g. client disconnected or aborted early).

    +

    Returns boolean

  • addListener<TArgs, Tcontext>(criteria: string | CriteriaObject, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • addListener<TArgs, Tcontext>(criteria: string | CriteriaObject, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • +

    Subscribe a handler to an event. Same as podium.on().

    +

    Type Parameters

    • TArgs extends any[] = unknown[]

    • Tcontext extends object = SessionRequest

    Parameters

    • criteria: string | CriteriaObject
      +

      The subscription criteria.

      +
    • listener: Listener<Tcontext, TArgs>
      +

      The handler method set to receive event updates. The function signature + depends on the block, spread, and tags options.

      +
    • Optional context: Tcontext
      +

      Optional object that binds to the listener handler.

      +

    Returns SessionRequest

    A reference to the current emitter.

    +
  • Type Parameters

    Parameters

    • criteria: string | CriteriaObject
    • listener: Listener<Tcontext, TArgs>
    • Optional context: Tcontext

    Returns SessionRequest

  • emit(criteria: string | EmitCriteria, data?: any): Promise<void>
  • +

    Emits an event update to all the subscribed listeners.

    +

    Parameters

    • criteria: string | EmitCriteria
      +

      The event update criteria.

      +
    • Optional data: any
      +

      The value emitted to the subscribers.

      +

    Returns Promise<void>

    Promise that resolves when all events has been processed. Any errors will cause an +immediate rejection.

    +
  • generateResponse(source: null | string | object, options?: { variety?: string; close?: any; marshal?: any; prepare?: any }): ResponseObject
  • +

    Returns a response which you can pass into the reply interface where:

    +

    Parameters

    • source: null | string | object
      +

      the value to set as the source of the reply interface, optional.

      +
    • Optional options: { variety?: string; close?: any; marshal?: any; prepare?: any }
      +

      options for the method, optional.

      +
      • Optional variety?: string
      • close?:function
        • close(response: ResponseObject): void
        • Parameters

          • response: ResponseObject

          Returns void

      • marshal?:function
        • marshal(response: ResponseObject): Promise<ResponseValue>
        • Parameters

          • response: ResponseObject

          Returns Promise<ResponseValue>

      • prepare?:function
        • prepare(response: ResponseObject): Promise<ResponseObject>
        • Parameters

          • response: ResponseObject

          Returns Promise<ResponseObject>

    Returns ResponseObject

    ResponseObject +See docs

    +
  • hasListeners(name: string): boolean
  • +

    Returns whether an event has any listeners subscribed.

    +

    Parameters

    • name: string
      +

      the event name string.

      +

    Returns boolean

    true if the event name has any listeners, otherwise false.

    +
  • log(tags: string | string[], data?: string | object | (() => string | object)): void
  • +

    Logs request-specific events. When called, the server emits a 'request' event which can be used by other listeners or plugins. The arguments are:

    +

    Parameters

    • tags: string | string[]
      +

      a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism + for describing and filtering events.

      +
    • Optional data: string | object | (() => string | object)
      +

      (optional) an message string or object with the application data being logged. If data is a function, the function signature is function() and it called once to generate (return + value) the actual data emitted to the listeners. Any logs generated by the server internally will be emitted only on the 'request-internal' channel and will include the event.internal flag + set to true.

      +

    Returns void

    void +See docs

    +
  • on<TArgs, Tcontext>(criteria: string | CriteriaObject, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • on<TArgs, Tcontext>(criteria: string | CriteriaObject, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • +

    Subscribe a handler to an event.

    +

    Type Parameters

    • TArgs extends any[] = unknown[]

    • Tcontext extends object = SessionRequest

    Parameters

    • criteria: string | CriteriaObject
      +

      The subscription criteria.

      +
    • listener: Listener<Tcontext, TArgs>
      +

      The handler method set to receive event updates. The function signature + depends on the block, spread, and tags options.

      +
    • Optional context: Tcontext
      +

      Optional object that binds to the listener handler.

      +

    Returns SessionRequest

    A reference to the current emitter.

    +
  • Type Parameters

    Parameters

    • criteria: string | CriteriaObject
    • listener: Listener<Tcontext, TArgs>
    • Optional context: Tcontext

    Returns SessionRequest

  • once<TArgs, Tcontext>(criteria: string | Omit<CriteriaObject, "count">, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • once<TArgs, Tcontext>(criteria: string | Omit<CriteriaObject, "count">, listener: Listener<Tcontext, TArgs>, context?: Tcontext): SessionRequest
  • once<TArgs, Tcontext>(criteria: string | Omit<CriteriaObject, "count">): Promise<TArgs>
  • once<TArgs, Tcontext>(criteria: string | Omit<CriteriaObject, "count">): Promise<TArgs>
  • +

    Same as podium.on() with the count option set to 1.

    +

    Can also be called without an listener to wait for a single event.

    +

    Type Parameters

    • TArgs extends any[] = unknown[]

    • Tcontext extends object = SessionRequest

    Parameters

    • criteria: string | Omit<CriteriaObject, "count">
      +

      The subscription criteria.

      +
    • listener: Listener<Tcontext, TArgs>
      +

      The handler method set to receive event updates. The function signature + depends on the block, spread, and tags options.

      +
    • Optional context: Tcontext
      +

      Optional object that binds to the listener handler.

      +

    Returns SessionRequest

    A reference to the current emitter.

    +
  • Type Parameters

    Parameters

    • criteria: string | Omit<CriteriaObject, "count">
    • listener: Listener<Tcontext, TArgs>
    • Optional context: Tcontext

    Returns SessionRequest

  • +

    Wait for a single event. The count option is fixed to 1.

    +

    Type Parameters

    • TArgs extends any[] = unknown[]

    • Tcontext extends void = void

    Parameters

    • criteria: string | Omit<CriteriaObject, "count">
      +

      The subscription criteria.

      +

    Returns Promise<TArgs>

    Promise with array of emitted parameters.

    +
  • Type Parameters

    • TArgs extends any[] = any[]

    • Tcontext extends void = void

    Parameters

    • criteria: string | Omit<CriteriaObject, "count">

    Returns Promise<TArgs>

  • registerEvent(events: Event | Event[]): void
  • +

    Register the specified events and their optional configuration. Events must be registered +before they can be emitted or subscribed to. This is done to detect event name mispelling +and invalid event activities.

    +

    Parameters

    • events: Event | Event[]
      +

      The event(s) to register.

      +

    Returns void

  • registerPodium(podiums: Podium | Podium[]): void
  • +

    Registers another emitter as an event source for the current emitter (any event update +emitted by the source emitter is passed to any subscriber of the current emitter).

    +

    Note that any events registered with a source emitter are automatically added to the current +emitter. If the events are already registered, they are left as-is.

    +

    Parameters

    • podiums: Podium | Podium[]
      +

      A Podium object or an array of objects, each added as a source.

      +

    Returns void

  • +

    Removes all listeners subscribed to a given event name.

    +

    Parameters

    • name: string
      +

      The event name string.

      +

    Returns SessionRequest

    A reference to the current emitter.

    +
  • removeListener(name: string, listener: Listener<any, any[]>): SessionRequest
  • +

    Removes all listeners subscribed to a given event name matching the provided listener method.

    +

    Parameters

    • name: string
      +

      The event name string.

      +
    • listener: Listener<any, any[]>
      +

      The function reference provided when subscribed.

      +

    Returns SessionRequest

    A reference to the current emitter.

    +
  • setMethod(method: HTTP_METHODS_PARTIAL): void
  • +

    Changes the request method before the router begins processing the request where:

    +

    Parameters

    • method: HTTP_METHODS_PARTIAL
      +

      is the request HTTP method (e.g. 'GET').

      +

    Returns void

    void +Can only be called from an 'onRequest' extension method. +See docs

    +
  • setUrl(url: string | URL, stripTrailingSlash?: boolean): void
  • +

    Changes the request URI before the router begins processing the request where: +Can only be called from an 'onRequest' extension method.

    +

    Parameters

    • url: string | URL
      +

      the new request URI. If url is a string, it is parsed with node's URL parse() method with parseQueryString set to true. url can also be set to an object compatible with node's URL + parse() method output.

      +
    • Optional stripTrailingSlash: boolean
      +

      if true, strip the trailing slash from the path. Defaults to false.

      +

    Returns void

    void +See docs

    +

Legend

  • Variable
  • Function
  • Function with type parameter
  • Type alias
  • Type alias with type parameter
  • Interface
  • Property
  • Class
  • Class with type parameter

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/framework_koa.SessionContext.html b/docs/interfaces/framework_koa.SessionContext.html new file mode 100644 index 000000000..c122c6a00 --- /dev/null +++ b/docs/interfaces/framework_koa.SessionContext.html @@ -0,0 +1,214 @@ +SessionContext | supertokens-node
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Context
    • SessionContext

Index

Properties

URL: URL
+

Get WHATWG parsed URL object.

+
accept: Accepts
app: __module
assert: typeof assert
+

Similar to .throw(), adds assertion.

+

this.assert(this.user, 401, 'Please login!');

+

See: https://github.com/jshttp/http-assert

+
body: unknown
+

Get/Set response body.

+
cookies: Cookies
etag: string
+

Get/Set the ETag of a response. +This will normalize the quotes if necessary.

+
this.response.etag = 'md5hashsum';
this.response.etag = '"md5hashsum"';
this.response.etag = 'W/"123456789"'; +
+
param etag
api

public

+
fresh: boolean
+

Check if the request is fresh, aka +Last-Modified and/or the ETag +still match.

+
header: IncomingHttpHeaders
+

Return request header.

+
headerSent: boolean
+

Check if a header has been written to the socket.

+
headers: IncomingHttpHeaders
+

Return request header, alias as request.header

+
host: string
+

Parse the "Host" header field host +and support X-Forwarded-Host when a +proxy is enabled.

+
hostname: string
+

Parse the "Host" header field hostname +and support X-Forwarded-Host when a +proxy is enabled.

+
href: string
+

Get full request URL.

+
idempotent: boolean
+

Check if the request is idempotent.

+
ip: string
+

Request remote address. Supports X-Forwarded-For when app.proxy is true.

+
ips: string[]
+

When app.proxy is true, parse +the "X-Forwarded-For" ip address list.

+

For example if the value were "client, proxy1, proxy2" +you would receive the array ["client", "proxy1", "proxy2"] +where "proxy2" is the furthest down-stream.

+
lastModified: Date
+

Get the Last-Modified date in Date form, if it exists. +Set the Last-Modified date using a string or a Date.

+
this.response.lastModified = new Date();
this.response.lastModified = '2013-09-13'; +
+
length: number
+

Return parsed response Content-Length when present. +Set Content-Length field to n.

+
message: string
+

Get response status message

+
method: string
+

Get/Set request method.

+
origin: string
+

Get origin of URL.

+
originalUrl: string
path: string
+

Get request pathname. +Set pathname, retaining the query-string when present.

+
protocol: string
+

Return the protocol string "http" or "https" +when requested with TLS. When the proxy setting +is enabled the "X-Forwarded-Proto" header +field will be trusted. If you're running behind +a reverse proxy that supplies https for you this +may be enabled.

+
query: ParsedUrlQuery
+

Get parsed query-string. +Set query-string as an object.

+
querystring: string
+

Get/Set query string.

+
req: IncomingMessage
request: Request
res: ServerResponse<IncomingMessage>
respond?: boolean
+

To bypass Koa's built-in response handling, you may explicitly set ctx.respond = false;

+
response: Response & { body: unknown }
search: string
+

Get the search string. Same as the querystring +except it includes the leading ?.

+

Set the search string. Same as +response.querystring= but included for ubiquity.

+
secure: boolean
+

Short-hand for:

+

this.protocol == 'https'

+
socket: Socket
+

Return the request socket.

+
stale: boolean
+

Check if the request is stale, aka +"Last-Modified" and / or the "ETag" for the +resource has changed.

+
state: DefaultState
status: number
+

Get/Set response status code.

+
subdomains: string[]
+

Return subdomains as an array.

+

Subdomains are the dot-separated parts of the host before the main domain +of the app. By default, the domain of the app is assumed to be the last two +parts of the host. This can be changed by setting app.subdomainOffset.

+

For example, if the domain is "tobi.ferrets.example.com": +If app.subdomainOffset is not set, this.subdomains is +["ferrets", "tobi"]. +If app.subdomainOffset is 3, this.subdomains is ["tobi"].

+
type: string
+

Return the response mime type void of +parameters such as "charset".

+

Set Content-Type response header with type through mime.lookup() +when it does not contain a charset.

+

Examples:

+
this.type = '.html';
this.type = 'html';
this.type = 'json';
this.type = 'application/json';
this.type = 'png'; +
+
url: string
+

Get/Set request URL.

+
writable: boolean
+

Checks if the request is writable. +Tests for the existence of the socket +as node sometimes does not set it.

+

Methods

  • accepts(): string[]
  • accepts(...types: string[]): string | false
  • accepts(types: string[]): string | false
  • +

    Check if the given type(s) is acceptable, returning +the best match when true, otherwise false, in which +case you should respond with 406 "Not Acceptable".

    +

    The type value may be a single mime type string +such as "application/json", the extension name +such as "json" or an array ["json", "html", "text/plain"]. When a list +or array is given the best match, if any is returned.

    +

    Examples:

    +
    // Accept: text/html
    this.accepts('html');
    // => "html"

    // Accept: text/*, application/json
    this.accepts('html');
    // => "html"
    this.accepts('text/html');
    // => "text/html"
    this.accepts('json', 'text');
    // => "json"
    this.accepts('application/json');
    // => "application/json"

    // Accept: text/*, application/json
    this.accepts('image/png');
    this.accepts('png');
    // => undefined

    // Accept: text/*;q=.5, application/json
    this.accepts(['html', 'json']);
    this.accepts('html', 'json');
    // => "json" +
    +

    Returns string[]

  • Parameters

    • Rest ...types: string[]

    Returns string | false

  • Parameters

    • types: string[]

    Returns string | false

  • acceptsCharsets(): string[]
  • acceptsCharsets(...charsets: string[]): string | false
  • acceptsCharsets(charsets: string[]): string | false
  • +

    Return accepted charsets or best fit based on charsets.

    +

    Given Accept-Charset: utf-8, iso-8859-1;q=0.2, utf-7;q=0.5 +an array sorted by quality is returned:

    +
    ['utf-8', 'utf-7', 'iso-8859-1']
    +
    +

    Returns string[]

  • Parameters

    • Rest ...charsets: string[]

    Returns string | false

  • Parameters

    • charsets: string[]

    Returns string | false

  • acceptsEncodings(): string[]
  • acceptsEncodings(...encodings: string[]): string | false
  • acceptsEncodings(encodings: string[]): string | false
  • +

    Return accepted encodings or best fit based on encodings.

    +

    Given Accept-Encoding: gzip, deflate +an array sorted by quality is returned:

    +
    ['gzip', 'deflate']
    +
    +

    Returns string[]

  • Parameters

    • Rest ...encodings: string[]

    Returns string | false

  • Parameters

    • encodings: string[]

    Returns string | false

  • acceptsLanguages(): string[]
  • acceptsLanguages(...langs: string[]): string | false
  • acceptsLanguages(langs: string[]): string | false
  • +

    Return accepted languages or best fit based on langs.

    +

    Given Accept-Language: en;q=0.8, es, pt +an array sorted by quality is returned:

    +
    ['es', 'pt', 'en']
    +
    +

    Returns string[]

  • Parameters

    • Rest ...langs: string[]

    Returns string | false

  • Parameters

    • langs: string[]

    Returns string | false

  • append(field: string, val: string | string[]): void
  • +

    Append additional header field with value val.

    +

    Examples:

    +
    this.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
    this.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
    this.append('Warning', '199 Miscellaneous warning'); +
    +

    Parameters

    • field: string
    • val: string | string[]

    Returns void

  • attachment(filename?: string, options?: Options): void
  • +

    Set Content-Disposition to "attachment" to signal the client to prompt for download. +Optionally specify the filename of the download and some options.

    +

    Parameters

    • Optional filename: string
    • Optional options: Options

    Returns void

  • flushHeaders(): void
  • +

    Flush any set headers, and begin the body

    +

    Returns void

  • get(field: string): string
  • +

    Return request header. If the header is not set, will return an empty +string.

    +

    The Referrer header field is special-cased, both Referrer and +Referer are interchangeable.

    +

    Examples:

    +
    this.get('Content-Type');
    // => "text/plain"

    this.get('content-type');
    // => "text/plain"

    this.get('Something');
    // => '' +
    +

    Parameters

    • field: string

    Returns string

  • inspect(): any
  • +

    util.inspect() implementation, which +just returns the JSON output.

    +

    Returns any

  • is(...types: string[]): null | string | false
  • is(types: string[]): null | string | false
  • +

    Check if the incoming request contains the "Content-Type" +header field, and it contains any of the give mime types. +If there is no request body, null is returned. +If there is no content type, false is returned. +Otherwise, it returns the first type that matches.

    +

    Examples:

    +
    // With Content-Type: text/html; charset=utf-8
    this.is('html'); // => 'html'
    this.is('text/html'); // => 'text/html'
    this.is('text/*', 'application/json'); // => 'text/html'

    // When Content-Type is application/json
    this.is('json', 'urlencoded'); // => 'json'
    this.is('application/json'); // => 'application/json'
    this.is('html', 'application/*'); // => 'application/json'

    this.is('html'); // => false +
    +

    Parameters

    • Rest ...types: string[]

    Returns null | string | false

  • Parameters

    • types: string[]

    Returns null | string | false

  • onerror(err: Error): void
  • +

    Default error handling.

    +

    Parameters

    • err: Error

    Returns void

  • redirect(url: string, alt?: string): void
  • +

    Perform a 302 redirect to url.

    +

    The string "back" is special-cased +to provide Referrer support, when Referrer +is not present alt or "/" is used.

    +

    Examples:

    +

    this.redirect('back'); + this.redirect('back', '/index.html'); + this.redirect('/login'); + this.redirect('http://google.com');

    +

    Parameters

    • url: string
    • Optional alt: string

    Returns void

  • remove(field: string): void
  • +

    Remove header field.

    +

    Parameters

    • field: string

    Returns void

  • set(field: {}): void
  • set(field: string, val: string | string[]): void
  • +

    Set header field to val, or pass +an object of header fields.

    +

    Examples:

    +

    this.set('Foo', ['bar', 'baz']); + this.set('Accept', 'application/json'); + this.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });

    +

    Parameters

    • field: {}
      • [key: string]: string | string[]

    Returns void

  • Parameters

    • field: string
    • val: string | string[]

    Returns void

  • throw(message: string, code?: number, properties?: {}): never
  • throw(status: number): never
  • throw(...properties: (string | number | {})[]): never
  • +

    Throw an error with msg and optional status +defaulting to 500. Note that these are user-level +errors, and the message may be exposed to the client.

    +

    this.throw(403) + this.throw('name required', 400) + this.throw(400, 'name required') + this.throw('something exploded') + this.throw(new Error('invalid'), 400); + this.throw(400, new Error('invalid'));

    +

    See: https://github.com/jshttp/http-errors

    +

    Parameters

    • message: string
    • Optional code: number
    • Optional properties: {}

      Returns never

    • Parameters

      • status: number

      Returns never

    • Parameters

      • Rest ...properties: (string | number | {})[]

      Returns never

    • toJSON(): any
    • +

      Return JSON representation.

      +

      Here we explicitly invoke .toJSON() on each +object, as iteration will otherwise fail due +to the getters and cause utilities such as +clone() to fail.

      +

      Returns any

    • vary(field: string | string[]): void
    • +

      Vary on field.

      +

      Parameters

      • field: string | string[]

      Returns void

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Interface
    • Property
    • Class
    • Class with type parameter

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/framework_loopback.SessionContext.html b/docs/interfaces/framework_loopback.SessionContext.html new file mode 100644 index 000000000..dc9ae1e96 --- /dev/null +++ b/docs/interfaces/framework_loopback.SessionContext.html @@ -0,0 +1,407 @@ +SessionContext | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Hierarchy

    • MiddlewareContext
      • SessionContext

    Index

    Properties

    _debug: Debugger
    +

    A debug function which can be overridden by subclasses.

    +
    example
    import debugFactory from 'debug';
    const debug = debugFactory('loopback:context:application');
    export class Application extends Context {
    super('application');
    this._debug = debug;
    } +
    +
    _parent?: Context
    +

    Parent context

    +
    configResolver: ConfigurationResolver
    +

    Configuration resolver

    +
    name: string
    +

    Name of the context

    +
    registry: Map<string, Binding<any>>
    +

    Key to binding map as the internal registry

    +
    request: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>
    response: Response<any, Record<string, any>>
    responseFinished: boolean
    +

    A flag to tell if the response is finished.

    +
    scope: BindingScope
    +

    Scope for binding resolution

    +
    subscriptionManager: ContextSubscriptionManager
    +

    Manager for observer subscriptions

    +
    tagIndexer: ContextTagIndexer
    +

    Indexer for bindings by tag

    +

    Accessors

    • get parent(): undefined | Context
    • internal

      Getter for ContextSubscriptionManager

      +

      Returns undefined | Context

    Methods

    • [captureRejectionSymbol]<K>(error: Error, event: string | symbol, ...args: AnyRest): void
    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest ...args: AnyRest

      Returns void

    • _findByTagIndex<ValueType>(tag: RegExp | BindingTag): Readonly<Binding<ValueType>>[]
    • +

      Find bindings by tag leveraging indexes

      +

      Type Parameters

      • ValueType = any

      Parameters

      • tag: RegExp | BindingTag
        +

        Tag name pattern or name/value pairs

        +

      Returns Readonly<Binding<ValueType>>[]

    • _mergeWithParent<ValueType>(childList: Readonly<Binding<ValueType>>[], parentList?: Readonly<Binding<ValueType>>[]): Readonly<Binding<ValueType>>[]
    • Type Parameters

      • ValueType

      Parameters

      • childList: Readonly<Binding<ValueType>>[]
      • Optional parentList: Readonly<Binding<ValueType>>[]

      Returns Readonly<Binding<ValueType>>[]

    • +

      Add a binding to the context. If a locked binding already exists with the +same key, an error will be thrown.

      +

      Parameters

      • binding: Binding<unknown>
        +

        The configured binding to be added

        +

      Returns SessionContext

    • addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      Alias for emitter.on(eventName, listener).

      +
      since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • bind<ValueType>(key: BindingAddress<ValueType>): Binding<ValueType>
    • +

      Create a binding with the given key in the context. If a locked binding +already exists with the same key, an error will be thrown.

      +

      Type Parameters

      • ValueType = any

      Parameters

      • key: BindingAddress<ValueType>
        +

        Binding key

        +

      Returns Binding<ValueType>

    • close(): void
    • +

      Close the context: clear observers, stop notifications, and remove event +listeners from its parent context.

      +
      remarks

      This method MUST be called to avoid memory leaks once a context object is +no longer needed and should be recycled. An example is the RequestContext, +which is created per request.

      +

      Returns void

    • configure<ConfigValueType>(key?: BindingAddress<unknown>): Binding<ConfigValueType>
    • +

      Create a corresponding binding for configuration of the target bound by +the given key in the context.

      +

      For example, ctx.configure('controllers.MyController').to({x: 1}) will +create binding controllers.MyController:$config with value {x: 1}.

      +

      Type Parameters

      • ConfigValueType = any

      Parameters

      • Optional key: BindingAddress<unknown>
        +

        The key for the binding to be configured

        +

      Returns Binding<ConfigValueType>

    • contains(key: BindingAddress<unknown>): boolean
    • +

      Check if a binding exists with the given key in the local context without +delegating to the parent context

      +

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +

      Returns boolean

    • createView<T>(filter: BindingFilter, comparator?: BindingComparator, options?: Omit<ResolutionOptions, "session">): ContextView<T>
    • +

      Create a view of the context chain with the given binding filter

      +

      Type Parameters

      • T = unknown

      Parameters

      • filter: BindingFilter
        +

        A function to match bindings

        +
      • Optional comparator: BindingComparator
        +

        A function to sort matched bindings

        +
      • Optional options: Omit<ResolutionOptions, "session">
        +

        Resolution options

        +

      Returns ContextView<T>

    • debug(...args: unknown[]): void
    • +

      Wrap the debug statement so that it always print out the context name +as the prefix

      +

      Parameters

      • Rest ...args: unknown[]
        +

        Arguments for the debug

        +

      Returns void

    • emit<K>(eventName: string | symbol, ...args: AnyRest): boolean
    • +

      Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +to each.

      +

      Returns true if the event had listeners, false otherwise.

      +
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener +
      +
      since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • Rest ...args: AnyRest

      Returns boolean

    • emitError(err: unknown): void
    • +

      Emit an error event

      +

      Parameters

      • err: unknown
        +

        Error

        +

      Returns void

    • emitEvent<T>(type: string, event: T): void
    • +

      A strongly-typed method to emit context events

      +

      Type Parameters

      • T extends ContextEvent

      Parameters

      • type: string
        +

        Event type

        +
      • event: T
        +

        Context event

        +

      Returns void

    • eventNames(): (string | symbol)[]
    • +

      Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or Symbols.

      +
      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
      +
      since

      v6.0.0

      +

      Returns (string | symbol)[]

    • find<ValueType>(pattern?: string | RegExp | BindingFilter): Readonly<Binding<ValueType>>[]
    • +

      Find bindings using a key pattern or filter function

      +

      Type Parameters

      • ValueType = any

      Parameters

      • Optional pattern: string | RegExp | BindingFilter
        +

        A filter function, a regexp or a wildcard pattern with +optional * and ?. Find returns such bindings where the key matches +the provided pattern.

        +

        For a wildcard:

        +
          +
        • * matches zero or more characters except . and :
        • +
        • ? matches exactly one character except . and :
        • +
        +

        For a filter function:

        +
          +
        • return true to include the binding in the results
        • +
        • return false to exclude it.
        • +
        +

      Returns Readonly<Binding<ValueType>>[]

    • findByTag<ValueType>(tagFilter: RegExp | BindingTag): Readonly<Binding<ValueType>>[]
    • +

      Find bindings using the tag filter. If the filter matches one of the +binding tags, the binding is included.

      +

      Type Parameters

      • ValueType = any

      Parameters

      • tagFilter: RegExp | BindingTag
        +

        A filter for tags. It can be in one of the following +forms:

        +
          +
        • A regular expression, such as /controller/
        • +
        • A wildcard pattern string with optional * and ?, such as 'con*' +For a wildcard:
            +
          • * matches zero or more characters except . and :
          • +
          • ? matches exactly one character except . and :
          • +
          +
        • +
        • An object containing tag name/value pairs, such as +{name: 'my-controller'}
        • +
        +

      Returns Readonly<Binding<ValueType>>[]

    • findOrCreateBinding<T>(key: BindingAddress<T>, policy?: BindingCreationPolicy): Binding<T>
    • +

      Find or create a binding for the given key

      +

      Type Parameters

      • T

      Parameters

      • key: BindingAddress<T>
        +

        Binding address

        +
      • Optional policy: BindingCreationPolicy
        +

        Binding creation policy

        +

      Returns Binding<T>

    • get<ValueType>(keyWithPath: BindingAddress<ValueType>, session?: ResolutionSession): Promise<ValueType>
    • get<ValueType>(keyWithPath: BindingAddress<ValueType>, options: ResolutionOptions): Promise<undefined | ValueType>
    • +

      Get the value bound to the given key, throw an error when no value is +bound for the given key.

      +
      example
      // get the value bound to "application.instance"
      const app = await ctx.get<Application>('application.instance');

      // get "rest" property from the value bound to "config"
      const config = await ctx.get<RestComponentConfig>('config#rest');

      // get "a" property of "numbers" property from the value bound to "data"
      ctx.bind('data').to({numbers: {a: 1, b: 2}, port: 3000});
      const a = await ctx.get<number>('data#numbers.a'); +
      +

      Type Parameters

      • ValueType

      Parameters

      • keyWithPath: BindingAddress<ValueType>
        +

        The binding key, optionally suffixed with a path to the + (deeply) nested property to retrieve.

        +
      • Optional session: ResolutionSession
        +

        Optional session for resolution (accepted for backward +compatibility)

        +

      Returns Promise<ValueType>

      A promise of the bound value.

      +
    • +

      Get the value bound to the given key, optionally return a (deep) property +of the bound value.

      +
      example
      // get "rest" property from the value bound to "config"
      // use `undefined` when no config is provided
      const config = await ctx.get<RestComponentConfig>('config#rest', {
      optional: true
      }); +
      +

      Type Parameters

      • ValueType

      Parameters

      • keyWithPath: BindingAddress<ValueType>
        +

        The binding key, optionally suffixed with a path to the + (deeply) nested property to retrieve.

        +
      • options: ResolutionOptions
        +

        Options for resolution.

        +

      Returns Promise<undefined | ValueType>

      A promise of the bound value, or a promise of undefined when +the optional binding is not found.

      +
    • getBinding<ValueType>(key: BindingAddress<ValueType>): Binding<ValueType>
    • getBinding<ValueType>(key: BindingAddress<ValueType>, options?: { optional?: boolean }): undefined | Binding<ValueType>
    • +

      Look up a binding by key in the context and its ancestors. If no matching +binding is found, an error will be thrown.

      +

      Type Parameters

      • ValueType = any

      Parameters

      • key: BindingAddress<ValueType>
        +

        Binding key

        +

      Returns Binding<ValueType>

    • +

      Look up a binding by key in the context and its ancestors. If no matching +binding is found and options.optional is not set to true, an error will +be thrown.

      +

      Type Parameters

      • ValueType

      Parameters

      • key: BindingAddress<ValueType>
        +

        Binding key

        +
      • Optional options: { optional?: boolean }
        +

        Options to control if the binding is optional. If +options.optional is set to true, the method will return undefined +instead of throwing an error if the binding key is not found.

        +
        • Optional optional?: boolean

      Returns undefined | Binding<ValueType>

    • getConfig<ConfigValueType>(key: BindingAddress<unknown>, propertyPath?: string, resolutionOptions?: ResolutionOptions): Promise<undefined | ConfigValueType>
    • +

      Resolve configuration for the binding by key

      +

      Type Parameters

      • ConfigValueType

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +
      • Optional propertyPath: string
        +

        Property path for the option. For example, x.y +requests for <config>.x.y. If not set, the <config> object will be +returned.

        +
      • Optional resolutionOptions: ResolutionOptions
        +

        Options for the resolution.

        +

      Returns Promise<undefined | ConfigValueType>

    • getConfigAsValueOrPromise<ConfigValueType>(key: BindingAddress<unknown>, propertyPath?: string, resolutionOptions?: ResolutionOptions): ValueOrPromise<undefined | ConfigValueType>
    • +

      Get the value or promise of configuration for a given binding by key

      +

      Type Parameters

      • ConfigValueType

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +
      • Optional propertyPath: string
        +

        Property path for the option. For example, x.y +requests for <config>.x.y. If not set, the <config> object will be +returned.

        +
      • Optional resolutionOptions: ResolutionOptions
        +

        Options for the resolution.

        +
          +
        • optional: if not set or set to true, undefined will be returned if +no corresponding value is found. Otherwise, an error will be thrown.
        • +
        +

      Returns ValueOrPromise<undefined | ConfigValueType>

    • getConfigSync<ConfigValueType>(key: BindingAddress<unknown>, propertyPath?: string, resolutionOptions?: ResolutionOptions): undefined | ConfigValueType
    • +

      Resolve configuration synchronously for the binding by key

      +

      Type Parameters

      • ConfigValueType

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +
      • Optional propertyPath: string
        +

        Property path for the option. For example, x.y +requests for config.x.y. If not set, the config object will be +returned.

        +
      • Optional resolutionOptions: ResolutionOptions
        +

        Options for the resolution.

        +

      Returns undefined | ConfigValueType

    • getDebugNamespace(): string
    • +

      Get the debug namespace for the context class. Subclasses can override +this method to supply its own namespace.

      +
      example
      export class Application extends Context {
      super('application');
      }

      protected getDebugNamespace() {
      return 'loopback:context:application';
      } +
      +

      Returns string

    • getMaxListeners(): number
    • +

      Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to {@link defaultMaxListeners}.

      +
      since

      v1.0.0

      +

      Returns number

    • getOwnerContext(keyOrBinding: BindingAddress<unknown> | Readonly<Binding<unknown>>): undefined | Context
    • +

      Get the owning context for a binding or its key

      +

      Parameters

      • keyOrBinding: BindingAddress<unknown> | Readonly<Binding<unknown>>
        +

        Binding object or key

        +

      Returns undefined | Context

    • getResolutionContext(binding: Readonly<Binding<unknown>>): undefined | Context
    • +

      Locate the resolution context for the given binding. Only bindings in the +resolution context and its ancestors are visible as dependencies to resolve +the given binding

      +

      Parameters

      • binding: Readonly<Binding<unknown>>
        +

        Binding object

        +

      Returns undefined | Context

    • getScopedContext(scope: APPLICATION | SERVER | REQUEST): undefined | Context
    • +

      Get the context matching the scope

      +

      Parameters

      • scope: APPLICATION | SERVER | REQUEST
        +

        Binding scope

        +

      Returns undefined | Context

    • getSync<ValueType>(keyWithPath: BindingAddress<ValueType>, session?: ResolutionSession): ValueType
    • getSync<ValueType>(keyWithPath: BindingAddress<ValueType>, options?: ResolutionOptions): undefined | ValueType
    • +

      Get the synchronous value bound to the given key, optionally +return a (deep) property of the bound value.

      +

      This method throws an error if the bound value requires async computation +(returns a promise). You should never rely on sync bindings in production +code.

      +
      example
      // get the value bound to "application.instance"
      const app = ctx.getSync<Application>('application.instance');

      // get "rest" property from the value bound to "config"
      const config = await ctx.getSync<RestComponentConfig>('config#rest'); +
      +

      Type Parameters

      • ValueType

      Parameters

      • keyWithPath: BindingAddress<ValueType>
        +

        The binding key, optionally suffixed with a path to the + (deeply) nested property to retrieve.

        +
      • Optional session: ResolutionSession
        +

        Session for resolution (accepted for backward compatibility)

        +

      Returns ValueType

      A promise of the bound value.

      +
    • +

      Get the synchronous value bound to the given key, optionally +return a (deep) property of the bound value.

      +

      This method throws an error if the bound value requires async computation +(returns a promise). You should never rely on sync bindings in production +code.

      +
      example
      // get "rest" property from the value bound to "config"
      // use "undefined" when no config is provided
      const config = await ctx.getSync<RestComponentConfig>('config#rest', {
      optional: true
      }); +
      +

      Type Parameters

      • ValueType

      Parameters

      • keyWithPath: BindingAddress<ValueType>
        +

        The binding key, optionally suffixed with a path to the + (deeply) nested property to retrieve.

        +
      • Optional options: ResolutionOptions
        +

        Options for resolution.

        +

      Returns undefined | ValueType

      The bound value, or undefined when an optional binding is not found.

      +
    • getValueOrPromise<ValueType>(keyWithPath: BindingAddress<ValueType>, optionsOrSession?: ResolutionOptionsOrSession): ValueOrPromise<undefined | ValueType>
    • +

      Get the value bound to the given key.

      +

      This is an internal version that preserves the dual sync/async result +of Binding#getValue(). Users should use get() or getSync() instead.

      +
      example
      // get the value bound to "application.instance"
      ctx.getValueOrPromise<Application>('application.instance');

      // get "rest" property from the value bound to "config"
      ctx.getValueOrPromise<RestComponentConfig>('config#rest');

      // get "a" property of "numbers" property from the value bound to "data"
      ctx.bind('data').to({numbers: {a: 1, b: 2}, port: 3000});
      ctx.getValueOrPromise<number>('data#numbers.a'); +
      +
      internal

      Type Parameters

      • ValueType

      Parameters

      • keyWithPath: BindingAddress<ValueType>
        +

        The binding key, optionally suffixed with a path to the + (deeply) nested property to retrieve.

        +
      • Optional optionsOrSession: ResolutionOptionsOrSession
        +

        Options for resolution or a session

        +

      Returns ValueOrPromise<undefined | ValueType>

      The bound value or a promise of the bound value, depending + on how the binding is configured.

      +
    • inspect(options?: ContextInspectOptions): JSONObject
    • +

      Inspect the context and dump out a JSON object representing the context +hierarchy

      +

      Parameters

      • Optional options: ContextInspectOptions
        +

        Options for inspect

        +

      Returns JSONObject

    • isBound(key: BindingAddress<unknown>): boolean
    • +

      Check if a key is bound in the context or its ancestors

      +

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +

      Returns boolean

    • isSubscribed(observer: ContextObserver): boolean
    • +

      Check if an observer is subscribed to this context

      +

      Parameters

      • observer: ContextObserver
        +

        Context observer

        +

      Returns boolean

    • isVisibleTo(ctx: Context): boolean
    • +

      Check if this context is visible (same or ancestor) to the given one

      +

      Parameters

      • ctx: Context
        +

        Another context object

        +

      Returns boolean

    • listenerCount<K>(eventName: string | symbol, listener?: Function): number
    • +

      Returns the number of listeners listening for the event named eventName. +If listener is provided, it will return how many times the listener is found +in the list of the listeners of the event.

      +
      since

      v3.2.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
        +

        The name of the event being listened for

        +
      • Optional listener: Function
        +

        The event handler function

        +

      Returns number

    • listeners<K>(eventName: string | symbol): Function[]
    • +

      Returns a copy of the array of listeners for the event named eventName.

      +
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] +
      +
      since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

    • off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      Alias for emitter.removeListener().

      +
      since

      v10.0.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • on(eventName: "bind" | "unbind", listener: ContextEventListener): SessionContext
    • on(event: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      The "bind" event is emitted when a new binding is added to the context. +The "unbind" event is emitted when an existing binding is removed.

      +

      Parameters

      • eventName: "bind" | "unbind"
        +

        The name of the event - always bind or unbind.

        +
      • listener: ContextEventListener
        +

        The listener function to call when the event is emitted.

        +

      Returns SessionContext

    • Parameters

      • event: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • once(eventName: "bind" | "unbind", listener: ContextEventListener): SessionContext
    • once(event: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      The "bind" event is emitted when a new binding is added to the context. +The "unbind" event is emitted when an existing binding is removed.

      +

      Parameters

      • eventName: "bind" | "unbind"
        +

        The name of the event - always bind or unbind.

        +
      • listener: ContextEventListener
        +

        The listener function to call when the event is emitted.

        +

      Returns SessionContext

    • Parameters

      • event: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      Adds the listener function to the beginning of the listeners array for the +event named eventName. No checks are made to see if the listener has +already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple +times.

      +
      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      }); +
      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      since

      v6.0.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
        +

        The name of the event.

        +
      • listener: ((...args: any[]) => void)
        +

        The callback function

        +
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this +listener is removed, and then invoked.

      +
      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      }); +
      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      since

      v6.0.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
        +

        The name of the event.

        +
      • listener: ((...args: any[]) => void)
        +

        The callback function

        +
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • rawListeners<K>(eventName: string | symbol): Function[]
    • +

      Returns a copy of the array of listeners for the event named eventName, +including any wrappers (such as those created by .once()).

      +
      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); +
      +
      since

      v9.4.0

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

    • +

      Removes all listeners, or those of the specified eventName.

      +

      It is bad practice to remove listeners added elsewhere in the code, +particularly when the EventEmitter instance was created by some other +component or module (e.g. sockets or file streams).

      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      since

      v0.1.26

      +

      Parameters

      • Optional eventName: string | symbol

      Returns SessionContext

    • removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): SessionContext
    • +

      Removes the specified listener from the listener array for the event namedeventName.

      +
      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback); +
      +

      removeListener() will remove, at most, one instance of a listener from the +listener array. If any single listener has been added multiple times to the +listener array for the specified eventName, then removeListener() must be +called multiple times to remove each instance.

      +

      Once an event is emitted, all listeners attached to it at the +time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution +will not remove them fromemit() in progress. Subsequent events behave as expected.

      +
      import { EventEmitter } from 'node:events';
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A +
      +

      Because listeners are managed using an internal array, calling this will +change the position indices of any listener registered after the listener +being removed. This will not impact the order in which listeners are called, +but it means that any copies of the listener array as returned by +the emitter.listeners() method will need to be recreated.

      +

      When a single function has been added as a handler multiple times for a single +event (as in the example below), removeListener() will remove the most +recently added instance. In the example the once('ping')listener is removed:

      +
      import { EventEmitter } from 'node:events';
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping'); +
      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      since

      v0.1.26

      +

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns SessionContext

    • +

      By default EventEmitters will print a warning if more than 10 listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The emitter.setMaxListeners() method allows the limit to be +modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      since

      v0.3.5

      +

      Parameters

      • n: number

      Returns SessionContext

    • setupBindings(): void
    • Returns void

    • setupConfigurationResolverIfNeeded(): ConfigurationResolver
    • +

      Set up the configuration resolver if needed

      +

      Returns ConfigurationResolver

    • subscribe(observer: ContextEventObserver): Subscription
    • +

      Add a context event observer to the context

      +

      Parameters

      • observer: ContextEventObserver
        +

        Context observer instance or function

        +

      Returns Subscription

    • toJSON(): JSONObject
    • +

      Create a plain JSON object for the context

      +

      Returns JSONObject

    • unbind(key: BindingAddress<unknown>): boolean
    • +

      Unbind a binding from the context. No parent contexts will be checked.

      +
      remarks

      If you need to unbind a binding owned by a parent context, use the code +below:

      +
      const ownerCtx = ctx.getOwnerContext(key);
      return ownerCtx != null && ownerCtx.unbind(key); +
      +

      Parameters

      • key: BindingAddress<unknown>
        +

        Binding key

        +

      Returns boolean

      true if the binding key is found and removed from this context

      +
    • unsubscribe(observer: ContextEventObserver): boolean
    • +

      Remove the context event observer from the context

      +

      Parameters

      • observer: ContextEventObserver
        +

        Context event observer

        +

      Returns boolean

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Interface
    • Property
    • Class
    • Class with type parameter

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/recipe_session.SessionContainer.html b/docs/interfaces/recipe_session.SessionContainer.html new file mode 100644 index 000000000..a471f1056 --- /dev/null +++ b/docs/interfaces/recipe_session.SessionContainer.html @@ -0,0 +1 @@ +SessionContainer | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Hierarchy

    • SessionContainer

    Index

    Methods

    • attachToRequestResponse(reqResInfo: ReqResInfo, userContext?: Record<string, any>): void | Promise<void>
    • fetchAndSetClaim<T>(claim: SessionClaim<T>, userContext?: Record<string, any>): Promise<void>
    • getAccessToken(userContext?: Record<string, any>): string
    • getAccessTokenPayload(userContext?: Record<string, any>): any
    • getAllSessionTokensDangerously(): { accessAndFrontTokenUpdated: boolean; accessToken: string; antiCsrfToken: undefined | string; frontToken: string; refreshToken: undefined | string }
    • Returns { accessAndFrontTokenUpdated: boolean; accessToken: string; antiCsrfToken: undefined | string; frontToken: string; refreshToken: undefined | string }

      • accessAndFrontTokenUpdated: boolean
      • accessToken: string
      • antiCsrfToken: undefined | string
      • frontToken: string
      • refreshToken: undefined | string
    • getClaimValue<T>(claim: SessionClaim<T>, userContext?: Record<string, any>): Promise<undefined | T>
    • getExpiry(userContext?: Record<string, any>): Promise<number>
    • getHandle(userContext?: Record<string, any>): string
    • getRecipeUserId(userContext?: Record<string, any>): RecipeUserId
    • getSessionDataFromDatabase(userContext?: Record<string, any>): Promise<any>
    • getTenantId(userContext?: Record<string, any>): string
    • getTimeCreated(userContext?: Record<string, any>): Promise<number>
    • getUserId(userContext?: Record<string, any>): string
    • mergeIntoAccessTokenPayload(accessTokenPayloadUpdate: JSONObject, userContext?: Record<string, any>): Promise<void>
    • removeClaim(claim: SessionClaim<any>, userContext?: Record<string, any>): Promise<void>
    • revokeSession(userContext?: Record<string, any>): Promise<void>
    • setClaimValue<T>(claim: SessionClaim<T>, value: T, userContext?: Record<string, any>): Promise<void>
    • updateSessionDataInDatabase(newSessionData: any, userContext?: Record<string, any>): Promise<any>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Interface
    • Method
    • Class
    • Class with type parameter

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/recipe_session.VerifySessionOptions.html b/docs/interfaces/recipe_session.VerifySessionOptions.html new file mode 100644 index 000000000..81e7a644a --- /dev/null +++ b/docs/interfaces/recipe_session.VerifySessionOptions.html @@ -0,0 +1 @@ +VerifySessionOptions | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Interface
    • Property
    • Method
    • Class
    • Class with type parameter

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/interfaces/recipe_usermetadata.JSONObject.html b/docs/interfaces/recipe_usermetadata.JSONObject.html new file mode 100644 index 000000000..3fe29c809 --- /dev/null +++ b/docs/interfaces/recipe_usermetadata.JSONObject.html @@ -0,0 +1 @@ +JSONObject | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 000000000..4849c369e --- /dev/null +++ b/docs/modules.html @@ -0,0 +1 @@ +supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    supertokens-node

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework.html b/docs/modules/framework.html new file mode 100644 index 000000000..3ddbb4522 --- /dev/null +++ b/docs/modules/framework.html @@ -0,0 +1 @@ +framework | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework

    Index

    Variables

    awsLambda: framework/awsLambda = awsLambdaFramework
    default: { awsLambda: framework/awsLambda; express: framework/express; fastify: framework/fastify; hapi: framework/hapi; koa: framework/koa; loopback: framework/loopback }

    Type declaration

    express: framework/express = expressFramework
    fastify: framework/fastify = fastifyFramework
    hapi: framework/hapi = hapiFramework
    koa: framework/koa = koaFramework
    loopback: framework/loopback = loopbackFramework

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_awsLambda.html b/docs/modules/framework_awsLambda.html new file mode 100644 index 000000000..5710d1ed7 --- /dev/null +++ b/docs/modules/framework_awsLambda.html @@ -0,0 +1 @@ +framework/awsLambda | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/awsLambda

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_custom.html b/docs/modules/framework_custom.html new file mode 100644 index 000000000..d42a0001f --- /dev/null +++ b/docs/modules/framework_custom.html @@ -0,0 +1 @@ +framework/custom | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/custom

    Index

    Functions

    • middleware<OrigReqType, OrigRespType>(wrapRequest?: ((req: OrigReqType) => BaseRequest), wrapResponse?: ((req: OrigRespType) => BaseResponse)): ((request: OrigReqType, response: OrigRespType, next?: NextFunction) => Promise<{ error: undefined; handled: boolean } | { error: any; handled: undefined }>)
    • Type Parameters

      Parameters

      Returns ((request: OrigReqType, response: OrigRespType, next?: NextFunction) => Promise<{ error: undefined; handled: boolean } | { error: any; handled: undefined }>)

        • (request: OrigReqType, response: OrigRespType, next?: NextFunction): Promise<{ error: undefined; handled: boolean } | { error: any; handled: undefined }>
        • Parameters

          • request: OrigReqType
          • response: OrigRespType
          • Optional next: NextFunction

          Returns Promise<{ error: undefined; handled: boolean } | { error: any; handled: undefined }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_express.html b/docs/modules/framework_express.html new file mode 100644 index 000000000..76271eae3 --- /dev/null +++ b/docs/modules/framework_express.html @@ -0,0 +1 @@ +framework/express | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/express

    Index

    Functions

    • errorHandler(): ((err: any, req: Request, res: Response, next: NextFunction) => Promise<void>)
    • Returns ((err: any, req: Request, res: Response, next: NextFunction) => Promise<void>)

        • (err: any, req: Request, res: Response, next: NextFunction): Promise<void>
        • Parameters

          • err: any
          • req: Request
          • res: Response
          • next: NextFunction

          Returns Promise<void>

    • middleware(): ((req: Request, res: Response, next: NextFunction) => Promise<void>)
    • Returns ((req: Request, res: Response, next: NextFunction) => Promise<void>)

        • (req: Request, res: Response, next: NextFunction): Promise<void>
        • Parameters

          • req: Request
          • res: Response
          • next: NextFunction

          Returns Promise<void>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_fastify.html b/docs/modules/framework_fastify.html new file mode 100644 index 000000000..090ad847b --- /dev/null +++ b/docs/modules/framework_fastify.html @@ -0,0 +1 @@ +framework/fastify | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/fastify

    Index

    Type Aliases

    SessionRequest<TRequest>: TRequest & { session?: SessionContainer }

    Type Parameters

    • TRequest extends OriginalFastifyRequest = OriginalFastifyRequest

    Functions

    • errorHandler(): ((err: any, req: FastifyRequest<RouteGenericInterface, RawServerDefault, IncomingMessage>, res: FastifyReply<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, RouteGenericInterface, unknown>) => Promise<void>)
    • Returns ((err: any, req: FastifyRequest<RouteGenericInterface, RawServerDefault, IncomingMessage>, res: FastifyReply<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, RouteGenericInterface, unknown>) => Promise<void>)

        • (err: any, req: FastifyRequest<RouteGenericInterface, RawServerDefault, IncomingMessage>, res: FastifyReply<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, RouteGenericInterface, unknown>): Promise<void>
        • Parameters

          • err: any
          • req: FastifyRequest<RouteGenericInterface, RawServerDefault, IncomingMessage>
          • res: FastifyReply<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, RouteGenericInterface, unknown>

          Returns Promise<void>

    • plugin(instance: FastifyInstance<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, FastifyLoggerInstance>, opts: Record<never, never>, done: ((err?: Error) => void)): void
    • Parameters

      • instance: FastifyInstance<RawServerDefault, IncomingMessage, ServerResponse<IncomingMessage>, FastifyLoggerInstance>
      • opts: Record<never, never>
      • done: ((err?: Error) => void)
          • (err?: Error): void
          • Parameters

            • Optional err: Error

            Returns void

      Returns void

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_hapi.html b/docs/modules/framework_hapi.html new file mode 100644 index 000000000..f47e5cdee --- /dev/null +++ b/docs/modules/framework_hapi.html @@ -0,0 +1 @@ +framework/hapi | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/hapi

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_koa.html b/docs/modules/framework_koa.html new file mode 100644 index 000000000..3a25d4d29 --- /dev/null +++ b/docs/modules/framework_koa.html @@ -0,0 +1 @@ +framework/koa | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/koa

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/framework_loopback.html b/docs/modules/framework_loopback.html new file mode 100644 index 000000000..52e7a7c05 --- /dev/null +++ b/docs/modules/framework_loopback.html @@ -0,0 +1 @@ +framework/loopback | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module framework/loopback

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/index.html b/docs/modules/index.html new file mode 100644 index 000000000..0a3d58a6b --- /dev/null +++ b/docs/modules/index.html @@ -0,0 +1 @@ +index | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Index

    Variables

    Error: typeof default = SuperTokensWrapper.Error

    Functions

    • createUserIdMapping(input: { externalUserId: string; externalUserIdInfo?: string; force?: boolean; superTokensUserId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" | "UNKNOWN_SUPERTOKENS_USER_ID_ERROR" } | { doesExternalUserIdExist: boolean; doesSuperTokensUserIdExist: boolean; status: "USER_ID_MAPPING_ALREADY_EXISTS_ERROR" }>
    • Parameters

      • input: { externalUserId: string; externalUserIdInfo?: string; force?: boolean; superTokensUserId: string; userContext?: Record<string, any> }
        • externalUserId: string
        • Optional externalUserIdInfo?: string
        • Optional force?: boolean
        • superTokensUserId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_SUPERTOKENS_USER_ID_ERROR" } | { doesExternalUserIdExist: boolean; doesSuperTokensUserIdExist: boolean; status: "USER_ID_MAPPING_ALREADY_EXISTS_ERROR" }>

    • deleteUser(userId: string, removeAllLinkedAccounts?: boolean, userContext?: Record<string, any>): Promise<{ status: "OK" }>
    • Parameters

      • userId: string
      • removeAllLinkedAccounts: boolean = true
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" }>

    • deleteUserIdMapping(input: { force?: boolean; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ didMappingExist: boolean; status: "OK" }>
    • Parameters

      • input: { force?: boolean; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
        • Optional force?: boolean
        • Optional userContext?: Record<string, any>
        • userId: string
        • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

      Returns Promise<{ didMappingExist: boolean; status: "OK" }>

    • getAllCORSHeaders(): string[]
    • getRequestFromUserContext(userContext: undefined | UserContext): undefined | BaseRequest
    • getUser(userId: string, userContext?: Record<string, any>): Promise<undefined | User>
    • Parameters

      • userId: string
      • Optional userContext: Record<string, any>

      Returns Promise<undefined | User>

    • getUserCount(includeRecipeIds?: string[], tenantId?: string, userContext?: Record<string, any>): Promise<number>
    • Parameters

      • Optional includeRecipeIds: string[]
      • Optional tenantId: string
      • Optional userContext: Record<string, any>

      Returns Promise<number>

    • getUserIdMapping(input: { userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ externalUserId: string; externalUserIdInfo: undefined | string; status: "OK"; superTokensUserId: string } | { status: "UNKNOWN_MAPPING_ERROR" }>
    • Parameters

      • input: { userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
        • Optional userContext?: Record<string, any>
        • userId: string
        • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

      Returns Promise<{ externalUserId: string; externalUserIdInfo: undefined | string; status: "OK"; superTokensUserId: string } | { status: "UNKNOWN_MAPPING_ERROR" }>

    • getUsersNewestFirst(input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }): Promise<{ nextPaginationToken?: string; users: User[] }>
    • Parameters

      • input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }
        • Optional includeRecipeIds?: string[]
        • Optional limit?: number
        • Optional paginationToken?: string
        • Optional query?: {}
          • [key: string]: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<{ nextPaginationToken?: string; users: User[] }>

    • getUsersOldestFirst(input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }): Promise<{ nextPaginationToken?: string; users: User[] }>
    • Parameters

      • input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; userContext?: Record<string, any> }
        • Optional includeRecipeIds?: string[]
        • Optional limit?: number
        • Optional paginationToken?: string
        • Optional query?: {}
          • [key: string]: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<{ nextPaginationToken?: string; users: User[] }>

    • init(config: TypeInput): void
    • listUsersByAccountInfo(tenantId: string, accountInfo: AccountInfo, doUnionOfAccountInfo?: boolean, userContext?: Record<string, any>): Promise<User[]>
    • Parameters

      • tenantId: string
      • accountInfo: AccountInfo
      • doUnionOfAccountInfo: boolean = false
      • Optional userContext: Record<string, any>

      Returns Promise<User[]>

    • updateOrDeleteUserIdMappingInfo(input: { externalUserIdInfo?: string; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }): Promise<{ status: "OK" | "UNKNOWN_MAPPING_ERROR" }>
    • Parameters

      • input: { externalUserIdInfo?: string; userContext?: Record<string, any>; userId: string; userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY" }
        • Optional externalUserIdInfo?: string
        • Optional userContext?: Record<string, any>
        • userId: string
        • Optional userIdType?: "SUPERTOKENS" | "EXTERNAL" | "ANY"

      Returns Promise<{ status: "OK" | "UNKNOWN_MAPPING_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/ingredients_emaildelivery.html b/docs/modules/ingredients_emaildelivery.html new file mode 100644 index 000000000..b6128e9b5 --- /dev/null +++ b/docs/modules/ingredients_emaildelivery.html @@ -0,0 +1 @@ +ingredients/emaildelivery | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module ingredients/emaildelivery

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/ingredients_smsdelivery.html b/docs/modules/ingredients_smsdelivery.html new file mode 100644 index 000000000..438f4a4fe --- /dev/null +++ b/docs/modules/ingredients_smsdelivery.html @@ -0,0 +1 @@ +ingredients/smsdelivery | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module ingredients/smsdelivery

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_accountlinking.html b/docs/modules/recipe_accountlinking.html new file mode 100644 index 000000000..3af3913f4 --- /dev/null +++ b/docs/modules/recipe_accountlinking.html @@ -0,0 +1 @@ +recipe/accountlinking | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/accountlinking

    Index

    Type Aliases

    RecipeInterface: { canCreatePrimaryUser: any; canLinkAccounts: any; createPrimaryUser: any; deleteUser: any; getUser: any; getUsers: any; linkAccounts: any; listUsersByAccountInfo: any; unlinkAccount: any }

    Type declaration

    • canCreatePrimaryUser:function
      • canCreatePrimaryUser(input: { recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
      • Parameters

        Returns Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

    • canLinkAccounts:function
      • canLinkAccounts(input: { primaryUserId: string; recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
      • Parameters

        • input: { primaryUserId: string; recipeUserId: RecipeUserId; userContext: UserContext }
          • primaryUserId: string
          • recipeUserId: RecipeUserId
          • userContext: UserContext

        Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

    • createPrimaryUser:function
      • createPrimaryUser(input: { recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
      • Parameters

        Returns Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

    • deleteUser:function
      • deleteUser(input: { removeAllLinkedAccounts: boolean; userContext: UserContext; userId: string }): Promise<{ status: "OK" }>
      • Parameters

        • input: { removeAllLinkedAccounts: boolean; userContext: UserContext; userId: string }
          • removeAllLinkedAccounts: boolean
          • userContext: UserContext
          • userId: string

        Returns Promise<{ status: "OK" }>

    • getUser:function
      • getUser(input: { userContext: UserContext; userId: string }): Promise<undefined | User>
    • getUsers:function
      • getUsers(input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; timeJoinedOrder: "ASC" | "DESC"; userContext: UserContext }): Promise<{ nextPaginationToken?: string; users: User[] }>
      • Parameters

        • input: { includeRecipeIds?: string[]; limit?: number; paginationToken?: string; query?: {}; tenantId: string; timeJoinedOrder: "ASC" | "DESC"; userContext: UserContext }
          • Optional includeRecipeIds?: string[]
          • Optional limit?: number
          • Optional paginationToken?: string
          • Optional query?: {}
            • [key: string]: string
          • tenantId: string
          • timeJoinedOrder: "ASC" | "DESC"
          • userContext: UserContext

        Returns Promise<{ nextPaginationToken?: string; users: User[] }>

    • linkAccounts:function
      • linkAccounts(input: { primaryUserId: string; recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
      • Parameters

        • input: { primaryUserId: string; recipeUserId: RecipeUserId; userContext: UserContext }
          • primaryUserId: string
          • recipeUserId: RecipeUserId
          • userContext: UserContext

        Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

    • listUsersByAccountInfo:function
      • listUsersByAccountInfo(input: { accountInfo: AccountInfo; doUnionOfAccountInfo: boolean; tenantId: string; userContext: UserContext }): Promise<User[]>
      • Parameters

        • input: { accountInfo: AccountInfo; doUnionOfAccountInfo: boolean; tenantId: string; userContext: UserContext }
          • accountInfo: AccountInfo
          • doUnionOfAccountInfo: boolean
          • tenantId: string
          • userContext: UserContext

        Returns Promise<User[]>

    • unlinkAccount:function
      • unlinkAccount(input: { recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ status: "OK"; wasLinked: boolean; wasRecipeUserDeleted: boolean }>

    Functions

    • canCreatePrimaryUser(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
    • Parameters

      • recipeUserId: RecipeUserId
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; wasAlreadyAPrimaryUser: boolean } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

    • canLinkAccounts(recipeUserId: RecipeUserId, primaryUserId: string, userContext?: Record<string, any>): Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
    • Parameters

      • recipeUserId: RecipeUserId
      • primaryUserId: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK" } | { description: string; primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

    • createPrimaryUser(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>
    • Parameters

      • recipeUserId: RecipeUserId
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; user: User; wasAlreadyAPrimaryUser: boolean } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_PRIMARY_USER_ID_ERROR" } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" }>

    • createPrimaryUserIdOrLinkAccounts(tenantId: string, recipeUserId: RecipeUserId, session?: SessionContainer, userContext?: Record<string, any>): Promise<User>
    • getPrimaryUserThatCanBeLinkedToRecipeUserId(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<undefined | User>
    • init(config?: TypeInput): RecipeListFunction
    • isEmailChangeAllowed(recipeUserId: RecipeUserId, newEmail: string, isVerified: boolean, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
    • isSignInAllowed(tenantId: string, recipeUserId: RecipeUserId, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
    • isSignUpAllowed(tenantId: string, newUser: AccountInfoWithRecipeId, isVerified: boolean, session?: SessionContainer, userContext?: Record<string, any>): Promise<boolean>
    • linkAccounts(recipeUserId: RecipeUserId, primaryUserId: string, userContext?: Record<string, any>): Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>
    • Parameters

      • recipeUserId: RecipeUserId
      • primaryUserId: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ accountsAlreadyLinked: boolean; status: "OK"; user: User } | { primaryUserId: string; status: "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; user: User } | { description: string; primaryUserId: string; status: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" } | { status: "INPUT_USER_IS_NOT_A_PRIMARY_USER" }>

    • unlinkAccount(recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasLinked: boolean; wasRecipeUserDeleted: boolean }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_dashboard.html b/docs/modules/recipe_dashboard.html new file mode 100644 index 000000000..d97b7fe9a --- /dev/null +++ b/docs/modules/recipe_dashboard.html @@ -0,0 +1 @@ +recipe/dashboard | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/dashboard

    Index

    Type Aliases

    APIInterface: { dashboardGET: undefined | ((input: { options: APIOptions; userContext: UserContext }) => Promise<string>) }

    Type declaration

    • dashboardGET: undefined | ((input: { options: APIOptions; userContext: UserContext }) => Promise<string>)
    APIOptions: { appInfo: NormalisedAppinfo; config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    RecipeInterface: { getDashboardBundleLocation: any; shouldAllowAccess: any }

    Type declaration

    • getDashboardBundleLocation:function
      • getDashboardBundleLocation(input: { userContext: UserContext }): Promise<string>
    • shouldAllowAccess:function
      • shouldAllowAccess(input: { config: TypeNormalisedInput; req: BaseRequest; userContext: UserContext }): Promise<boolean>

    Functions

    • init(config?: TypeInput): RecipeListFunction

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_emailpassword.html b/docs/modules/recipe_emailpassword.html new file mode 100644 index 000000000..31fbb9b62 --- /dev/null +++ b/docs/modules/recipe_emailpassword.html @@ -0,0 +1,5 @@ +recipe/emailpassword | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/emailpassword

    Index

    Type Aliases

    APIInterface: { emailExistsGET: undefined | ((input: { email: string; options: APIOptions; tenantId: string; userContext: UserContext }) => Promise<{ exists: boolean; status: "OK" } | GeneralErrorResponse>); generatePasswordResetTokenPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; tenantId: string; userContext: UserContext }) => Promise<{ status: "OK" } | { reason: string; status: "PASSWORD_RESET_NOT_ALLOWED" } | GeneralErrorResponse>); passwordResetPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; tenantId: string; token: string; userContext: UserContext }) => Promise<{ email: string; status: "OK"; user: User } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" } | GeneralErrorResponse>); signInPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }) => Promise<{ session: SessionContainer; status: "OK"; user: User } | { reason: string; status: "SIGN_IN_NOT_ALLOWED" } | { status: "WRONG_CREDENTIALS_ERROR" } | GeneralErrorResponse>); signUpPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }) => Promise<{ session: SessionContainer; status: "OK"; user: User } | { reason: string; status: "SIGN_UP_NOT_ALLOWED" } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | GeneralErrorResponse>) }

    Type declaration

    • emailExistsGET: undefined | ((input: { email: string; options: APIOptions; tenantId: string; userContext: UserContext }) => Promise<{ exists: boolean; status: "OK" } | GeneralErrorResponse>)
    • generatePasswordResetTokenPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; tenantId: string; userContext: UserContext }) => Promise<{ status: "OK" } | { reason: string; status: "PASSWORD_RESET_NOT_ALLOWED" } | GeneralErrorResponse>)
    • passwordResetPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; tenantId: string; token: string; userContext: UserContext }) => Promise<{ email: string; status: "OK"; user: User } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" } | GeneralErrorResponse>)
    • signInPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }) => Promise<{ session: SessionContainer; status: "OK"; user: User } | { reason: string; status: "SIGN_IN_NOT_ALLOWED" } | { status: "WRONG_CREDENTIALS_ERROR" } | GeneralErrorResponse>)
    • signUpPOST: undefined | ((input: { formFields: { id: string; value: string }[]; options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }) => Promise<{ session: SessionContainer; status: "OK"; user: User } | { reason: string; status: "SIGN_UP_NOT_ALLOWED" } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | GeneralErrorResponse>)
    APIOptions: { appInfo: NormalisedAppinfo; config: TypeNormalisedInput; emailDelivery: default<TypeEmailPasswordEmailDeliveryInput>; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    RecipeInterface: { consumePasswordResetToken: any; createNewRecipeUser: any; createResetPasswordToken: any; signIn: any; signUp: any; updateEmailOrPassword: any; verifyCredentials: any }

    Type declaration

    • consumePasswordResetToken:function
      • consumePasswordResetToken(input: { tenantId: string; token: string; userContext: UserContext }): Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>
      • Parameters

        • input: { tenantId: string; token: string; userContext: UserContext }
          • tenantId: string
          • token: string
          • userContext: UserContext

        Returns Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>

    • createNewRecipeUser:function
      • createNewRecipeUser(input: { email: string; password: string; tenantId: string; userContext: UserContext }): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>
      • Parameters

        • input: { email: string; password: string; tenantId: string; userContext: UserContext }
          • email: string
          • password: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>

    • createResetPasswordToken:function
      • createResetPasswordToken(input: { email: string; tenantId: string; userContext: UserContext; userId: string }): Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>
      • +

        We pass in the email as well to this function cause the input userId +may not be associated with an emailpassword account. In this case, we +need to know which email to use to create an emailpassword account later on.

        +

        Parameters

        • input: { email: string; tenantId: string; userContext: UserContext; userId: string }
          • email: string
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • signIn:function
      • signIn(input: { email: string; password: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
      • Parameters

        • input: { email: string; password: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }
          • email: string
          • password: string
          • session: SessionContainer | undefined
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • signUp:function
      • signUp(input: { email: string; password: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
      • Parameters

        • input: { email: string; password: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }
          • email: string
          • password: string
          • session: SessionContainer | undefined
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • updateEmailOrPassword:function
      • updateEmailOrPassword(input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy: string; userContext: UserContext }): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>
      • Parameters

        • input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy: string; userContext: UserContext }
          • Optional applyPasswordPolicy?: boolean
          • Optional email?: string
          • Optional password?: string
          • recipeUserId: RecipeUserId
          • tenantIdForPasswordPolicy: string
          • userContext: UserContext

        Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>

    • verifyCredentials:function
      • verifyCredentials(input: { email: string; password: string; tenantId: string; userContext: UserContext }): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>
      • Parameters

        • input: { email: string; password: string; tenantId: string; userContext: UserContext }
          • email: string
          • password: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>

    Variables

    Error: typeof default = Wrapper.Error

    Functions

    • consumePasswordResetToken(tenantId: string, token: string, userContext?: Record<string, any>): Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>
    • Parameters

      • tenantId: string
      • token: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ email: string; status: "OK"; userId: string } | { status: "RESET_PASSWORD_INVALID_TOKEN_ERROR" }>

    • createResetPasswordLink(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ link: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • email: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ link: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • createResetPasswordToken(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • email: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; token: string } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • init(config?: TypeInput): RecipeListFunction
    • resetPasswordUsingToken(tenantId: string, token: string, newPassword: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>
    • Parameters

      • tenantId: string
      • token: string
      • newPassword: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "RESET_PASSWORD_INVALID_TOKEN_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>

    • sendEmail(input: TypeEmailPasswordPasswordResetEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
    • sendResetPasswordEmail(tenantId: string, userId: string, email: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • email: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" }>

    • signIn(tenantId: string, email: string, password: string, session?: undefined, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>
    • signIn(tenantId: string, email: string, password: string, session: SessionContainer, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • Optional session: undefined
      • Optional userContext: Record<string, any>

      Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" }>

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • session: SessionContainer
      • Optional userContext: Record<string, any>

      Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "WRONG_CREDENTIALS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • signUp(tenantId: string, email: string, password: string, session?: undefined, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>
    • signUp(tenantId: string, email: string, password: string, session: SessionContainer, userContext?: Record<string, any>): Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • Optional session: undefined
      • Optional userContext: Record<string, any>

      Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" }>

    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • session: SessionContainer
      • Optional userContext: Record<string, any>

      Returns Promise<{ recipeUserId: RecipeUserId; status: "OK"; user: User } | { status: "EMAIL_ALREADY_EXISTS_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • updateEmailOrPassword(input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy?: string; userContext?: Record<string, any> }): Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>
    • Parameters

      • input: { applyPasswordPolicy?: boolean; email?: string; password?: string; recipeUserId: RecipeUserId; tenantIdForPasswordPolicy?: string; userContext?: Record<string, any> }
        • Optional applyPasswordPolicy?: boolean
        • Optional email?: string
        • Optional password?: string
        • recipeUserId: RecipeUserId
        • Optional tenantIdForPasswordPolicy?: string
        • Optional userContext?: Record<string, any>

      Returns Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { failureReason: string; status: "PASSWORD_POLICY_VIOLATED_ERROR" }>

    • verifyCredentials(tenantId: string, email: string, password: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "WRONG_CREDENTIALS_ERROR" }>
    • Parameters

      • tenantId: string
      • email: string
      • password: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "WRONG_CREDENTIALS_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_emailverification.html b/docs/modules/recipe_emailverification.html new file mode 100644 index 000000000..3ae9523b6 --- /dev/null +++ b/docs/modules/recipe_emailverification.html @@ -0,0 +1 @@ +recipe/emailverification | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/emailverification

    Index

    Type Aliases

    APIInterface: { generateEmailVerifyTokenPOST: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ status: "OK" } | { newSession?: SessionContainer; status: "EMAIL_ALREADY_VERIFIED_ERROR" } | GeneralErrorResponse>); isEmailVerifiedGET: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ isVerified: boolean; newSession?: SessionContainer; status: "OK" } | GeneralErrorResponse>); verifyEmailPOST: undefined | ((input: { options: APIOptions; session: SessionContainer | undefined; tenantId: string; token: string; userContext: UserContext }) => Promise<{ newSession?: SessionContainer; status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" } | GeneralErrorResponse>) }

    Type declaration

    • generateEmailVerifyTokenPOST: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ status: "OK" } | { newSession?: SessionContainer; status: "EMAIL_ALREADY_VERIFIED_ERROR" } | GeneralErrorResponse>)
    • isEmailVerifiedGET: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ isVerified: boolean; newSession?: SessionContainer; status: "OK" } | GeneralErrorResponse>)
    • verifyEmailPOST: undefined | ((input: { options: APIOptions; session: SessionContainer | undefined; tenantId: string; token: string; userContext: UserContext }) => Promise<{ newSession?: SessionContainer; status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" } | GeneralErrorResponse>)
    APIOptions: { appInfo: NormalisedAppinfo; config: TypeNormalisedInput; emailDelivery: default<TypeEmailVerificationEmailDeliveryInput>; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    • appInfo: NormalisedAppinfo
    • config: TypeNormalisedInput
    • emailDelivery: default<TypeEmailVerificationEmailDeliveryInput>
    • isInServerlessEnv: boolean
    • recipeId: string
    • recipeImplementation: RecipeInterface
    • req: BaseRequest
    • res: BaseResponse
    RecipeInterface: { createEmailVerificationToken: any; isEmailVerified: any; revokeEmailVerificationTokens: any; unverifyEmail: any; verifyEmailUsingToken: any }

    Type declaration

    • createEmailVerificationToken:function
      • createEmailVerificationToken(input: { email: string; recipeUserId: RecipeUserId; tenantId: string; userContext: UserContext }): Promise<{ status: "OK"; token: string } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
    • isEmailVerified:function
      • isEmailVerified(input: { email: string; recipeUserId: RecipeUserId; userContext: UserContext }): Promise<boolean>
    • revokeEmailVerificationTokens:function
      • revokeEmailVerificationTokens(input: { email: string; recipeUserId: RecipeUserId; tenantId: string; userContext: UserContext }): Promise<{ status: "OK" }>
    • unverifyEmail:function
      • unverifyEmail(input: { email: string; recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ status: "OK" }>
    • verifyEmailUsingToken:function
      • verifyEmailUsingToken(input: { attemptAccountLinking: boolean; tenantId: string; token: string; userContext: UserContext }): Promise<{ status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>
      • Parameters

        • input: { attemptAccountLinking: boolean; tenantId: string; token: string; userContext: UserContext }
          • attemptAccountLinking: boolean
          • tenantId: string
          • token: string
          • userContext: UserContext

        Returns Promise<{ status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>

    UserEmailInfo: { email: string; recipeUserId: RecipeUserId }

    Type declaration

    Variables

    EmailVerificationClaim: EmailVerificationClaimClass = ...
    Error: typeof default = Wrapper.Error

    Functions

    • createEmailVerificationLink(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ link: string; status: "OK" } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
    • createEmailVerificationToken(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: "OK"; token: string } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
    • init(config: TypeInput): RecipeListFunction
    • isEmailVerified(recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<boolean>
    • revokeEmailVerificationTokens(tenantId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: string }>
    • sendEmail(input: TypeEmailVerificationEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
    • sendEmailVerificationEmail(tenantId: string, userId: string, recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: "OK" } | { status: "EMAIL_ALREADY_VERIFIED_ERROR" }>
    • unverifyEmail(recipeUserId: RecipeUserId, email?: string, userContext?: Record<string, any>): Promise<{ status: string }>
    • verifyEmailUsingToken(tenantId: string, token: string, attemptAccountLinking?: boolean, userContext?: Record<string, any>): Promise<{ status: "OK"; user: UserEmailInfo } | { status: "EMAIL_VERIFICATION_INVALID_TOKEN_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_jwt.html b/docs/modules/recipe_jwt.html new file mode 100644 index 000000000..91cd05ded --- /dev/null +++ b/docs/modules/recipe_jwt.html @@ -0,0 +1 @@ +recipe/jwt | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/jwt

    Index

    Type Aliases

    APIInterface: { getJWKSGET: undefined | ((input: { options: APIOptions; userContext: UserContext }) => Promise<{ keys: JsonWebKey[] } | GeneralErrorResponse>) }

    Type declaration

    • getJWKSGET: undefined | ((input: { options: APIOptions; userContext: UserContext }) => Promise<{ keys: JsonWebKey[] } | GeneralErrorResponse>)
    APIOptions: { config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    JsonWebKey: { alg: string; e: string; kid: string; kty: string; n: string; use: string }

    Type declaration

    • alg: string
    • e: string
    • kid: string
    • kty: string
    • n: string
    • use: string
    RecipeInterface: { createJWT: any; getJWKS: any }

    Type declaration

    • createJWT:function
      • createJWT(input: { payload?: any; useStaticSigningKey?: boolean; userContext: UserContext; validitySeconds?: number }): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
      • Parameters

        • input: { payload?: any; useStaticSigningKey?: boolean; userContext: UserContext; validitySeconds?: number }
          • Optional payload?: any
          • Optional useStaticSigningKey?: boolean
          • userContext: UserContext
          • Optional validitySeconds?: number

        Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

    • getJWKS:function
      • getJWKS(input: { userContext: UserContext }): Promise<{ keys: JsonWebKey[]; validityInSeconds?: number }>

    Functions

    • createJWT(payload: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
    • Parameters

      • payload: any
      • Optional validitySeconds: number
      • Optional useStaticSigningKey: boolean
      • Optional userContext: Record<string, any>

      Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

    • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[]; validityInSeconds?: number }>
    • init(config?: TypeInput): RecipeListFunction

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_multifactorauth.html b/docs/modules/recipe_multifactorauth.html new file mode 100644 index 000000000..7b8943610 --- /dev/null +++ b/docs/modules/recipe_multifactorauth.html @@ -0,0 +1 @@ +recipe/multifactorauth | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/multifactorauth

    Index

    Type Aliases

    APIInterface: { resyncSessionAndFetchMFAInfoPUT: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ emails: Record<string, string[] | undefined>; factors: { allowedToSetup: string[]; alreadySetup: string[]; next: string[] }; phoneNumbers: Record<string, string[] | undefined>; status: "OK" } | GeneralErrorResponse>) }

    Type declaration

    • resyncSessionAndFetchMFAInfoPUT: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ emails: Record<string, string[] | undefined>; factors: { allowedToSetup: string[]; alreadySetup: string[]; next: string[] }; phoneNumbers: Record<string, string[] | undefined>; status: "OK" } | GeneralErrorResponse>)
    APIOptions: { config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; recipeInstance: Recipe; req: BaseRequest; res: BaseResponse }

    Type declaration

    RecipeInterface: { addToRequiredSecondaryFactorsForUser: any; assertAllowedToSetupFactorElseThrowInvalidClaimError: any; getFactorsSetupForUser: any; getMFARequirementsForAuth: any; getRequiredSecondaryFactorsForUser: any; markFactorAsCompleteInSession: any; removeFromRequiredSecondaryFactorsForUser: any }

    Type declaration

    • addToRequiredSecondaryFactorsForUser:function
      • addToRequiredSecondaryFactorsForUser(input: { factorId: string; userContext: UserContext; userId: string }): Promise<void>
      • Parameters

        • input: { factorId: string; userContext: UserContext; userId: string }
          • factorId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<void>

    • assertAllowedToSetupFactorElseThrowInvalidClaimError:function
      • assertAllowedToSetupFactorElseThrowInvalidClaimError(input: { factorId: string; factorsSetUpForUser: Promise<string[]>; mfaRequirementsForAuth: Promise<MFARequirementList>; session: SessionContainer; userContext: UserContext }): Promise<void>
      • Parameters

        • input: { factorId: string; factorsSetUpForUser: Promise<string[]>; mfaRequirementsForAuth: Promise<MFARequirementList>; session: SessionContainer; userContext: UserContext }
          • factorId: string
          • factorsSetUpForUser: Promise<string[]>
          • mfaRequirementsForAuth: Promise<MFARequirementList>
          • session: SessionContainer
          • userContext: UserContext

        Returns Promise<void>

    • getFactorsSetupForUser:function
      • getFactorsSetupForUser(input: { user: User; userContext: UserContext }): Promise<string[]>
    • getMFARequirementsForAuth:function
      • getMFARequirementsForAuth(input: { accessTokenPayload: JSONObject; completedFactors: MFAClaimValue["c"]; factorsSetUpForUser: Promise<string[]>; requiredSecondaryFactorsForTenant: Promise<string[]>; requiredSecondaryFactorsForUser: Promise<string[]>; tenantId: string; user: Promise<User>; userContext: UserContext }): MFARequirementList | Promise<MFARequirementList>
      • Parameters

        • input: { accessTokenPayload: JSONObject; completedFactors: MFAClaimValue["c"]; factorsSetUpForUser: Promise<string[]>; requiredSecondaryFactorsForTenant: Promise<string[]>; requiredSecondaryFactorsForUser: Promise<string[]>; tenantId: string; user: Promise<User>; userContext: UserContext }
          • accessTokenPayload: JSONObject
          • completedFactors: MFAClaimValue["c"]
          • factorsSetUpForUser: Promise<string[]>
          • requiredSecondaryFactorsForTenant: Promise<string[]>
          • requiredSecondaryFactorsForUser: Promise<string[]>
          • tenantId: string
          • user: Promise<User>
          • userContext: UserContext

        Returns MFARequirementList | Promise<MFARequirementList>

    • getRequiredSecondaryFactorsForUser:function
      • getRequiredSecondaryFactorsForUser(input: { userContext: UserContext; userId: string }): Promise<string[]>
    • markFactorAsCompleteInSession:function
      • markFactorAsCompleteInSession(input: { factorId: string; session: SessionContainer; userContext: UserContext }): Promise<void>
    • removeFromRequiredSecondaryFactorsForUser:function
      • removeFromRequiredSecondaryFactorsForUser(input: { factorId: string; userContext: UserContext; userId: string }): Promise<void>

    Variables

    FactorIds: { EMAILPASSWORD: string; LINK_EMAIL: string; LINK_PHONE: string; OTP_EMAIL: string; OTP_PHONE: string; THIRDPARTY: string; TOTP: string } = ...

    Type declaration

    • EMAILPASSWORD: string
    • LINK_EMAIL: string
    • LINK_PHONE: string
    • OTP_EMAIL: string
    • OTP_PHONE: string
    • THIRDPARTY: string
    • TOTP: string
    MultiFactorAuthClaim: MultiFactorAuthClaimClass = ...

    Functions

    • addToRequiredSecondaryFactorsForUser(userId: string, factorId: string, userContext?: Record<string, any>): Promise<void>
    • assertAllowedToSetupFactorElseThrowInvalidClaimError(session: SessionContainer, factorId: string, userContext?: Record<string, any>): Promise<void>
    • getFactorsSetupForUser(userId: string, userContext?: Record<string, any>): Promise<string[]>
    • getRequiredSecondaryFactorsForUser(userId: string, userContext?: Record<string, any>): Promise<string[]>
    • init(config?: TypeInput): RecipeListFunction
    • markFactorAsCompleteInSession(session: SessionContainer, factorId: string, userContext?: Record<string, any>): Promise<void>
    • removeFromRequiredSecondaryFactorsForUser(userId: string, factorId: string, userContext?: Record<string, any>): Promise<void>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_multitenancy.html b/docs/modules/recipe_multitenancy.html new file mode 100644 index 000000000..4ba0f49f6 --- /dev/null +++ b/docs/modules/recipe_multitenancy.html @@ -0,0 +1 @@ +recipe/multitenancy | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/multitenancy

    Index

    Type Aliases

    APIInterface: { loginMethodsGET: any }

    Type declaration

    • loginMethodsGET:function
      • loginMethodsGET(input: { clientType?: string; options: APIOptions; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { emailPassword: { enabled: boolean }; firstFactors: string[]; passwordless: { enabled: boolean }; status: "OK"; thirdParty: { enabled: boolean; providers: { id: string; name?: string }[] } }>
      • Parameters

        • input: { clientType?: string; options: APIOptions; tenantId: string; userContext: UserContext }
          • Optional clientType?: string
          • options: APIOptions
          • tenantId: string
          • userContext: UserContext

        Returns Promise<GeneralErrorResponse | { emailPassword: { enabled: boolean }; firstFactors: string[]; passwordless: { enabled: boolean }; status: "OK"; thirdParty: { enabled: boolean; providers: { id: string; name?: string }[] } }>

    APIOptions: { allAvailableFirstFactors: string[]; config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse; staticFirstFactors: string[] | undefined; staticThirdPartyProviders: ProviderInput[] }

    Type declaration

    • allAvailableFirstFactors: string[]
    • config: TypeNormalisedInput
    • isInServerlessEnv: boolean
    • recipeId: string
    • recipeImplementation: RecipeInterface
    • req: BaseRequest
    • res: BaseResponse
    • staticFirstFactors: string[] | undefined
    • staticThirdPartyProviders: ProviderInput[]
    RecipeInterface: { associateUserToTenant: any; createOrUpdateTenant: any; createOrUpdateThirdPartyConfig: any; deleteTenant: any; deleteThirdPartyConfig: any; disassociateUserFromTenant: any; getTenant: any; getTenantId: any; listAllTenants: any }

    Type declaration

    • associateUserToTenant:function
      • associateUserToTenant(input: { recipeUserId: RecipeUserId; tenantId: string; userContext: UserContext }): Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>
      • Parameters

        • input: { recipeUserId: RecipeUserId; tenantId: string; userContext: UserContext }
          • recipeUserId: RecipeUserId
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>

    • createOrUpdateTenant:function
      • createOrUpdateTenant(input: { config?: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }; tenantId: string; userContext: UserContext }): Promise<{ createdNew: boolean; status: "OK" }>
      • Parameters

        • input: { config?: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }; tenantId: string; userContext: UserContext }
          • Optional config?: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }
            • Optional coreConfig?: {}
              • [key: string]: any
            • Optional emailPasswordEnabled?: boolean
            • Optional firstFactors?: string[]
            • Optional passwordlessEnabled?: boolean
            • Optional requiredSecondaryFactors?: string[]
            • Optional thirdPartyEnabled?: boolean
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ createdNew: boolean; status: "OK" }>

    • createOrUpdateThirdPartyConfig:function
      • createOrUpdateThirdPartyConfig(input: { config: ProviderConfig; skipValidation?: boolean; tenantId: string; userContext: UserContext }): Promise<{ createdNew: boolean; status: "OK" }>
      • Parameters

        • input: { config: ProviderConfig; skipValidation?: boolean; tenantId: string; userContext: UserContext }
          • config: ProviderConfig
          • Optional skipValidation?: boolean
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ createdNew: boolean; status: "OK" }>

    • deleteTenant:function
      • deleteTenant(input: { tenantId: string; userContext: UserContext }): Promise<{ didExist: boolean; status: "OK" }>
      • Parameters

        • input: { tenantId: string; userContext: UserContext }
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ didExist: boolean; status: "OK" }>

    • deleteThirdPartyConfig:function
      • deleteThirdPartyConfig(input: { tenantId: string; thirdPartyId: string; userContext: UserContext }): Promise<{ didConfigExist: boolean; status: "OK" }>
      • Parameters

        • input: { tenantId: string; thirdPartyId: string; userContext: UserContext }
          • tenantId: string
          • thirdPartyId: string
          • userContext: UserContext

        Returns Promise<{ didConfigExist: boolean; status: "OK" }>

    • disassociateUserFromTenant:function
      • disassociateUserFromTenant(input: { recipeUserId: RecipeUserId; tenantId: string; userContext: UserContext }): Promise<{ status: "OK"; wasAssociated: boolean }>
    • getTenant:function
      • getTenant(input: { tenantId: string; userContext: UserContext }): Promise<undefined | { status: "OK" } & TenantConfig>
      • Parameters

        • input: { tenantId: string; userContext: UserContext }
          • tenantId: string
          • userContext: UserContext

        Returns Promise<undefined | { status: "OK" } & TenantConfig>

    • getTenantId:function
      • getTenantId(input: { tenantIdFromFrontend: string; userContext: UserContext }): Promise<string>
      • Parameters

        • input: { tenantIdFromFrontend: string; userContext: UserContext }
          • tenantIdFromFrontend: string
          • userContext: UserContext

        Returns Promise<string>

    • listAllTenants:function
      • listAllTenants(input: { userContext: UserContext }): Promise<{ status: "OK"; tenants: (TenantConfig & { tenantId: string })[] }>
      • Parameters

        • input: { userContext: UserContext }
          • userContext: UserContext

        Returns Promise<{ status: "OK"; tenants: (TenantConfig & { tenantId: string })[] }>

    Variables

    AllowedDomainsClaim: AllowedDomainsClaimClass = ...

    Functions

    • associateUserToTenant(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>
    • Parameters

      • tenantId: string
      • recipeUserId: RecipeUserId
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; wasAlreadyAssociated: boolean } | { status: "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" | "THIRD_PARTY_USER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "ASSOCIATION_NOT_ALLOWED_ERROR" }>

    • createOrUpdateTenant(tenantId: string, config?: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }, userContext?: Record<string, any>): Promise<{ createdNew: boolean; status: "OK" }>
    • Parameters

      • tenantId: string
      • Optional config: { coreConfig?: {}; emailPasswordEnabled?: boolean; firstFactors?: string[]; passwordlessEnabled?: boolean; requiredSecondaryFactors?: string[]; thirdPartyEnabled?: boolean }
        • Optional coreConfig?: {}
          • [key: string]: any
        • Optional emailPasswordEnabled?: boolean
        • Optional firstFactors?: string[]
        • Optional passwordlessEnabled?: boolean
        • Optional requiredSecondaryFactors?: string[]
        • Optional thirdPartyEnabled?: boolean
      • Optional userContext: Record<string, any>

      Returns Promise<{ createdNew: boolean; status: "OK" }>

    • createOrUpdateThirdPartyConfig(tenantId: string, config: ProviderConfig, skipValidation?: boolean, userContext?: Record<string, any>): Promise<{ createdNew: boolean; status: "OK" }>
    • Parameters

      • tenantId: string
      • config: ProviderConfig
      • Optional skipValidation: boolean
      • Optional userContext: Record<string, any>

      Returns Promise<{ createdNew: boolean; status: "OK" }>

    • deleteTenant(tenantId: string, userContext?: Record<string, any>): Promise<{ didExist: boolean; status: "OK" }>
    • deleteThirdPartyConfig(tenantId: string, thirdPartyId: string, userContext?: Record<string, any>): Promise<{ didConfigExist: boolean; status: "OK" }>
    • Parameters

      • tenantId: string
      • thirdPartyId: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ didConfigExist: boolean; status: "OK" }>

    • disassociateUserFromTenant(tenantId: string, recipeUserId: RecipeUserId, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAssociated: boolean }>
    • getTenant(tenantId: string, userContext?: Record<string, any>): Promise<undefined | { status: "OK" } & TenantConfig>
    • init(config?: TypeInput): RecipeListFunction
    • listAllTenants(userContext?: Record<string, any>): Promise<{ status: "OK"; tenants: ({ tenantId: string } & TenantConfig)[] }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_openid.html b/docs/modules/recipe_openid.html new file mode 100644 index 000000000..975760234 --- /dev/null +++ b/docs/modules/recipe_openid.html @@ -0,0 +1 @@ +recipe/openid | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/openid

    Index

    Functions

    • createJWT(payload?: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
    • Parameters

      • Optional payload: any
      • Optional validitySeconds: number
      • Optional useStaticSigningKey: boolean
      • Optional userContext: Record<string, any>

      Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

    • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[]; validityInSeconds?: number }>
    • getOpenIdDiscoveryConfiguration(userContext?: Record<string, any>): Promise<{ issuer: string; jwks_uri: string; status: "OK" }>
    • Parameters

      • Optional userContext: Record<string, any>

      Returns Promise<{ issuer: string; jwks_uri: string; status: "OK" }>

    • init(config?: TypeInput): RecipeListFunction

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_passwordless.html b/docs/modules/recipe_passwordless.html new file mode 100644 index 000000000..addf10426 --- /dev/null +++ b/docs/modules/recipe_passwordless.html @@ -0,0 +1 @@ +recipe/passwordless | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/passwordless

    Index

    Type Aliases

    APIInterface: { consumeCodePOST?: any; createCodePOST?: any; emailExistsGET?: any; phoneNumberExistsGET?: any; resendCodePOST?: any }

    Type declaration

    • consumeCodePOST?:function
      • consumeCodePOST(input: { deviceId: string; preAuthSessionId: string; userInputCode: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & { linkCode: string; preAuthSessionId: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { createdNewRecipeUser: boolean; session: SessionContainer; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>
      • Parameters

        • input: { deviceId: string; preAuthSessionId: string; userInputCode: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & { linkCode: string; preAuthSessionId: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }

        Returns Promise<GeneralErrorResponse | { createdNewRecipeUser: boolean; session: SessionContainer; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>

    • createCodePOST?:function
      • createCodePOST(input: { email: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & { phoneNumber: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { deviceId: string; flowType: "USER_INPUT_CODE" | "MAGIC_LINK" | "USER_INPUT_CODE_AND_MAGIC_LINK"; preAuthSessionId: string; status: "OK" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>
      • Parameters

        • input: { email: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & { phoneNumber: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }

        Returns Promise<GeneralErrorResponse | { deviceId: string; flowType: "USER_INPUT_CODE" | "MAGIC_LINK" | "USER_INPUT_CODE_AND_MAGIC_LINK"; preAuthSessionId: string; status: "OK" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>

    • emailExistsGET?:function
      • emailExistsGET(input: { email: string; options: APIOptions; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { exists: boolean; status: "OK" }>
    • phoneNumberExistsGET?:function
      • phoneNumberExistsGET(input: { options: APIOptions; phoneNumber: string; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { exists: boolean; status: "OK" }>
      • Parameters

        • input: { options: APIOptions; phoneNumber: string; tenantId: string; userContext: UserContext }
          • options: APIOptions
          • phoneNumber: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<GeneralErrorResponse | { exists: boolean; status: "OK" }>

    • resendCodePOST?:function
      • resendCodePOST(input: { deviceId: string; preAuthSessionId: string } & { options: APIOptions; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<GeneralErrorResponse | { status: "RESTART_FLOW_ERROR" | "OK" }>
    APIOptions: { appInfo: NormalisedAppinfo; config: TypeNormalisedInput; emailDelivery: default<TypePasswordlessEmailDeliveryInput>; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse; smsDelivery: default<TypePasswordlessSmsDeliveryInput> }

    Type declaration

    • appInfo: NormalisedAppinfo
    • config: TypeNormalisedInput
    • emailDelivery: default<TypePasswordlessEmailDeliveryInput>
    • isInServerlessEnv: boolean
    • recipeId: string
    • recipeImplementation: RecipeInterface
    • req: BaseRequest
    • res: BaseResponse
    • smsDelivery: default<TypePasswordlessSmsDeliveryInput>
    RecipeInterface: { checkCode: any; consumeCode: any; createCode: any; createNewCodeForDevice: any; listCodesByDeviceId: any; listCodesByEmail: any; listCodesByPhoneNumber: any; listCodesByPreAuthSessionId: any; revokeAllCodes: any; revokeCode: any; updateUser: any }

    Type declaration

    • checkCode:function
      • checkCode(input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext: UserContext; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext: UserContext }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>
      • Parameters

        • input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext: UserContext; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext: UserContext }

        Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>

    • consumeCode:function
      • consumeCode(input: { deviceId: string; preAuthSessionId: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
      • Parameters

        • input: { deviceId: string; preAuthSessionId: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer | undefined; tenantId: string; userContext: UserContext }

        Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • createCode:function
      • createCode(input: { email: string } & { session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode?: string } & { phoneNumber: string } & { session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>
      • Parameters

        • input: { email: string } & { session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode?: string } & { phoneNumber: string } & { session: SessionContainer | undefined; tenantId: string; userContext: UserContext; userInputCode?: string }

        Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>

    • createNewCodeForDevice:function
      • createNewCodeForDevice(input: { deviceId: string; tenantId: string; userContext: UserContext; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>
      • Parameters

        • input: { deviceId: string; tenantId: string; userContext: UserContext; userInputCode?: string }
          • deviceId: string
          • tenantId: string
          • userContext: UserContext
          • Optional userInputCode?: string

        Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>

    • listCodesByDeviceId:function
      • listCodesByDeviceId(input: { deviceId: string; tenantId: string; userContext: UserContext }): Promise<undefined | DeviceType>
      • Parameters

        • input: { deviceId: string; tenantId: string; userContext: UserContext }
          • deviceId: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<undefined | DeviceType>

    • listCodesByEmail:function
      • listCodesByEmail(input: { email: string; tenantId: string; userContext: UserContext }): Promise<DeviceType[]>
      • Parameters

        • input: { email: string; tenantId: string; userContext: UserContext }
          • email: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<DeviceType[]>

    • listCodesByPhoneNumber:function
      • listCodesByPhoneNumber(input: { phoneNumber: string; tenantId: string; userContext: UserContext }): Promise<DeviceType[]>
      • Parameters

        • input: { phoneNumber: string; tenantId: string; userContext: UserContext }
          • phoneNumber: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<DeviceType[]>

    • listCodesByPreAuthSessionId:function
      • listCodesByPreAuthSessionId(input: { preAuthSessionId: string; tenantId: string; userContext: UserContext }): Promise<undefined | DeviceType>
      • Parameters

        • input: { preAuthSessionId: string; tenantId: string; userContext: UserContext }
          • preAuthSessionId: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<undefined | DeviceType>

    • revokeAllCodes:function
      • revokeAllCodes(input: { email: string; tenantId: string; userContext: UserContext } | { phoneNumber: string; tenantId: string; userContext: UserContext }): Promise<{ status: "OK" }>
      • Parameters

        • input: { email: string; tenantId: string; userContext: UserContext } | { phoneNumber: string; tenantId: string; userContext: UserContext }

        Returns Promise<{ status: "OK" }>

    • revokeCode:function
      • revokeCode(input: { codeId: string; tenantId: string; userContext: UserContext } | { preAuthSessionId: string; tenantId: string; userContext: UserContext }): Promise<{ status: "OK" }>
      • Parameters

        • input: { codeId: string; tenantId: string; userContext: UserContext } | { preAuthSessionId: string; tenantId: string; userContext: UserContext }

        Returns Promise<{ status: "OK" }>

    • updateUser:function
      • updateUser(input: { email?: string | null; phoneNumber?: string | null; recipeUserId: RecipeUserId; userContext: UserContext }): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>
      • Parameters

        • input: { email?: string | null; phoneNumber?: string | null; recipeUserId: RecipeUserId; userContext: UserContext }
          • Optional email?: string | null
          • Optional phoneNumber?: string | null
          • recipeUserId: RecipeUserId
          • userContext: UserContext

        Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" | "EMAIL_ALREADY_EXISTS_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>

    Variables

    Error: typeof default = Wrapper.Error

    Functions

    • checkCode(input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>
    • Parameters

      • input: { deviceId: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; status: "OK" } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>

    • consumeCode(input: { deviceId: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>
    • consumeCode(input: { deviceId: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any> }): Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
    • Parameters

      • input: { deviceId: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session?: undefined; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" }>

    • Parameters

      • input: { deviceId: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode: string } | { linkCode: string; preAuthSessionId: string; session: SessionContainer; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<{ consumedDevice: { email?: string; failedCodeInputAttemptCount: number; phoneNumber?: string; preAuthSessionId: string }; createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { failedCodeInputAttemptCount: number; maximumCodeInputAttempts: number; status: "INCORRECT_USER_INPUT_CODE_ERROR" | "EXPIRED_USER_INPUT_CODE_ERROR" } | { status: "RESTART_FLOW_ERROR" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • createCode(input: { email: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string } & { phoneNumber: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>
    • Parameters

      • input: { email: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string } & { phoneNumber: string } & { session?: SessionContainer; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }

      Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string }>

    • createMagicLink(input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<string>
    • Parameters

      • input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<string>

    • createNewCodeForDevice(input: { deviceId: string; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }): Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>
    • Parameters

      • input: { deviceId: string; tenantId: string; userContext?: Record<string, any>; userInputCode?: string }
        • deviceId: string
        • tenantId: string
        • Optional userContext?: Record<string, any>
        • Optional userInputCode?: string

      Returns Promise<{ codeId: string; codeLifetime: number; deviceId: string; linkCode: string; preAuthSessionId: string; status: "OK"; timeCreated: number; userInputCode: string } | { status: "RESTART_FLOW_ERROR" | "USER_INPUT_CODE_ALREADY_USED_ERROR" }>

    • init(config: TypeInput): RecipeListFunction
    • listCodesByDeviceId(input: { deviceId: string; tenantId: string; userContext?: Record<string, any> }): Promise<undefined | DeviceType>
    • Parameters

      • input: { deviceId: string; tenantId: string; userContext?: Record<string, any> }
        • deviceId: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<undefined | DeviceType>

    • listCodesByEmail(input: { email: string; tenantId: string; userContext?: Record<string, any> }): Promise<DeviceType[]>
    • Parameters

      • input: { email: string; tenantId: string; userContext?: Record<string, any> }
        • email: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<DeviceType[]>

    • listCodesByPhoneNumber(input: { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<DeviceType[]>
    • Parameters

      • input: { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }
        • phoneNumber: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<DeviceType[]>

    • listCodesByPreAuthSessionId(input: { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<undefined | DeviceType>
    • Parameters

      • input: { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }
        • preAuthSessionId: string
        • tenantId: string
        • Optional userContext?: Record<string, any>

      Returns Promise<undefined | DeviceType>

    • revokeAllCodes(input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" }>
    • Parameters

      • input: { email: string; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<{ status: "OK" }>

    • revokeCode(input: { codeId: string; tenantId: string; userContext?: Record<string, any> } | { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }): Promise<{ status: "OK" }>
    • Parameters

      • input: { codeId: string; tenantId: string; userContext?: Record<string, any> } | { preAuthSessionId: string; tenantId: string; userContext?: Record<string, any> }

      Returns Promise<{ status: "OK" }>

    • sendEmail(input: TypePasswordlessEmailDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
    • sendSms(input: TypePasswordlessSmsDeliveryInput & { userContext?: Record<string, any> }): Promise<void>
    • signInUp(input: { email: string; session?: SessionContainer; tenantId: string; userContext?: Record<string, any> } | { phoneNumber: string; session?: SessionContainer; tenantId: string; userContext?: Record<string, any> }): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: string; user: User }>
    • updateUser(input: { email?: null | string; phoneNumber?: null | string; recipeUserId: RecipeUserId; userContext?: Record<string, any> }): Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>
    • Parameters

      • input: { email?: null | string; phoneNumber?: null | string; recipeUserId: RecipeUserId; userContext?: Record<string, any> }
        • Optional email?: null | string
        • Optional phoneNumber?: null | string
        • recipeUserId: RecipeUserId
        • Optional userContext?: Record<string, any>

      Returns Promise<{ status: "OK" | "EMAIL_ALREADY_EXISTS_ERROR" | "UNKNOWN_USER_ID_ERROR" | "PHONE_NUMBER_ALREADY_EXISTS_ERROR" } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" | "PHONE_NUMBER_CHANGE_NOT_ALLOWED_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_session.html b/docs/modules/recipe_session.html new file mode 100644 index 000000000..0a7c84898 --- /dev/null +++ b/docs/modules/recipe_session.html @@ -0,0 +1,13 @@ +recipe/session | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/session

    Index

    Type Aliases

    APIInterface: { refreshPOST: undefined | ((input: { options: APIOptions; userContext: UserContext }) => Promise<SessionContainer>); signOutPOST: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ status: "OK" } | GeneralErrorResponse>); verifySession: any }

    Type declaration

    APIOptions: { config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    RecipeInterface: { createNewSession: any; fetchAndSetClaim: any; getAllSessionHandlesForUser: any; getClaimValue: any; getGlobalClaimValidators: any; getSession: any; getSessionInformation: any; mergeIntoAccessTokenPayload: any; refreshSession: any; regenerateAccessToken: any; removeClaim: any; revokeAllSessionsForUser: any; revokeMultipleSessions: any; revokeSession: any; setClaimValue: any; updateSessionDataInDatabase: any; validateClaims: any }

    Type declaration

    • createNewSession:function
      • createNewSession(input: { accessTokenPayload?: any; disableAntiCsrf?: boolean; recipeUserId: RecipeUserId; sessionDataInDatabase?: any; tenantId: string; userContext: UserContext; userId: string }): Promise<SessionContainer>
      • Parameters

        • input: { accessTokenPayload?: any; disableAntiCsrf?: boolean; recipeUserId: RecipeUserId; sessionDataInDatabase?: any; tenantId: string; userContext: UserContext; userId: string }
          • Optional accessTokenPayload?: any
          • Optional disableAntiCsrf?: boolean
          • recipeUserId: RecipeUserId
          • Optional sessionDataInDatabase?: any
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<SessionContainer>

    • fetchAndSetClaim:function
      • fetchAndSetClaim(input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }): Promise<boolean>
      • Parameters

        • input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }
          • claim: SessionClaim<any>
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<boolean>

    • getAllSessionHandlesForUser:function
      • getAllSessionHandlesForUser(input: { fetchAcrossAllTenants?: boolean; fetchSessionsForAllLinkedAccounts: boolean; tenantId: string; userContext: UserContext; userId: string }): Promise<string[]>
      • Parameters

        • input: { fetchAcrossAllTenants?: boolean; fetchSessionsForAllLinkedAccounts: boolean; tenantId: string; userContext: UserContext; userId: string }
          • Optional fetchAcrossAllTenants?: boolean
          • fetchSessionsForAllLinkedAccounts: boolean
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<string[]>

    • getClaimValue:function
      • getClaimValue<T>(input: { claim: SessionClaim<T>; sessionHandle: string; userContext: UserContext }): Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: T | undefined }>
      • Type Parameters

        • T

        Parameters

        • input: { claim: SessionClaim<T>; sessionHandle: string; userContext: UserContext }
          • claim: SessionClaim<T>
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: T | undefined }>

    • getGlobalClaimValidators:function
    • getSession:function
    • getSessionInformation:function
      • getSessionInformation(input: { sessionHandle: string; userContext: UserContext }): Promise<undefined | SessionInformation>
      • +

        Used to retrieve all session information for a given session handle. Can be used in place of:

        +
          +
        • getSessionDataFromDatabase
        • +
        • getAccessTokenPayload
        • +
        +

        Returns undefined if the sessionHandle does not exist

        +

        Parameters

        • input: { sessionHandle: string; userContext: UserContext }
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<undefined | SessionInformation>

    • mergeIntoAccessTokenPayload:function
      • mergeIntoAccessTokenPayload(input: { accessTokenPayloadUpdate: JSONObject; sessionHandle: string; userContext: UserContext }): Promise<boolean>
    • refreshSession:function
      • refreshSession(input: { antiCsrfToken?: string; disableAntiCsrf: boolean; refreshToken: string; userContext: UserContext }): Promise<SessionContainer>
      • Parameters

        • input: { antiCsrfToken?: string; disableAntiCsrf: boolean; refreshToken: string; userContext: UserContext }
          • Optional antiCsrfToken?: string
          • disableAntiCsrf: boolean
          • refreshToken: string
          • userContext: UserContext

        Returns Promise<SessionContainer>

    • regenerateAccessToken:function
      • regenerateAccessToken(input: { accessToken: string; newAccessTokenPayload?: any; userContext: UserContext }): Promise<undefined | { accessToken?: { createdTime: number; expiry: number; token: string }; session: { handle: string; recipeUserId: RecipeUserId; tenantId: string; userDataInJWT: any; userId: string }; status: "OK" }>
      • Parameters

        • input: { accessToken: string; newAccessTokenPayload?: any; userContext: UserContext }
          • accessToken: string
          • Optional newAccessTokenPayload?: any
          • userContext: UserContext

        Returns Promise<undefined | { accessToken?: { createdTime: number; expiry: number; token: string }; session: { handle: string; recipeUserId: RecipeUserId; tenantId: string; userDataInJWT: any; userId: string }; status: "OK" }>

        Returns false if the sessionHandle does not exist

        +
    • removeClaim:function
      • removeClaim(input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }): Promise<boolean>
      • Parameters

        • input: { claim: SessionClaim<any>; sessionHandle: string; userContext: UserContext }
          • claim: SessionClaim<any>
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<boolean>

    • revokeAllSessionsForUser:function
      • revokeAllSessionsForUser(input: { revokeAcrossAllTenants?: boolean; revokeSessionsForLinkedAccounts: boolean; tenantId: string; userContext: UserContext; userId: string }): Promise<string[]>
      • Parameters

        • input: { revokeAcrossAllTenants?: boolean; revokeSessionsForLinkedAccounts: boolean; tenantId: string; userContext: UserContext; userId: string }
          • Optional revokeAcrossAllTenants?: boolean
          • revokeSessionsForLinkedAccounts: boolean
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<string[]>

    • revokeMultipleSessions:function
      • revokeMultipleSessions(input: { sessionHandles: string[]; userContext: UserContext }): Promise<string[]>
      • Parameters

        • input: { sessionHandles: string[]; userContext: UserContext }
          • sessionHandles: string[]
          • userContext: UserContext

        Returns Promise<string[]>

    • revokeSession:function
      • revokeSession(input: { sessionHandle: string; userContext: UserContext }): Promise<boolean>
      • Parameters

        • input: { sessionHandle: string; userContext: UserContext }
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<boolean>

    • setClaimValue:function
      • setClaimValue<T>(input: { claim: SessionClaim<T>; sessionHandle: string; userContext: UserContext; value: T }): Promise<boolean>
      • Type Parameters

        • T

        Parameters

        • input: { claim: SessionClaim<T>; sessionHandle: string; userContext: UserContext; value: T }
          • claim: SessionClaim<T>
          • sessionHandle: string
          • userContext: UserContext
          • value: T

        Returns Promise<boolean>

    • updateSessionDataInDatabase:function
      • updateSessionDataInDatabase(input: { newSessionData: any; sessionHandle: string; userContext: UserContext }): Promise<boolean>
      • Parameters

        • input: { newSessionData: any; sessionHandle: string; userContext: UserContext }
          • newSessionData: any
          • sessionHandle: string
          • userContext: UserContext

        Returns Promise<boolean>

    • validateClaims:function
      • validateClaims(input: { accessTokenPayload: any; claimValidators: SessionClaimValidator[]; recipeUserId: RecipeUserId; userContext: UserContext; userId: string }): Promise<{ accessTokenPayloadUpdate?: any; invalidClaims: ClaimValidationError[] }>
    SessionClaimValidator: ({ claim: SessionClaim<any>; shouldRefetch: any } | {}) & { id: string; validate: any }
    SessionInformation: { customClaimsInAccessTokenPayload: any; expiry: number; recipeUserId: RecipeUserId; sessionDataInDatabase: any; sessionHandle: string; tenantId: string; timeCreated: number; userId: string }

    Type declaration

    • customClaimsInAccessTokenPayload: any
    • expiry: number
    • recipeUserId: RecipeUserId
    • sessionDataInDatabase: any
    • sessionHandle: string
    • tenantId: string
    • timeCreated: number
    • userId: string

    Variables

    Error: typeof default = SessionWrapper.Error

    Functions

    • createJWT(payload?: any, validitySeconds?: number, useStaticSigningKey?: boolean, userContext?: Record<string, any>): Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>
    • Parameters

      • Optional payload: any
      • Optional validitySeconds: number
      • Optional useStaticSigningKey: boolean
      • Optional userContext: Record<string, any>

      Returns Promise<{ jwt: string; status: "OK" } | { status: "UNSUPPORTED_ALGORITHM_ERROR" }>

    • createNewSession(req: any, res: any, tenantId: string, recipeUserId: RecipeUserId, accessTokenPayload?: any, sessionDataInDatabase?: any, userContext?: Record<string, any>): Promise<SessionContainer>
    • createNewSessionWithoutRequestResponse(tenantId: string, recipeUserId: RecipeUserId, accessTokenPayload?: any, sessionDataInDatabase?: any, disableAntiCsrf?: boolean, userContext?: Record<string, any>): Promise<SessionContainer>
    • fetchAndSetClaim(sessionHandle: string, claim: SessionClaim<any>, userContext?: Record<string, any>): Promise<boolean>
    • getAllSessionHandlesForUser(userId: string, fetchSessionsForAllLinkedAccounts?: boolean, tenantId?: string, userContext?: Record<string, any>): Promise<string[]>
    • Parameters

      • userId: string
      • fetchSessionsForAllLinkedAccounts: boolean = true
      • Optional tenantId: string
      • Optional userContext: Record<string, any>

      Returns Promise<string[]>

    • getClaimValue<T>(sessionHandle: string, claim: SessionClaim<T>, userContext?: Record<string, any>): Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: undefined | T }>
    • Type Parameters

      • T

      Parameters

      • sessionHandle: string
      • claim: SessionClaim<T>
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "SESSION_DOES_NOT_EXIST_ERROR" } | { status: "OK"; value: undefined | T }>

    • getJWKS(userContext?: Record<string, any>): Promise<{ keys: JsonWebKey[] }>
    • getOpenIdDiscoveryConfiguration(userContext?: Record<string, any>): Promise<{ issuer: string; jwks_uri: string; status: "OK" }>
    • getSessionInformation(sessionHandle: string, userContext?: Record<string, any>): Promise<undefined | SessionInformation>
    • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string): Promise<SessionContainer>
    • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions & { sessionRequired?: true }, userContext?: Record<string, any>): Promise<SessionContainer>
    • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions & { sessionRequired: false }, userContext?: Record<string, any>): Promise<undefined | SessionContainer>
    • getSessionWithoutRequestResponse(accessToken: string, antiCsrfToken?: string, options?: VerifySessionOptions, userContext?: Record<string, any>): Promise<undefined | SessionContainer>
    • init(config?: TypeInput): RecipeListFunction
    • mergeIntoAccessTokenPayload(sessionHandle: string, accessTokenPayloadUpdate: JSONObject, userContext?: Record<string, any>): Promise<boolean>
    • refreshSession(req: any, res: any, userContext?: Record<string, any>): Promise<SessionContainer>
    • refreshSessionWithoutRequestResponse(refreshToken: string, disableAntiCsrf?: boolean, antiCsrfToken?: string, userContext?: Record<string, any>): Promise<SessionContainer>
    • removeClaim(sessionHandle: string, claim: SessionClaim<any>, userContext?: Record<string, any>): Promise<boolean>
    • revokeAllSessionsForUser(userId: string, revokeSessionsForLinkedAccounts?: boolean, tenantId?: string, userContext?: Record<string, any>): Promise<string[]>
    • Parameters

      • userId: string
      • revokeSessionsForLinkedAccounts: boolean = true
      • Optional tenantId: string
      • Optional userContext: Record<string, any>

      Returns Promise<string[]>

    • revokeMultipleSessions(sessionHandles: string[], userContext?: Record<string, any>): Promise<string[]>
    • revokeSession(sessionHandle: string, userContext?: Record<string, any>): Promise<boolean>
    • setClaimValue<T>(sessionHandle: string, claim: SessionClaim<T>, value: T, userContext?: Record<string, any>): Promise<boolean>
    • Type Parameters

      • T

      Parameters

      • sessionHandle: string
      • claim: SessionClaim<T>
      • value: T
      • Optional userContext: Record<string, any>

      Returns Promise<boolean>

    • updateSessionDataInDatabase(sessionHandle: string, newSessionData: any, userContext?: Record<string, any>): Promise<boolean>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_thirdparty.html b/docs/modules/recipe_thirdparty.html new file mode 100644 index 000000000..109079063 --- /dev/null +++ b/docs/modules/recipe_thirdparty.html @@ -0,0 +1 @@ +recipe/thirdparty | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/thirdparty

    Index

    Type Aliases

    APIInterface: { appleRedirectHandlerPOST: undefined | ((input: { formPostInfoFromProvider: {}; options: APIOptions; userContext: UserContext }) => Promise<void>); authorisationUrlGET: undefined | ((input: { options: APIOptions; provider: TypeProvider; redirectURIOnProviderDashboard: string; tenantId: string; userContext: UserContext }) => Promise<{ pkceCodeVerifier?: string; status: "OK"; urlWithQueryParams: string } | GeneralErrorResponse>); signInUpPOST: undefined | ((input: { options: APIOptions; provider: TypeProvider; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & ({ redirectURIInfo: { pkceCodeVerifier?: string; redirectURIOnProviderDashboard: string; redirectURIQueryParams: any } } | { oAuthTokens: {} })) => Promise<{ createdNewRecipeUser: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; session: SessionContainer; status: "OK"; user: User } | { status: "NO_EMAIL_GIVEN_BY_PROVIDER" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | GeneralErrorResponse>) }

    Type declaration

    • appleRedirectHandlerPOST: undefined | ((input: { formPostInfoFromProvider: {}; options: APIOptions; userContext: UserContext }) => Promise<void>)
    • authorisationUrlGET: undefined | ((input: { options: APIOptions; provider: TypeProvider; redirectURIOnProviderDashboard: string; tenantId: string; userContext: UserContext }) => Promise<{ pkceCodeVerifier?: string; status: "OK"; urlWithQueryParams: string } | GeneralErrorResponse>)
    • signInUpPOST: undefined | ((input: { options: APIOptions; provider: TypeProvider; session: SessionContainer | undefined; tenantId: string; userContext: UserContext } & ({ redirectURIInfo: { pkceCodeVerifier?: string; redirectURIOnProviderDashboard: string; redirectURIQueryParams: any } } | { oAuthTokens: {} })) => Promise<{ createdNewRecipeUser: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; session: SessionContainer; status: "OK"; user: User } | { status: "NO_EMAIL_GIVEN_BY_PROVIDER" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | GeneralErrorResponse>)
    APIOptions: { appInfo: NormalisedAppinfo; config: TypeNormalisedInput; isInServerlessEnv: boolean; providers: ProviderInput[]; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    • appInfo: NormalisedAppinfo
    • config: TypeNormalisedInput
    • isInServerlessEnv: boolean
    • providers: ProviderInput[]
    • recipeId: string
    • recipeImplementation: RecipeInterface
    • req: BaseRequest
    • res: BaseResponse
    RecipeInterface: { getProvider: any; manuallyCreateOrUpdateUser: any; signInUp: any }

    Type declaration

    • getProvider:function
      • getProvider(input: { clientType?: string; tenantId: string; thirdPartyId: string; userContext: UserContext }): Promise<undefined | TypeProvider>
      • Parameters

        • input: { clientType?: string; tenantId: string; thirdPartyId: string; userContext: UserContext }
          • Optional clientType?: string
          • tenantId: string
          • thirdPartyId: string
          • userContext: UserContext

        Returns Promise<undefined | TypeProvider>

    • manuallyCreateOrUpdateUser:function
      • manuallyCreateOrUpdateUser(input: { email: string; isVerified: boolean; session: SessionContainer | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext }): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
      • Parameters

        • input: { email: string; isVerified: boolean; session: SessionContainer | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext }
          • email: string
          • isVerified: boolean
          • session: SessionContainer | undefined
          • tenantId: string
          • thirdPartyId: string
          • thirdPartyUserId: string
          • userContext: UserContext

        Returns Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    • signInUp:function
      • signInUp(input: { email: string; isVerified: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; session: SessionContainer | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext }): Promise<{ createdNewRecipeUser: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
      • Parameters

        • input: { email: string; isVerified: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; session: SessionContainer | undefined; tenantId: string; thirdPartyId: string; thirdPartyUserId: string; userContext: UserContext }
          • email: string
          • isVerified: boolean
          • oAuthTokens: {}
            • [key: string]: any
          • rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }
            • Optional fromIdTokenPayload?: {}
              • [key: string]: any
            • Optional fromUserInfoAPI?: {}
              • [key: string]: any
          • session: SessionContainer | undefined
          • tenantId: string
          • thirdPartyId: string
          • thirdPartyUserId: string
          • userContext: UserContext

        Returns Promise<{ createdNewRecipeUser: boolean; oAuthTokens: {}; rawUserInfoFromProvider: { fromIdTokenPayload?: {}; fromUserInfoAPI?: {} }; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "EMAIL_VERIFICATION_REQUIRED" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    TypeProvider: { config: ProviderConfigForClientType; id: string; exchangeAuthCodeForOAuthTokens: any; getAuthorisationRedirectURL: any; getConfigForClientType: any; getUserInfo: any }

    Type declaration

    • config: ProviderConfigForClientType
    • id: string
    • exchangeAuthCodeForOAuthTokens:function
      • exchangeAuthCodeForOAuthTokens(input: { redirectURIInfo: { pkceCodeVerifier?: string; redirectURIOnProviderDashboard: string; redirectURIQueryParams: any }; userContext: UserContext }): Promise<any>
      • Parameters

        • input: { redirectURIInfo: { pkceCodeVerifier?: string; redirectURIOnProviderDashboard: string; redirectURIQueryParams: any }; userContext: UserContext }
          • redirectURIInfo: { pkceCodeVerifier?: string; redirectURIOnProviderDashboard: string; redirectURIQueryParams: any }
            • Optional pkceCodeVerifier?: string
            • redirectURIOnProviderDashboard: string
            • redirectURIQueryParams: any
          • userContext: UserContext

        Returns Promise<any>

    • getAuthorisationRedirectURL:function
      • getAuthorisationRedirectURL(input: { redirectURIOnProviderDashboard: string; userContext: UserContext }): Promise<{ pkceCodeVerifier?: string; urlWithQueryParams: string }>
      • Parameters

        • input: { redirectURIOnProviderDashboard: string; userContext: UserContext }
          • redirectURIOnProviderDashboard: string
          • userContext: UserContext

        Returns Promise<{ pkceCodeVerifier?: string; urlWithQueryParams: string }>

    • getConfigForClientType:function
      • getConfigForClientType(input: { clientType?: string; userContext: UserContext }): Promise<ProviderConfigForClientType>
      • Parameters

        • input: { clientType?: string; userContext: UserContext }
          • Optional clientType?: string
          • userContext: UserContext

        Returns Promise<ProviderConfigForClientType>

    • getUserInfo:function
      • getUserInfo(input: { oAuthTokens: any; userContext: UserContext }): Promise<UserInfo>

    Variables

    Error: typeof default = Wrapper.Error

    Functions

    • getProvider(tenantId: string, thirdPartyId: string, clientType: undefined | string, userContext?: Record<string, any>): Promise<undefined | TypeProvider>
    • init(config?: TypeInput): RecipeListFunction
    • manuallyCreateOrUpdateUser(tenantId: string, thirdPartyId: string, thirdPartyUserId: string, email: string, isVerified: boolean, session?: undefined, userContext?: Record<string, any>): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>
    • manuallyCreateOrUpdateUser(tenantId: string, thirdPartyId: string, thirdPartyUserId: string, email: string, isVerified: boolean, session: SessionContainer, userContext?: Record<string, any>): Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>
    • Parameters

      • tenantId: string
      • thirdPartyId: string
      • thirdPartyUserId: string
      • email: string
      • isVerified: boolean
      • Optional session: undefined
      • Optional userContext: Record<string, any>

      Returns Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" }>

    • Parameters

      • tenantId: string
      • thirdPartyId: string
      • thirdPartyUserId: string
      • email: string
      • isVerified: boolean
      • session: SessionContainer
      • Optional userContext: Record<string, any>

      Returns Promise<{ createdNewRecipeUser: boolean; recipeUserId: RecipeUserId; status: "OK"; user: User } | { reason: string; status: "EMAIL_CHANGE_NOT_ALLOWED_ERROR" } | { reason: string; status: "SIGN_IN_UP_NOT_ALLOWED" } | { reason: "ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "RECIPE_USER_ID_ALREADY_LINKED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR" | "EMAIL_VERIFICATION_REQUIRED" | "SESSION_USER_ACCOUNT_INFO_ALREADY_ASSOCIATED_WITH_ANOTHER_PRIMARY_USER_ID_ERROR"; status: "LINKING_TO_SESSION_USER_FAILED" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_totp.html b/docs/modules/recipe_totp.html new file mode 100644 index 000000000..7e47f44a5 --- /dev/null +++ b/docs/modules/recipe_totp.html @@ -0,0 +1 @@ +recipe/totp | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/totp

    Index

    Type Aliases

    APIInterface: { createDevicePOST: undefined | ((input: { deviceName?: string; options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | GeneralErrorResponse>); listDevicesGET: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" } | GeneralErrorResponse>); removeDevicePOST: undefined | ((input: { deviceName: string; options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ didDeviceExist: boolean; status: "OK" } | GeneralErrorResponse>); verifyDevicePOST: undefined | ((input: { deviceName: string; options: APIOptions; session: SessionContainer; totp: string; userContext: UserContext }) => Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" } | GeneralErrorResponse>); verifyTOTPPOST: undefined | ((input: { options: APIOptions; session: SessionContainer; totp: string; userContext: UserContext }) => Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" } | GeneralErrorResponse>) }

    Type declaration

    • createDevicePOST: undefined | ((input: { deviceName?: string; options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | GeneralErrorResponse>)
    • listDevicesGET: undefined | ((input: { options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" } | GeneralErrorResponse>)
    • removeDevicePOST: undefined | ((input: { deviceName: string; options: APIOptions; session: SessionContainer; userContext: UserContext }) => Promise<{ didDeviceExist: boolean; status: "OK" } | GeneralErrorResponse>)
    • verifyDevicePOST: undefined | ((input: { deviceName: string; options: APIOptions; session: SessionContainer; totp: string; userContext: UserContext }) => Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" } | GeneralErrorResponse>)
    • verifyTOTPPOST: undefined | ((input: { options: APIOptions; session: SessionContainer; totp: string; userContext: UserContext }) => Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" } | GeneralErrorResponse>)
    APIOptions: { config: TypeNormalisedInput; isInServerlessEnv: boolean; recipeId: string; recipeImplementation: RecipeInterface; req: BaseRequest; res: BaseResponse }

    Type declaration

    RecipeInterface: { createDevice: any; getUserIdentifierInfoForUserId: any; listDevices: any; removeDevice: any; updateDevice: any; verifyDevice: any; verifyTOTP: any }

    Type declaration

    • createDevice:function
      • createDevice(input: { deviceName?: string; period?: number; skew?: number; userContext: UserContext; userId: string; userIdentifierInfo?: string }): Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>
      • Parameters

        • input: { deviceName?: string; period?: number; skew?: number; userContext: UserContext; userId: string; userIdentifierInfo?: string }
          • Optional deviceName?: string
          • Optional period?: number
          • Optional skew?: number
          • userContext: UserContext
          • userId: string
          • Optional userIdentifierInfo?: string

        Returns Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • getUserIdentifierInfoForUserId:function
      • getUserIdentifierInfoForUserId(input: { userContext: UserContext; userId: string }): Promise<{ info: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" | "USER_IDENTIFIER_INFO_DOES_NOT_EXIST_ERROR" }>
      • Parameters

        • input: { userContext: UserContext; userId: string }
          • userContext: UserContext
          • userId: string

        Returns Promise<{ info: string; status: "OK" } | { status: "UNKNOWN_USER_ID_ERROR" | "USER_IDENTIFIER_INFO_DOES_NOT_EXIST_ERROR" }>

    • listDevices:function
      • listDevices(input: { userContext: UserContext; userId: string }): Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>
      • Parameters

        • input: { userContext: UserContext; userId: string }
          • userContext: UserContext
          • userId: string

        Returns Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>

    • removeDevice:function
      • removeDevice(input: { deviceName: string; userContext: UserContext; userId: string }): Promise<{ didDeviceExist: boolean; status: "OK" }>
      • Parameters

        • input: { deviceName: string; userContext: UserContext; userId: string }
          • deviceName: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ didDeviceExist: boolean; status: "OK" }>

    • updateDevice:function
      • updateDevice(input: { existingDeviceName: string; newDeviceName: string; userContext: UserContext; userId: string }): Promise<{ status: "OK" | "UNKNOWN_DEVICE_ERROR" | "DEVICE_ALREADY_EXISTS_ERROR" }>
      • Parameters

        • input: { existingDeviceName: string; newDeviceName: string; userContext: UserContext; userId: string }
          • existingDeviceName: string
          • newDeviceName: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ status: "OK" | "UNKNOWN_DEVICE_ERROR" | "DEVICE_ALREADY_EXISTS_ERROR" }>

    • verifyDevice:function
      • verifyDevice(input: { deviceName: string; tenantId: string; totp: string; userContext: UserContext; userId: string }): Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
      • Parameters

        • input: { deviceName: string; tenantId: string; totp: string; userContext: UserContext; userId: string }
          • deviceName: string
          • tenantId: string
          • totp: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

    • verifyTOTP:function
      • verifyTOTP(input: { tenantId: string; totp: string; userContext: UserContext; userId: string }): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
      • Parameters

        • input: { tenantId: string; totp: string; userContext: UserContext; userId: string }
          • tenantId: string
          • totp: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

    Functions

    • createDevice(userId: string, userIdentifierInfo?: string, deviceName?: string, skew?: number, period?: number, userContext?: Record<string, any>): Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>
    • Parameters

      • userId: string
      • Optional userIdentifierInfo: string
      • Optional deviceName: string
      • Optional skew: number
      • Optional period: number
      • Optional userContext: Record<string, any>

      Returns Promise<{ deviceName: string; qrCodeString: string; secret: string; status: "OK" } | { status: "DEVICE_ALREADY_EXISTS_ERROR" } | { status: "UNKNOWN_USER_ID_ERROR" }>

    • init(config?: TypeInput): RecipeListFunction
    • listDevices(userId: string, userContext?: Record<string, any>): Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>
    • Parameters

      • userId: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ devices: { name: string; period: number; skew: number; verified: boolean }[]; status: "OK" }>

    • removeDevice(userId: string, deviceName: string, userContext?: Record<string, any>): Promise<{ didDeviceExist: boolean; status: "OK" }>
    • Parameters

      • userId: string
      • deviceName: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ didDeviceExist: boolean; status: "OK" }>

    • updateDevice(userId: string, existingDeviceName: string, newDeviceName: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "DEVICE_ALREADY_EXISTS_ERROR" | "UNKNOWN_DEVICE_ERROR" }>
    • Parameters

      • userId: string
      • existingDeviceName: string
      • newDeviceName: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "DEVICE_ALREADY_EXISTS_ERROR" | "UNKNOWN_DEVICE_ERROR" }>

    • verifyDevice(tenantId: string, userId: string, deviceName: string, totp: string, userContext?: Record<string, any>): Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • deviceName: string
      • totp: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; wasAlreadyVerified: boolean } | { status: "UNKNOWN_DEVICE_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

    • verifyTOTP(tenantId: string, userId: string, totp: string, userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • totp: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_USER_ID_ERROR" } | { currentNumberOfFailedAttempts: number; maxNumberOfFailedAttempts: number; status: "INVALID_TOTP_ERROR" } | { retryAfterMs: number; status: "LIMIT_REACHED_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_usermetadata.html b/docs/modules/recipe_usermetadata.html new file mode 100644 index 000000000..276f623c0 --- /dev/null +++ b/docs/modules/recipe_usermetadata.html @@ -0,0 +1,10 @@ +recipe/usermetadata | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/usermetadata

    Index

    Type Aliases

    RecipeInterface: { clearUserMetadata: any; getUserMetadata: any; updateUserMetadata: any }

    Type declaration

    • clearUserMetadata:function
      • clearUserMetadata(input: { userContext: UserContext; userId: string }): Promise<{ status: "OK" }>
    • getUserMetadata:function
      • getUserMetadata(input: { userContext: UserContext; userId: string }): Promise<{ metadata: any; status: "OK" }>
      • Parameters

        • input: { userContext: UserContext; userId: string }
          • userContext: UserContext
          • userId: string

        Returns Promise<{ metadata: any; status: "OK" }>

    • updateUserMetadata:function
      • updateUserMetadata(input: { metadataUpdate: JSONObject; userContext: UserContext; userId: string }): Promise<{ metadata: JSONObject; status: "OK" }>
      • +

        Updates the metadata object of the user by doing a shallow merge of the stored and the update JSONs +and removing properties set to null on the root level of the update object. +e.g.:

        +
          +
        • stored: { "preferences": { "theme":"dark" }, "notifications": { "email": true }, "todos": ["example"] }
        • +
        • update: { "notifications": { "sms": true }, "todos": null }
        • +
        • result: { "preferences": { "theme":"dark" }, "notifications": { "sms": true } }
        • +
        +

        Parameters

        • input: { metadataUpdate: JSONObject; userContext: UserContext; userId: string }
          • metadataUpdate: JSONObject
          • userContext: UserContext
          • userId: string

        Returns Promise<{ metadata: JSONObject; status: "OK" }>

    Functions

    • clearUserMetadata(userId: string, userContext?: Record<string, any>): Promise<{ status: "OK" }>
    • getUserMetadata(userId: string, userContext?: Record<string, any>): Promise<{ metadata: any; status: "OK" }>
    • init(config?: TypeInput): RecipeListFunction
    • updateUserMetadata(userId: string, metadataUpdate: JSONObject, userContext?: Record<string, any>): Promise<{ metadata: JSONObject; status: "OK" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/recipe_userroles.html b/docs/modules/recipe_userroles.html new file mode 100644 index 000000000..b60f6834f --- /dev/null +++ b/docs/modules/recipe_userroles.html @@ -0,0 +1 @@ +recipe/userroles | supertokens-node
    Options
    All
    • Public
    • Public/Protected
    • All
    Menu

    Module recipe/userroles

    Index

    Type Aliases

    RecipeInterface: { addRoleToUser: any; createNewRoleOrAddPermissions: any; deleteRole: any; getAllRoles: any; getPermissionsForRole: any; getRolesForUser: any; getRolesThatHavePermission: any; getUsersThatHaveRole: any; removePermissionsFromRole: any; removeUserRole: any }

    Type declaration

    • addRoleToUser:function
      • addRoleToUser(input: { role: string; tenantId: string; userContext: UserContext; userId: string }): Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
      • Parameters

        • input: { role: string; tenantId: string; userContext: UserContext; userId: string }
          • role: string
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    • createNewRoleOrAddPermissions:function
      • createNewRoleOrAddPermissions(input: { permissions: string[]; role: string; userContext: UserContext }): Promise<{ createdNewRole: boolean; status: "OK" }>
      • Parameters

        • input: { permissions: string[]; role: string; userContext: UserContext }
          • permissions: string[]
          • role: string
          • userContext: UserContext

        Returns Promise<{ createdNewRole: boolean; status: "OK" }>

    • deleteRole:function
      • deleteRole(input: { role: string; userContext: UserContext }): Promise<{ didRoleExist: boolean; status: "OK" }>
      • Parameters

        • input: { role: string; userContext: UserContext }
          • role: string
          • userContext: UserContext

        Returns Promise<{ didRoleExist: boolean; status: "OK" }>

    • getAllRoles:function
      • getAllRoles(input: { userContext: UserContext }): Promise<{ roles: string[]; status: "OK" }>
    • getPermissionsForRole:function
      • getPermissionsForRole(input: { role: string; userContext: UserContext }): Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
      • Parameters

        • input: { role: string; userContext: UserContext }
          • role: string
          • userContext: UserContext

        Returns Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    • getRolesForUser:function
      • getRolesForUser(input: { tenantId: string; userContext: UserContext; userId: string }): Promise<{ roles: string[]; status: "OK" }>
      • Parameters

        • input: { tenantId: string; userContext: UserContext; userId: string }
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ roles: string[]; status: "OK" }>

    • getRolesThatHavePermission:function
      • getRolesThatHavePermission(input: { permission: string; userContext: UserContext }): Promise<{ roles: string[]; status: "OK" }>
      • Parameters

        • input: { permission: string; userContext: UserContext }
          • permission: string
          • userContext: UserContext

        Returns Promise<{ roles: string[]; status: "OK" }>

    • getUsersThatHaveRole:function
      • getUsersThatHaveRole(input: { role: string; tenantId: string; userContext: UserContext }): Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>
      • Parameters

        • input: { role: string; tenantId: string; userContext: UserContext }
          • role: string
          • tenantId: string
          • userContext: UserContext

        Returns Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>

    • removePermissionsFromRole:function
      • removePermissionsFromRole(input: { permissions: string[]; role: string; userContext: UserContext }): Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>
      • Parameters

        • input: { permissions: string[]; role: string; userContext: UserContext }
          • permissions: string[]
          • role: string
          • userContext: UserContext

        Returns Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>

    • removeUserRole:function
      • removeUserRole(input: { role: string; tenantId: string; userContext: UserContext; userId: string }): Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
      • Parameters

        • input: { role: string; tenantId: string; userContext: UserContext; userId: string }
          • role: string
          • tenantId: string
          • userContext: UserContext
          • userId: string

        Returns Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    Variables

    PermissionClaim: PermissionClaimClass = ...
    UserRoleClaim: UserRoleClaimClass = ...

    Functions

    • addRoleToUser(tenantId: string, userId: string, role: string, userContext?: Record<string, any>): Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • role: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ didUserAlreadyHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    • createNewRoleOrAddPermissions(role: string, permissions: string[], userContext?: Record<string, any>): Promise<{ createdNewRole: boolean; status: "OK" }>
    • Parameters

      • role: string
      • permissions: string[]
      • Optional userContext: Record<string, any>

      Returns Promise<{ createdNewRole: boolean; status: "OK" }>

    • deleteRole(role: string, userContext?: Record<string, any>): Promise<{ didRoleExist: boolean; status: "OK" }>
    • getAllRoles(userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
    • getPermissionsForRole(role: string, userContext?: Record<string, any>): Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
    • Parameters

      • role: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ permissions: string[]; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    • getRolesForUser(tenantId: string, userId: string, userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
    • getRolesThatHavePermission(permission: string, userContext?: Record<string, any>): Promise<{ roles: string[]; status: "OK" }>
    • getUsersThatHaveRole(tenantId: string, role: string, userContext?: Record<string, any>): Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>
    • Parameters

      • tenantId: string
      • role: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK"; users: string[] } | { status: "UNKNOWN_ROLE_ERROR" }>

    • init(config?: TypeInput): RecipeListFunction
    • removePermissionsFromRole(role: string, permissions: string[], userContext?: Record<string, any>): Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>
    • Parameters

      • role: string
      • permissions: string[]
      • Optional userContext: Record<string, any>

      Returns Promise<{ status: "OK" | "UNKNOWN_ROLE_ERROR" }>

    • removeUserRole(tenantId: string, userId: string, role: string, userContext?: Record<string, any>): Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>
    • Parameters

      • tenantId: string
      • userId: string
      • role: string
      • Optional userContext: Record<string, any>

      Returns Promise<{ didUserHaveRole: boolean; status: "OK" } | { status: "UNKNOWN_ROLE_ERROR" }>

    Legend

    • Variable
    • Function
    • Function with type parameter
    • Type alias
    • Type alias with type parameter
    • Class
    • Class with type parameter
    • Interface

    Settings

    Theme

    Generated using TypeDoc

    \ No newline at end of file