tiny-essentials 1.24.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/node.js.yml +2 -2
- package/README.md +6 -2
- package/changelog/1/24/1.md +12 -0
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyDragger.min.js +1 -1
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyHtml.min.js +1 -1
- package/dist/v1/TinySmartScroller.min.js +1 -1
- package/dist/v1/TinyUploadClicker.min.js +1 -1
- package/dist/v1/basics/array.cjs +28 -0
- package/dist/v1/basics/array.d.mts +16 -0
- package/dist/v1/basics/array.mjs +27 -0
- package/dist/v1/basics/index.cjs +2 -4
- package/dist/v1/basics/index.d.mts +2 -2
- package/dist/v1/basics/index.mjs +2 -4
- package/dist/v1/basics/text.cjs +33 -0
- package/dist/v1/basics/text.d.mts +15 -0
- package/dist/v1/basics/text.mjs +28 -0
- package/dist/v1/build/TinyLevelUp.cjs +2 -2
- package/dist/v1/build/TinyLevelUp.d.mts +1 -1
- package/dist/v1/build/TinyLevelUp.mjs +1 -1
- package/dist/v1/index.cjs +4 -6
- package/dist/v1/index.d.mts +3 -3
- package/dist/v1/index.mjs +7 -6
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.cjs +220 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.d.mts +98 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlAnchor.mjs +207 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.cjs +317 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.d.mts +150 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlButton.mjs +290 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.cjs +48 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.d.mts +36 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlCanvas.mjs +44 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.cjs +102 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.d.mts +65 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlDatalist.mjs +91 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.cjs +80 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.d.mts +57 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlEmbed.mjs +75 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.cjs +244 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.d.mts +129 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlForm.mjs +228 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.cjs +38 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.d.mts +24 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIcon.mjs +33 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.cjs +222 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.d.mts +108 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlIframe.mjs +212 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.cjs +286 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.d.mts +125 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlImage.mjs +250 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.cjs +154 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.d.mts +76 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlInput.mjs +134 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.cjs +282 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.d.mts +128 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlLink.mjs +264 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.cjs +358 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.d.mts +168 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlMedia.mjs +308 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.cjs +226 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.d.mts +99 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlScript.mjs +209 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.cjs +267 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.d.mts +146 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlSelect.mjs +251 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.cjs +110 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.d.mts +57 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlStyle.mjs +108 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.cjs +209 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.d.mts +101 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTemplate.mjs +189 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.cjs +331 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.d.mts +139 -0
- package/dist/v1/libs/TinyHtml/TinyHtmlTextarea.mjs +299 -0
- package/dist/v1/libs/TinyHtml/index.cjs +202 -0
- package/dist/v1/libs/TinyHtml/index.d.mts +82 -0
- package/dist/v1/libs/TinyHtml/index.mjs +185 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.cjs +121 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.d.mts +67 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlColorInput.mjs +99 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.cjs +109 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.d.mts +63 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlFileInput.mjs +92 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.cjs +101 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.d.mts +54 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlHiddenInput.mjs +82 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.cjs +181 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.d.mts +97 -0
- package/dist/v1/libs/TinyHtml/input/TinyHtmlImageInput.mjs +160 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.cjs +90 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.d.mts +54 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlButtonInput.mjs +69 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.cjs +59 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.d.mts +43 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlResetInput.mjs +45 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.cjs +141 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/button/TinyHtmlSubmitInput.mjs +114 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.cjs +103 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.d.mts +61 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlCheckboxInput.mjs +85 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.cjs +115 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.d.mts +56 -0
- package/dist/v1/libs/TinyHtml/input/check/TinyHtmlRadioInput.mjs +94 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.cjs +172 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateInput.mjs +140 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.cjs +145 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.d.mts +77 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlDateTimeInput.mjs +121 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.cjs +146 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlMonthInput.mjs +120 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.cjs +151 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.d.mts +75 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlTimeInput.mjs +128 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.cjs +150 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/date/TinyHtmlWeekInput.mjs +122 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.cjs +134 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.d.mts +74 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlNumberInput.mjs +110 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.cjs +133 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.d.mts +75 -0
- package/dist/v1/libs/TinyHtml/input/number/TinyHtmlRangeInput.mjs +111 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.cjs +179 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.d.mts +87 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlEmailInput.mjs +151 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.cjs +126 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.d.mts +70 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlPasswordInput.mjs +104 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.cjs +177 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlSearchInput.mjs +153 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.cjs +170 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTelInput.mjs +143 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.cjs +173 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.d.mts +89 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlTextInput.mjs +150 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.cjs +166 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.d.mts +81 -0
- package/dist/v1/libs/TinyHtml/input/text/TinyHtmlUrlInput.mjs +142 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.cjs +135 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.d.mts +47 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlAudio.mjs +122 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.cjs +100 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.d.mts +62 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlObject.mjs +94 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.cjs +159 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.d.mts +77 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlSource.mjs +136 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.cjs +193 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.d.mts +91 -0
- package/dist/v1/libs/TinyHtml/media/TinyHtmlVideo.mjs +167 -0
- package/dist/v1/libs/TinyHtml.cjs +260 -3
- package/dist/v1/libs/TinyHtml.d.mts +196 -5
- package/dist/v1/libs/TinyHtml.mjs +238 -3
- package/dist/{legacy/libs/userLevel.d.mts → v1/libs/TinyLevelUp.d.mts} +1 -1
- package/docs/v1/libs/TinyHtml.md +4 -4
- package/package.json +11 -24
- package/dist/_virtual/_commonjsHelpers.cjs +0 -7
- package/dist/_virtual/common.cjs +0 -5
- package/dist/_virtual/index.cjs +0 -9
- package/dist/_virtual/index2.cjs +0 -5
- package/dist/_virtual/trace.cjs +0 -5
- package/dist/legacy/crypto/decrypt.cjs +0 -59
- package/dist/legacy/crypto/decrypt.d.mts +0 -20
- package/dist/legacy/crypto/decrypt.mjs +0 -49
- package/dist/legacy/crypto/default.cjs +0 -23
- package/dist/legacy/crypto/default.d.mts +0 -36
- package/dist/legacy/crypto/default.mjs +0 -19
- package/dist/legacy/crypto/encrypt.cjs +0 -55
- package/dist/legacy/crypto/encrypt.d.mts +0 -21
- package/dist/legacy/crypto/encrypt.mjs +0 -47
- package/dist/legacy/crypto/index.cjs +0 -11
- package/dist/legacy/crypto/index.d.mts +0 -5
- package/dist/legacy/crypto/index.mjs +0 -6
- package/dist/legacy/firebase/cookieSession.cjs +0 -123
- package/dist/legacy/firebase/cookieSession.d.mts +0 -57
- package/dist/legacy/firebase/cookieSession.mjs +0 -115
- package/dist/legacy/firebase/database/index.cjs +0 -14
- package/dist/legacy/firebase/database/index.d.mts +0 -8
- package/dist/legacy/firebase/database/index.mjs +0 -8
- package/dist/legacy/firebase/database/presence.cjs +0 -137
- package/dist/legacy/firebase/database/presence.d.mts +0 -13
- package/dist/legacy/firebase/database/presence.mjs +0 -115
- package/dist/legacy/firebase/database/saveAsync.cjs +0 -149
- package/dist/legacy/firebase/database/saveAsync.d.mts +0 -55
- package/dist/legacy/firebase/database/saveAsync.mjs +0 -148
- package/dist/legacy/firebase/databaseEscape.cjs +0 -45
- package/dist/legacy/firebase/databaseEscape.d.mts +0 -12
- package/dist/legacy/firebase/databaseEscape.mjs +0 -38
- package/dist/legacy/firebase/databaseLogger.cjs +0 -261
- package/dist/legacy/firebase/databaseLogger.d.mts +0 -8
- package/dist/legacy/firebase/databaseLogger.mjs +0 -235
- package/dist/legacy/firebase/discord/api/addGuildMember.cjs +0 -74
- package/dist/legacy/firebase/discord/api/addGuildMember.d.mts +0 -39
- package/dist/legacy/firebase/discord/api/addGuildMember.mjs +0 -65
- package/dist/legacy/firebase/discord/api/getGuildWidget.cjs +0 -50
- package/dist/legacy/firebase/discord/api/getGuildWidget.d.mts +0 -18
- package/dist/legacy/firebase/discord/api/getGuildWidget.mjs +0 -44
- package/dist/legacy/firebase/discord/api/getToken.cjs +0 -70
- package/dist/legacy/firebase/discord/api/getToken.d.mts +0 -36
- package/dist/legacy/firebase/discord/api/getToken.mjs +0 -64
- package/dist/legacy/firebase/discord/api/getUser.cjs +0 -61
- package/dist/legacy/firebase/discord/api/getUser.d.mts +0 -28
- package/dist/legacy/firebase/discord/api/getUser.mjs +0 -55
- package/dist/legacy/firebase/discord/api/getUserConnections.cjs +0 -60
- package/dist/legacy/firebase/discord/api/getUserConnections.d.mts +0 -27
- package/dist/legacy/firebase/discord/api/getUserConnections.mjs +0 -54
- package/dist/legacy/firebase/discord/api/getUserGuilds.cjs +0 -59
- package/dist/legacy/firebase/discord/api/getUserGuilds.d.mts +0 -26
- package/dist/legacy/firebase/discord/api/getUserGuilds.mjs +0 -53
- package/dist/legacy/firebase/discord/api/index.cjs +0 -27
- package/dist/legacy/firebase/discord/api/index.d.mts +0 -20
- package/dist/legacy/firebase/discord/api/index.mjs +0 -21
- package/dist/legacy/firebase/discord/api/refreshToken.cjs +0 -80
- package/dist/legacy/firebase/discord/api/refreshToken.d.mts +0 -46
- package/dist/legacy/firebase/discord/api/refreshToken.mjs +0 -74
- package/dist/legacy/firebase/discord/api/revokeToken.cjs +0 -64
- package/dist/legacy/firebase/discord/api/revokeToken.d.mts +0 -30
- package/dist/legacy/firebase/discord/api/revokeToken.mjs +0 -59
- package/dist/legacy/firebase/discord/config.cjs +0 -23
- package/dist/legacy/firebase/discord/config.d.mts +0 -28
- package/dist/legacy/firebase/discord/config.mjs +0 -18
- package/dist/legacy/firebase/discord/firebase_redirect/index.cjs +0 -14
- package/dist/legacy/firebase/discord/firebase_redirect/index.d.mts +0 -8
- package/dist/legacy/firebase/discord/firebase_redirect/index.mjs +0 -8
- package/dist/legacy/firebase/discord/firebase_redirect/login.cjs +0 -112
- package/dist/legacy/firebase/discord/firebase_redirect/login.d.mts +0 -5
- package/dist/legacy/firebase/discord/firebase_redirect/login.mjs +0 -108
- package/dist/legacy/firebase/discord/firebase_redirect/logout.cjs +0 -102
- package/dist/legacy/firebase/discord/firebase_redirect/logout.d.mts +0 -5
- package/dist/legacy/firebase/discord/firebase_redirect/logout.mjs +0 -98
- package/dist/legacy/firebase/discord/get/authURLGenerator.cjs +0 -79
- package/dist/legacy/firebase/discord/get/authURLGenerator.d.mts +0 -24
- package/dist/legacy/firebase/discord/get/authURLGenerator.mjs +0 -68
- package/dist/legacy/firebase/discord/get/cookie-session.cjs +0 -35
- package/dist/legacy/firebase/discord/get/cookie-session.d.mts +0 -21
- package/dist/legacy/firebase/discord/get/cookie-session.mjs +0 -29
- package/dist/legacy/firebase/discord/get/credentials.cjs +0 -26
- package/dist/legacy/firebase/discord/get/credentials.d.mts +0 -20
- package/dist/legacy/firebase/discord/get/credentials.mjs +0 -21
- package/dist/legacy/firebase/discord/get/errorValidator.cjs +0 -63
- package/dist/legacy/firebase/discord/get/errorValidator.d.mts +0 -29
- package/dist/legacy/firebase/discord/get/errorValidator.mjs +0 -56
- package/dist/legacy/firebase/discord/get/index.cjs +0 -20
- package/dist/legacy/firebase/discord/get/index.d.mts +0 -14
- package/dist/legacy/firebase/discord/get/index.mjs +0 -14
- package/dist/legacy/firebase/discord/get/randomAvatar.cjs +0 -40
- package/dist/legacy/firebase/discord/get/randomAvatar.d.mts +0 -23
- package/dist/legacy/firebase/discord/get/randomAvatar.mjs +0 -31
- package/dist/legacy/firebase/discord/http/index.cjs +0 -18
- package/dist/legacy/firebase/discord/http/index.d.mts +0 -12
- package/dist/legacy/firebase/discord/http/index.mjs +0 -12
- package/dist/legacy/firebase/discord/http/login.cjs +0 -130
- package/dist/legacy/firebase/discord/http/login.d.mts +0 -22
- package/dist/legacy/firebase/discord/http/login.mjs +0 -124
- package/dist/legacy/firebase/discord/http/logout.cjs +0 -158
- package/dist/legacy/firebase/discord/http/logout.d.mts +0 -23
- package/dist/legacy/firebase/discord/http/logout.mjs +0 -144
- package/dist/legacy/firebase/discord/http/redirect.cjs +0 -191
- package/dist/legacy/firebase/discord/http/redirect.d.mts +0 -25
- package/dist/legacy/firebase/discord/http/redirect.mjs +0 -179
- package/dist/legacy/firebase/discord/http/refreshToken.cjs +0 -136
- package/dist/legacy/firebase/discord/http/refreshToken.d.mts +0 -25
- package/dist/legacy/firebase/discord/http/refreshToken.mjs +0 -122
- package/dist/legacy/firebase/discord/index.cjs +0 -22
- package/dist/legacy/firebase/discord/index.d.mts +0 -16
- package/dist/legacy/firebase/discord/index.mjs +0 -16
- package/dist/legacy/firebase/discord/template/cookie-session.cjs +0 -1433
- package/dist/legacy/firebase/discord/template/cookie-session.d.mts +0 -23
- package/dist/legacy/firebase/discord/template/cookie-session.mjs +0 -1160
- package/dist/legacy/firebase/domainRedirect.cjs +0 -37
- package/dist/legacy/firebase/domainRedirect.d.mts +0 -13
- package/dist/legacy/firebase/domainRedirect.mjs +0 -28
- package/dist/legacy/firebase/escape.cjs +0 -77
- package/dist/legacy/firebase/escape.d.mts +0 -18
- package/dist/legacy/firebase/escape.mjs +0 -59
- package/dist/legacy/firebase/getDBAsync.cjs +0 -35
- package/dist/legacy/firebase/getDBAsync.d.mts +0 -11
- package/dist/legacy/firebase/getDBAsync.mjs +0 -27
- package/dist/legacy/firebase/getDBData.cjs +0 -24
- package/dist/legacy/firebase/getDBData.d.mts +0 -2
- package/dist/legacy/firebase/getDBData.mjs +0 -18
- package/dist/legacy/firebase/getDBValue.cjs +0 -19
- package/dist/legacy/firebase/getDBValue.d.mts +0 -10
- package/dist/legacy/firebase/getDBValue.mjs +0 -15
- package/dist/legacy/firebase/index.cjs +0 -264
- package/dist/legacy/firebase/index.d.mts +0 -52
- package/dist/legacy/firebase/index.mjs +0 -235
- package/dist/legacy/firebase/isEmulator.cjs +0 -16
- package/dist/legacy/firebase/isEmulator.d.mts +0 -9
- package/dist/legacy/firebase/isEmulator.mjs +0 -11
- package/dist/legacy/firebase/logger.cjs +0 -140
- package/dist/legacy/firebase/logger.d.mts +0 -8
- package/dist/legacy/firebase/logger.mjs +0 -126
- package/dist/legacy/firebase/mySQL.cjs +0 -30
- package/dist/legacy/firebase/mySQL.d.mts +0 -11
- package/dist/legacy/firebase/mySQL.mjs +0 -23
- package/dist/legacy/firebase/mysqlConnector/create.cjs +0 -121
- package/dist/legacy/firebase/mysqlConnector/create.d.mts +0 -37
- package/dist/legacy/firebase/mysqlConnector/create.mjs +0 -110
- package/dist/legacy/firebase/mysqlConnector/index.cjs +0 -26
- package/dist/legacy/firebase/mysqlConnector/index.d.mts +0 -12
- package/dist/legacy/firebase/mysqlConnector/index.mjs +0 -17
- package/dist/legacy/firebase/mysqlConnector/nextPrev.cjs +0 -77
- package/dist/legacy/firebase/mysqlConnector/nextPrev.d.mts +0 -32
- package/dist/legacy/firebase/mysqlConnector/nextPrev.mjs +0 -64
- package/dist/legacy/firebase/mysqlConnector/pagination.cjs +0 -93
- package/dist/legacy/firebase/mysqlConnector/pagination.d.mts +0 -34
- package/dist/legacy/firebase/mysqlConnector/pagination.mjs +0 -88
- package/dist/legacy/firebase/mysqlConnector/sameUser.cjs +0 -31
- package/dist/legacy/firebase/mysqlConnector/sameUser.d.mts +0 -13
- package/dist/legacy/firebase/mysqlConnector/sameUser.mjs +0 -24
- package/dist/legacy/firebase/transactionDBAsync.cjs +0 -35
- package/dist/legacy/firebase/transactionDBAsync.d.mts +0 -12
- package/dist/legacy/firebase/transactionDBAsync.mjs +0 -28
- package/dist/legacy/get/countObj.cjs +0 -7
- package/dist/legacy/get/countObj.d.mts +0 -3
- package/dist/legacy/get/countObj.mjs +0 -2
- package/dist/legacy/get/decimalColor.cjs +0 -63
- package/dist/legacy/get/decimalColor.d.mts +0 -14
- package/dist/legacy/get/decimalColor.mjs +0 -56
- package/dist/legacy/get/objType.cjs +0 -7
- package/dist/legacy/get/objType.d.mts +0 -3
- package/dist/legacy/get/objType.mjs +0 -2
- package/dist/legacy/get/pagination.cjs +0 -109
- package/dist/legacy/get/pagination.d.mts +0 -44
- package/dist/legacy/get/pagination.mjs +0 -100
- package/dist/legacy/get/queryUrlByName.cjs +0 -32
- package/dist/legacy/get/queryUrlByName.d.mts +0 -22
- package/dist/legacy/get/queryUrlByName.mjs +0 -29
- package/dist/legacy/get/queryUrlJSON.cjs +0 -57
- package/dist/legacy/get/queryUrlJSON.d.mts +0 -25
- package/dist/legacy/get/queryUrlJSON.mjs +0 -59
- package/dist/legacy/get/super_string_filter.cjs +0 -109
- package/dist/legacy/get/super_string_filter.d.mts +0 -27
- package/dist/legacy/get/super_string_filter.mjs +0 -95
- package/dist/legacy/get/versionCheck.cjs +0 -50
- package/dist/legacy/get/versionCheck.d.mts +0 -29
- package/dist/legacy/get/versionCheck.mjs +0 -40
- package/dist/legacy/http/HTTP-1.0.cjs +0 -153
- package/dist/legacy/http/HTTP-1.0.d.mts +0 -9
- package/dist/legacy/http/HTTP-1.0.mjs +0 -138
- package/dist/legacy/http/auth.cjs +0 -71
- package/dist/legacy/http/auth.d.mts +0 -43
- package/dist/legacy/http/auth.mjs +0 -64
- package/dist/legacy/http/check_domain.cjs +0 -103
- package/dist/legacy/http/check_domain.d.mts +0 -13
- package/dist/legacy/http/check_domain.mjs +0 -98
- package/dist/legacy/http/csrfTokenAnalyze.cjs +0 -50
- package/dist/legacy/http/csrfTokenAnalyze.d.mts +0 -23
- package/dist/legacy/http/csrfTokenAnalyze.mjs +0 -45
- package/dist/legacy/http/domainValidator.cjs +0 -106
- package/dist/legacy/http/domainValidator.d.mts +0 -41
- package/dist/legacy/http/domainValidator.mjs +0 -89
- package/dist/legacy/http/errorsCallback.cjs +0 -64
- package/dist/legacy/http/errorsCallback.d.mts +0 -41
- package/dist/legacy/http/errorsCallback.mjs +0 -58
- package/dist/legacy/http/fetch/json.cjs +0 -50
- package/dist/legacy/http/fetch/json.d.mts +0 -24
- package/dist/legacy/http/fetch/json.mjs +0 -43
- package/dist/legacy/http/fetch/text.cjs +0 -49
- package/dist/legacy/http/fetch/text.d.mts +0 -23
- package/dist/legacy/http/fetch/text.mjs +0 -42
- package/dist/legacy/http/fileCache.cjs +0 -80
- package/dist/legacy/http/fileCache.d.mts +0 -37
- package/dist/legacy/http/fileCache.mjs +0 -71
- package/dist/legacy/http/getDomainURL.cjs +0 -60
- package/dist/legacy/http/getDomainURL.d.mts +0 -20
- package/dist/legacy/http/getDomainURL.mjs +0 -55
- package/dist/legacy/http/userIP.cjs +0 -65
- package/dist/legacy/http/userIP.d.mts +0 -27
- package/dist/legacy/http/userIP.mjs +0 -53
- package/dist/legacy/index.cjs +0 -125
- package/dist/legacy/index.d.mts +0 -89
- package/dist/legacy/index.mjs +0 -93
- package/dist/legacy/libs/arraySortPositions.cjs +0 -30
- package/dist/legacy/libs/arraySortPositions.d.mts +0 -17
- package/dist/legacy/libs/arraySortPositions.mjs +0 -27
- package/dist/legacy/libs/capitalize.cjs +0 -22
- package/dist/legacy/libs/capitalize.d.mts +0 -15
- package/dist/legacy/libs/capitalize.mjs +0 -18
- package/dist/legacy/libs/convertBytes.cjs +0 -66
- package/dist/legacy/libs/convertBytes.d.mts +0 -18
- package/dist/legacy/libs/convertBytes.mjs +0 -57
- package/dist/legacy/libs/custom_module_loader.cjs +0 -91
- package/dist/legacy/libs/custom_module_loader.d.mts +0 -6
- package/dist/legacy/libs/custom_module_loader.mjs +0 -87
- package/dist/legacy/libs/dice.cjs +0 -37
- package/dist/legacy/libs/dice.d.mts +0 -6
- package/dist/legacy/libs/dice.mjs +0 -33
- package/dist/legacy/libs/markdown.cjs +0 -97
- package/dist/legacy/libs/markdown.d.mts +0 -12
- package/dist/legacy/libs/markdown.mjs +0 -90
- package/dist/legacy/libs/percentage.cjs +0 -23
- package/dist/legacy/libs/percentage.d.mts +0 -5
- package/dist/legacy/libs/percentage.mjs +0 -20
- package/dist/legacy/libs/regex/getLetter.cjs +0 -24
- package/dist/legacy/libs/regex/getLetter.d.mts +0 -15
- package/dist/legacy/libs/regex/getLetter.mjs +0 -21
- package/dist/legacy/libs/replaceAsync.cjs +0 -35
- package/dist/legacy/libs/replaceAsync.d.mts +0 -16
- package/dist/legacy/libs/replaceAsync.mjs +0 -28
- package/dist/legacy/libs/rule3.cjs +0 -59
- package/dist/legacy/libs/rule3.d.mts +0 -6
- package/dist/legacy/libs/rule3.mjs +0 -55
- package/dist/legacy/momentjs/getAge.cjs +0 -29
- package/dist/legacy/momentjs/getAge.d.mts +0 -11
- package/dist/legacy/momentjs/getAge.mjs +0 -23
- package/dist/legacy/momentjs/index.cjs +0 -9
- package/dist/legacy/momentjs/index.d.mts +0 -4
- package/dist/legacy/momentjs/index.mjs +0 -3
- package/dist/legacy/momentjs/timeDuration.cjs +0 -31
- package/dist/legacy/momentjs/timeDuration.d.mts +0 -12
- package/dist/legacy/momentjs/timeDuration.mjs +0 -25
- package/dist/legacy/socket.io/antiFlood/index.cjs +0 -9
- package/dist/legacy/socket.io/antiFlood/index.d.mts +0 -4
- package/dist/legacy/socket.io/antiFlood/index.mjs +0 -3
- package/dist/legacy/socket.io/antiFlood/install.cjs +0 -34
- package/dist/legacy/socket.io/antiFlood/install.d.mts +0 -16
- package/dist/legacy/socket.io/antiFlood/install.mjs +0 -29
- package/dist/legacy/socket.io/antiFlood/verify.cjs +0 -95
- package/dist/legacy/socket.io/antiFlood/verify.d.mts +0 -20
- package/dist/legacy/socket.io/antiFlood/verify.mjs +0 -79
- package/dist/legacy/socket.io/cookie-session.cjs +0 -27
- package/dist/legacy/socket.io/cookie-session.d.mts +0 -11
- package/dist/legacy/socket.io/cookie-session.mjs +0 -22
- package/dist/legacy/socket.io/discord.cjs +0 -62
- package/dist/legacy/socket.io/discord.d.mts +0 -12
- package/dist/legacy/socket.io/discord.mjs +0 -53
- package/dist/legacy/socket.io/index.cjs +0 -13
- package/dist/legacy/socket.io/index.d.mts +0 -10
- package/dist/legacy/socket.io/index.mjs +0 -9
- package/dist/node_modules/firebase-functions/lib/common/trace.cjs +0 -81
- package/dist/node_modules/firebase-functions/lib/logger/common.cjs +0 -57
- package/dist/node_modules/firebase-functions/lib/logger/index.cjs +0 -159
- /package/dist/{legacy/libs/userLevel.cjs → v1/libs/TinyLevelUp.cjs} +0 -0
- /package/dist/{legacy/libs/userLevel.mjs → v1/libs/TinyLevelUp.mjs} +0 -0
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import _ from 'lodash';
|
|
3
|
-
import objType from '../../../get/objType.mjs';
|
|
4
|
-
import defaultCrypto from '../../../crypto/default.mjs';
|
|
5
|
-
import http_status from '../../../http/HTTP-1.0.mjs';
|
|
6
|
-
import getDomainURL from '../../../http/getDomainURL.mjs';
|
|
7
|
-
import authURLGenerator from '../get/authURLGenerator.mjs';
|
|
8
|
-
/**
|
|
9
|
-
* Handles the login process by checking the configuration, generating authentication URLs, and redirecting the user to the appropriate destination.
|
|
10
|
-
* Depending on the configuration type, it handles various authentication methods like login, login_command, and webhook.
|
|
11
|
-
*
|
|
12
|
-
* @function
|
|
13
|
-
* @param {Record<string, any>} req - The request object, typically provided by the web framework (e.g., Express).
|
|
14
|
-
* @param {Record<string, any>} res - The response object, typically provided by the web framework (e.g., Express).
|
|
15
|
-
* @param {Record<string, any>} cfg - The configuration object that includes various settings for the login process.
|
|
16
|
-
* @param {boolean} existSession - A flag indicating whether the user already has an active session.
|
|
17
|
-
*
|
|
18
|
-
* @returns {void} This function does not return anything. It sends a redirect response to the user based on the configuration.
|
|
19
|
-
*
|
|
20
|
-
* @throws {Error} If any validation or configuration fails, an error response will be sent.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* // Example usage with Express:
|
|
24
|
-
* app.get('/login', (req, res) => {
|
|
25
|
-
* login(req, res, config, sessionExists);
|
|
26
|
-
* });
|
|
27
|
-
*/
|
|
28
|
-
export default function login(req, res, cfg, existSession) {
|
|
29
|
-
// Send Error
|
|
30
|
-
const sendError = function (data) {
|
|
31
|
-
if (typeof cfg.errorCallback !== 'function')
|
|
32
|
-
return http_status.send(res, data.code);
|
|
33
|
-
else
|
|
34
|
-
return cfg.errorCallback(data, req, res);
|
|
35
|
-
};
|
|
36
|
-
// Detect Config
|
|
37
|
-
if (objType(cfg, 'object') &&
|
|
38
|
-
typeof cfg.type === 'string' &&
|
|
39
|
-
(cfg.type === 'login' || cfg.type === 'login_command' || cfg.type === 'webhook')) {
|
|
40
|
-
// Create Settings
|
|
41
|
-
const tinyCrypto = _.defaultsDeep({}, cfg.crypto, defaultCrypto);
|
|
42
|
-
// Detect Config
|
|
43
|
-
if (objType(tinyCrypto, 'object')) {
|
|
44
|
-
// Create Settings
|
|
45
|
-
const tinyCfg = _.defaultsDeep({}, cfg.auth, {
|
|
46
|
-
redirect: 'http://localhost/redirect',
|
|
47
|
-
discordScope: [],
|
|
48
|
-
client_id: '',
|
|
49
|
-
});
|
|
50
|
-
// Validate Config
|
|
51
|
-
if (objType(tinyCfg, 'object')) {
|
|
52
|
-
// Default Values State
|
|
53
|
-
let tinyState = _.defaultsDeep({}, cfg.state, {
|
|
54
|
-
csrfToken: '',
|
|
55
|
-
redirect: '',
|
|
56
|
-
type: cfg.type,
|
|
57
|
-
});
|
|
58
|
-
// Validate
|
|
59
|
-
if (typeof tinyState.type !== 'string')
|
|
60
|
-
tinyState.type = cfg.type;
|
|
61
|
-
// Validate State
|
|
62
|
-
if (objType(tinyState, 'object')) {
|
|
63
|
-
// Create Settings
|
|
64
|
-
const tinyQuery = _.defaultsDeep({}, cfg.query, {
|
|
65
|
-
redirect: 'redirect',
|
|
66
|
-
});
|
|
67
|
-
// Exist Cfg
|
|
68
|
-
if (objType(tinyQuery, 'object')) {
|
|
69
|
-
// Get Domain
|
|
70
|
-
const tinyDomain = getDomainURL(req, cfg.port);
|
|
71
|
-
// Redirect
|
|
72
|
-
let returnRedirect = tinyDomain + '/';
|
|
73
|
-
if (objType(req.query, 'object')) {
|
|
74
|
-
if (typeof req.query[tinyQuery.redirect] === 'string') {
|
|
75
|
-
req.query[tinyQuery.redirect] = req.query[tinyQuery.redirect].trim();
|
|
76
|
-
if (!req.query[tinyQuery.redirect].startsWith('http')) {
|
|
77
|
-
if (req.query[tinyQuery.redirect].startsWith('/'))
|
|
78
|
-
req.query[tinyQuery.redirect] = req.query[tinyQuery.redirect].substring(1);
|
|
79
|
-
// Return Redirect
|
|
80
|
-
tinyState.redirect = req.query[tinyQuery.redirect];
|
|
81
|
-
returnRedirect = req.query[tinyQuery.redirect];
|
|
82
|
-
// Fix Redirect
|
|
83
|
-
returnRedirect = tinyDomain + '/' + returnRedirect;
|
|
84
|
-
}
|
|
85
|
-
else
|
|
86
|
-
tinyState.redirect = '';
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
tinyState.redirect = '';
|
|
90
|
-
delete req.query[tinyQuery.redirect];
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else
|
|
94
|
-
tinyState.redirect = '';
|
|
95
|
-
// Don't exist session
|
|
96
|
-
if (!existSession || cfg.type === 'login_command' || cfg.type === 'webhook') {
|
|
97
|
-
// Redirect Result
|
|
98
|
-
const redirect_discord = authURLGenerator(tinyCfg, tinyState, tinyCrypto, cfg.type);
|
|
99
|
-
return res.redirect(redirect_discord);
|
|
100
|
-
}
|
|
101
|
-
// Yes
|
|
102
|
-
else
|
|
103
|
-
return res.redirect(returnRedirect);
|
|
104
|
-
}
|
|
105
|
-
// Nope
|
|
106
|
-
else
|
|
107
|
-
return sendError({ code: 400, message: 'Invalide Request!' });
|
|
108
|
-
}
|
|
109
|
-
// Error
|
|
110
|
-
else
|
|
111
|
-
return sendError({ code: 400, message: 'Invalide State Config!' });
|
|
112
|
-
}
|
|
113
|
-
// Error
|
|
114
|
-
else
|
|
115
|
-
return sendError({ code: 500, message: 'Invalide System Config!' });
|
|
116
|
-
}
|
|
117
|
-
// Nope
|
|
118
|
-
else
|
|
119
|
-
return sendError({ code: 500, message: 'Invalid Crypto Values!' });
|
|
120
|
-
}
|
|
121
|
-
// Nope
|
|
122
|
-
else
|
|
123
|
-
return sendError({ code: 500, message: 'Invalid Config Values!' });
|
|
124
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _ = require('lodash');
|
|
4
|
-
var objFilter = require('../../../../v1/basics/objFilter.cjs');
|
|
5
|
-
var revokeToken = require('../api/revokeToken.cjs');
|
|
6
|
-
var getUser = require('../api/getUser.cjs');
|
|
7
|
-
|
|
8
|
-
// @ts-nocheck
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Handles the logout process for the user by revoking the token and redirecting.
|
|
13
|
-
*
|
|
14
|
-
* @param {Record<string, any>} req - The HTTP request object.
|
|
15
|
-
* @param {string|number} access_token - The access token of the user to be revoked.
|
|
16
|
-
* @param {Record<string, any>} cfg - Configuration object containing settings for the logout process.
|
|
17
|
-
* @param {boolean} existSession - A flag indicating whether a session exists.
|
|
18
|
-
*
|
|
19
|
-
* @returns {Promise<Record<string, any>>} Resolves with a result object or rejects with an error.
|
|
20
|
-
*
|
|
21
|
-
* @throws {Record<string, any>} Rejects with an error if configuration or token values are invalid.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* logout(req, 'userAccessToken', cfg, true)
|
|
25
|
-
* .then(result => {
|
|
26
|
-
* // Handle successful logout
|
|
27
|
-
* })
|
|
28
|
-
* .catch(err => {
|
|
29
|
-
* // Handle error during logout
|
|
30
|
-
* });
|
|
31
|
-
*/
|
|
32
|
-
async function logout(req, access_token, cfg, existSession) {
|
|
33
|
-
return new Promise(function (resolve, reject) {
|
|
34
|
-
// Detect Config
|
|
35
|
-
if (objFilter.objType(cfg, 'object')) {
|
|
36
|
-
// Create Settings
|
|
37
|
-
const tinyQuery = _.defaultsDeep({}, cfg.query, {
|
|
38
|
-
csrfToken: 'csrfToken',
|
|
39
|
-
redirect: 'redirect',
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
const tinyState = _.defaultsDeep({}, cfg.state, {
|
|
43
|
-
csrfToken: '',
|
|
44
|
-
redirect: '',
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// Exist Query Setting
|
|
48
|
-
if (objFilter.objType(tinyQuery, 'object')) {
|
|
49
|
-
// Exist Query
|
|
50
|
-
if (
|
|
51
|
-
typeof tinyState.csrfToken !== 'string' ||
|
|
52
|
-
tinyState.csrfToken.length < 1 ||
|
|
53
|
-
(objFilter.objType(req.query, 'object') &&
|
|
54
|
-
typeof cfg.csrfToken === 'string' &&
|
|
55
|
-
tinyState.csrfToken === cfg.csrfToken)
|
|
56
|
-
) {
|
|
57
|
-
// Result
|
|
58
|
-
const result = {
|
|
59
|
-
data: null,
|
|
60
|
-
existSession: existSession,
|
|
61
|
-
complete: false,
|
|
62
|
-
state: { csrfToken: cfg.csrfToken },
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Prepare Final Redirect
|
|
66
|
-
result.redirect = '/';
|
|
67
|
-
|
|
68
|
-
// Redirect
|
|
69
|
-
if (typeof tinyState.redirect === 'string' && tinyState.redirect.length > 0) {
|
|
70
|
-
if (tinyState.redirect.startsWith('/'))
|
|
71
|
-
result.redirect = tinyState.redirect.substring(1);
|
|
72
|
-
else result.redirect = tinyState.redirect;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Get Query
|
|
76
|
-
else if (typeof req.query[tinyQuery.redirect] === 'string') {
|
|
77
|
-
if (req.query[tinyQuery.redirect].startsWith('/'))
|
|
78
|
-
result.redirect = req.query[tinyQuery.redirect].substring(1);
|
|
79
|
-
else result.redirect = req.query[tinyQuery.redirect];
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Exist Session
|
|
83
|
-
if (existSession) {
|
|
84
|
-
// Exist Token
|
|
85
|
-
if (
|
|
86
|
-
(typeof access_token === 'string' && access_token.length > 0) ||
|
|
87
|
-
(typeof access_token === 'number' && !isNaN(access_token))
|
|
88
|
-
) {
|
|
89
|
-
// Prepare Auth
|
|
90
|
-
const tinyAuth = _.defaultsDeep({}, cfg.auth, {
|
|
91
|
-
client_id: '',
|
|
92
|
-
client_secret: '',
|
|
93
|
-
redirect_uri: '',
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// Exist Client ID
|
|
97
|
-
if (
|
|
98
|
-
(typeof tinyAuth.client_id === 'string' && tinyAuth.client_id.length > 0) ||
|
|
99
|
-
(typeof tinyAuth.client_id === 'number' && !isNaN(tinyAuth.client_id))
|
|
100
|
-
) {
|
|
101
|
-
// Exist Client Secret
|
|
102
|
-
if (
|
|
103
|
-
(typeof tinyAuth.client_secret === 'string' &&
|
|
104
|
-
tinyAuth.client_secret.length > 0) ||
|
|
105
|
-
(typeof tinyAuth.client_secret === 'number' && !isNaN(tinyAuth.client_secret))
|
|
106
|
-
) {
|
|
107
|
-
// End Discord
|
|
108
|
-
const end_discord_session = function () {
|
|
109
|
-
// Get API HTTP and Revoke the Token
|
|
110
|
-
revokeToken(access_token, tinyAuth)
|
|
111
|
-
.then((data) => {
|
|
112
|
-
result.data = data;
|
|
113
|
-
resolve(result);
|
|
114
|
-
})
|
|
115
|
-
.catch((err) => {
|
|
116
|
-
result.err = err;
|
|
117
|
-
reject(result);
|
|
118
|
-
});
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
// Don't need user info
|
|
122
|
-
if (typeof access_token !== 'string' || access_token.length < 1)
|
|
123
|
-
end_discord_session();
|
|
124
|
-
// Yes
|
|
125
|
-
else {
|
|
126
|
-
// Get User
|
|
127
|
-
getUser(access_token)
|
|
128
|
-
.then((data) => {
|
|
129
|
-
result.user = data;
|
|
130
|
-
end_discord_session();
|
|
131
|
-
})
|
|
132
|
-
.catch(reject);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Nope
|
|
136
|
-
else reject({ code: 401, message: 'Invalid Client Secret!' });
|
|
137
|
-
}
|
|
138
|
-
// Nope
|
|
139
|
-
else reject({ code: 401, message: 'Invalid Client ID!' });
|
|
140
|
-
}
|
|
141
|
-
// Nope
|
|
142
|
-
else reject({ code: 401, message: 'Invalid Token Data!' });
|
|
143
|
-
}
|
|
144
|
-
// Nope
|
|
145
|
-
else resolve(result);
|
|
146
|
-
}
|
|
147
|
-
// Nope
|
|
148
|
-
else reject({ code: 401, message: 'Invalid csrfToken!' });
|
|
149
|
-
}
|
|
150
|
-
// Nope
|
|
151
|
-
else reject({ code: 401, message: 'Invalid query setting!' });
|
|
152
|
-
}
|
|
153
|
-
// Nope
|
|
154
|
-
else reject({ code: 500, message: 'Invalid Config Values!' });
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
module.exports = logout;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Handles the logout process for the user by revoking the token and redirecting.
|
|
3
|
-
*
|
|
4
|
-
* @param {Record<string, any>} req - The HTTP request object.
|
|
5
|
-
* @param {string|number} access_token - The access token of the user to be revoked.
|
|
6
|
-
* @param {Record<string, any>} cfg - Configuration object containing settings for the logout process.
|
|
7
|
-
* @param {boolean} existSession - A flag indicating whether a session exists.
|
|
8
|
-
*
|
|
9
|
-
* @returns {Promise<Record<string, any>>} Resolves with a result object or rejects with an error.
|
|
10
|
-
*
|
|
11
|
-
* @throws {Record<string, any>} Rejects with an error if configuration or token values are invalid.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* logout(req, 'userAccessToken', cfg, true)
|
|
15
|
-
* .then(result => {
|
|
16
|
-
* // Handle successful logout
|
|
17
|
-
* })
|
|
18
|
-
* .catch(err => {
|
|
19
|
-
* // Handle error during logout
|
|
20
|
-
* });
|
|
21
|
-
*/
|
|
22
|
-
export default function logout(req: Record<string, any>, access_token: string | number, cfg: Record<string, any>, existSession: boolean): Promise<Record<string, any>>;
|
|
23
|
-
//# sourceMappingURL=logout.d.mts.map
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import _ from 'lodash';
|
|
3
|
-
import objType from '../../../get/objType.mjs';
|
|
4
|
-
import revokeToken from '../api/revokeToken.mjs';
|
|
5
|
-
import getUser from '../api/getUser.mjs';
|
|
6
|
-
/**
|
|
7
|
-
* Handles the logout process for the user by revoking the token and redirecting.
|
|
8
|
-
*
|
|
9
|
-
* @param {Record<string, any>} req - The HTTP request object.
|
|
10
|
-
* @param {string|number} access_token - The access token of the user to be revoked.
|
|
11
|
-
* @param {Record<string, any>} cfg - Configuration object containing settings for the logout process.
|
|
12
|
-
* @param {boolean} existSession - A flag indicating whether a session exists.
|
|
13
|
-
*
|
|
14
|
-
* @returns {Promise<Record<string, any>>} Resolves with a result object or rejects with an error.
|
|
15
|
-
*
|
|
16
|
-
* @throws {Record<string, any>} Rejects with an error if configuration or token values are invalid.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* logout(req, 'userAccessToken', cfg, true)
|
|
20
|
-
* .then(result => {
|
|
21
|
-
* // Handle successful logout
|
|
22
|
-
* })
|
|
23
|
-
* .catch(err => {
|
|
24
|
-
* // Handle error during logout
|
|
25
|
-
* });
|
|
26
|
-
*/
|
|
27
|
-
export default async function logout(req, access_token, cfg, existSession) {
|
|
28
|
-
return new Promise(function (resolve, reject) {
|
|
29
|
-
// Detect Config
|
|
30
|
-
if (objType(cfg, 'object')) {
|
|
31
|
-
// Create Settings
|
|
32
|
-
const tinyQuery = _.defaultsDeep({}, cfg.query, {
|
|
33
|
-
csrfToken: 'csrfToken',
|
|
34
|
-
redirect: 'redirect',
|
|
35
|
-
});
|
|
36
|
-
const tinyState = _.defaultsDeep({}, cfg.state, {
|
|
37
|
-
csrfToken: '',
|
|
38
|
-
redirect: '',
|
|
39
|
-
});
|
|
40
|
-
// Exist Query Setting
|
|
41
|
-
if (objType(tinyQuery, 'object')) {
|
|
42
|
-
// Exist Query
|
|
43
|
-
if (typeof tinyState.csrfToken !== 'string' ||
|
|
44
|
-
tinyState.csrfToken.length < 1 ||
|
|
45
|
-
(objType(req.query, 'object') &&
|
|
46
|
-
typeof cfg.csrfToken === 'string' &&
|
|
47
|
-
tinyState.csrfToken === cfg.csrfToken)) {
|
|
48
|
-
// Result
|
|
49
|
-
const result = {
|
|
50
|
-
data: null,
|
|
51
|
-
existSession: existSession,
|
|
52
|
-
complete: false,
|
|
53
|
-
state: { csrfToken: cfg.csrfToken },
|
|
54
|
-
};
|
|
55
|
-
// Prepare Final Redirect
|
|
56
|
-
result.redirect = '/';
|
|
57
|
-
// Redirect
|
|
58
|
-
if (typeof tinyState.redirect === 'string' && tinyState.redirect.length > 0) {
|
|
59
|
-
if (tinyState.redirect.startsWith('/'))
|
|
60
|
-
result.redirect = tinyState.redirect.substring(1);
|
|
61
|
-
else
|
|
62
|
-
result.redirect = tinyState.redirect;
|
|
63
|
-
}
|
|
64
|
-
// Get Query
|
|
65
|
-
else if (typeof req.query[tinyQuery.redirect] === 'string') {
|
|
66
|
-
if (req.query[tinyQuery.redirect].startsWith('/'))
|
|
67
|
-
result.redirect = req.query[tinyQuery.redirect].substring(1);
|
|
68
|
-
else
|
|
69
|
-
result.redirect = req.query[tinyQuery.redirect];
|
|
70
|
-
}
|
|
71
|
-
// Exist Session
|
|
72
|
-
if (existSession) {
|
|
73
|
-
// Exist Token
|
|
74
|
-
if ((typeof access_token === 'string' && access_token.length > 0) ||
|
|
75
|
-
(typeof access_token === 'number' && !isNaN(access_token))) {
|
|
76
|
-
// Prepare Auth
|
|
77
|
-
const tinyAuth = _.defaultsDeep({}, cfg.auth, {
|
|
78
|
-
client_id: '',
|
|
79
|
-
client_secret: '',
|
|
80
|
-
redirect_uri: '',
|
|
81
|
-
});
|
|
82
|
-
// Exist Client ID
|
|
83
|
-
if ((typeof tinyAuth.client_id === 'string' && tinyAuth.client_id.length > 0) ||
|
|
84
|
-
(typeof tinyAuth.client_id === 'number' && !isNaN(tinyAuth.client_id))) {
|
|
85
|
-
// Exist Client Secret
|
|
86
|
-
if ((typeof tinyAuth.client_secret === 'string' &&
|
|
87
|
-
tinyAuth.client_secret.length > 0) ||
|
|
88
|
-
(typeof tinyAuth.client_secret === 'number' && !isNaN(tinyAuth.client_secret))) {
|
|
89
|
-
// End Discord
|
|
90
|
-
const end_discord_session = function () {
|
|
91
|
-
// Get API HTTP and Revoke the Token
|
|
92
|
-
revokeToken(access_token, tinyAuth)
|
|
93
|
-
.then((data) => {
|
|
94
|
-
result.data = data;
|
|
95
|
-
resolve(result);
|
|
96
|
-
})
|
|
97
|
-
.catch((err) => {
|
|
98
|
-
result.err = err;
|
|
99
|
-
reject(result);
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
// Don't need user info
|
|
103
|
-
if (typeof access_token !== 'string' || access_token.length < 1)
|
|
104
|
-
end_discord_session();
|
|
105
|
-
// Yes
|
|
106
|
-
else {
|
|
107
|
-
// Get User
|
|
108
|
-
getUser(access_token)
|
|
109
|
-
.then((data) => {
|
|
110
|
-
result.user = data;
|
|
111
|
-
end_discord_session();
|
|
112
|
-
})
|
|
113
|
-
.catch(reject);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// Nope
|
|
117
|
-
else
|
|
118
|
-
reject({ code: 401, message: 'Invalid Client Secret!' });
|
|
119
|
-
}
|
|
120
|
-
// Nope
|
|
121
|
-
else
|
|
122
|
-
reject({ code: 401, message: 'Invalid Client ID!' });
|
|
123
|
-
}
|
|
124
|
-
// Nope
|
|
125
|
-
else
|
|
126
|
-
reject({ code: 401, message: 'Invalid Token Data!' });
|
|
127
|
-
}
|
|
128
|
-
// Nope
|
|
129
|
-
else
|
|
130
|
-
resolve(result);
|
|
131
|
-
}
|
|
132
|
-
// Nope
|
|
133
|
-
else
|
|
134
|
-
reject({ code: 401, message: 'Invalid csrfToken!' });
|
|
135
|
-
}
|
|
136
|
-
// Nope
|
|
137
|
-
else
|
|
138
|
-
reject({ code: 401, message: 'Invalid query setting!' });
|
|
139
|
-
}
|
|
140
|
-
// Nope
|
|
141
|
-
else
|
|
142
|
-
reject({ code: 500, message: 'Invalid Config Values!' });
|
|
143
|
-
});
|
|
144
|
-
}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _ = require('lodash');
|
|
4
|
-
var _default = require('../../../crypto/default.cjs');
|
|
5
|
-
var objFilter = require('../../../../v1/basics/objFilter.cjs');
|
|
6
|
-
var decrypt = require('../../../crypto/decrypt.cjs');
|
|
7
|
-
var getToken = require('../api/getToken.cjs');
|
|
8
|
-
var getUser = require('../api/getUser.cjs');
|
|
9
|
-
|
|
10
|
-
// @ts-nocheck
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Handles the redirection logic for the OAuth flow, including state validation, token retrieval, and user session management.
|
|
15
|
-
* This function is used for handling Discord OAuth redirects and session creation or restoration.
|
|
16
|
-
*
|
|
17
|
-
* @param {Record<string, any>} req - The request object from the client, which contains query parameters such as `state`, `code`, and `csrfToken`.
|
|
18
|
-
* @param {Record<string, any>} cfg - The configuration object containing settings like `crypto`, `auth`, and `discordScope`.
|
|
19
|
-
* @param {boolean} existSession - Indicates if the user already has an active session.
|
|
20
|
-
*
|
|
21
|
-
* @returns {Promise<Record<string, any>>} - A promise that resolves with an object containing the redirection URL and session information.
|
|
22
|
-
* If a new session is created, it also includes user data and the token request.
|
|
23
|
-
*
|
|
24
|
-
* @throws {Record<string, any>} - Throws an error with a `code` and `message` if any validation fails (e.g., missing token, invalid state).
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Example usage of redirect function
|
|
28
|
-
* redirect(req, cfg, true)
|
|
29
|
-
* .then((result) => {
|
|
30
|
-
* console.log('Redirection successful', result);
|
|
31
|
-
* })
|
|
32
|
-
* .catch((err) => {
|
|
33
|
-
* console.error('Error during redirect', err);
|
|
34
|
-
* });
|
|
35
|
-
*/
|
|
36
|
-
async function redirect(req, cfg, existSession) {
|
|
37
|
-
return new Promise(function (resolve, reject) {
|
|
38
|
-
// Detect Config
|
|
39
|
-
if (objFilter.objType(cfg, 'object')) {
|
|
40
|
-
// Create Settings
|
|
41
|
-
const tinyCrypto = _.defaultsDeep({}, cfg.crypto, _default);
|
|
42
|
-
|
|
43
|
-
// Detect Config
|
|
44
|
-
if (objFilter.objType(tinyCrypto, 'object')) {
|
|
45
|
-
// Create Settings
|
|
46
|
-
const tinyCfg = _.defaultsDeep({}, cfg.auth, {
|
|
47
|
-
redirect: 'http://localhost/redirect',
|
|
48
|
-
discordScope: [],
|
|
49
|
-
client_id: '',
|
|
50
|
-
client_secret: '',
|
|
51
|
-
first_get_user: true,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// Check Type
|
|
55
|
-
if (req.query.state.type === 'login_command') {
|
|
56
|
-
tinyCfg.discordScope = ['applications.commands', 'applications.commands.update'];
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Detect Query
|
|
60
|
-
if (objFilter.objType(req.query, 'object')) {
|
|
61
|
-
// Get State
|
|
62
|
-
if (typeof req.query.state === 'string') {
|
|
63
|
-
// Crypto
|
|
64
|
-
req.query.state = decrypt.decrypt(tinyCrypto, req.query.state);
|
|
65
|
-
|
|
66
|
-
// Convert
|
|
67
|
-
try {
|
|
68
|
-
req.query.state = JSON.parse(req.query.state);
|
|
69
|
-
} catch (err) {
|
|
70
|
-
req.query.state = {};
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
req.query.state = {};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Detect State
|
|
77
|
-
if (objFilter.objType(req.query.state, 'object')) {
|
|
78
|
-
// Check Session
|
|
79
|
-
if (
|
|
80
|
-
typeof tinyCfg.csrfToken !== 'string' ||
|
|
81
|
-
tinyCfg.csrfToken.length < 1 ||
|
|
82
|
-
(typeof req.query.state.csrfToken === 'string' &&
|
|
83
|
-
req.query.state.csrfToken === tinyCfg.csrfToken)
|
|
84
|
-
) {
|
|
85
|
-
// Prepare Resolve Data
|
|
86
|
-
const resolveData = { newSession: false, state: req.query.state };
|
|
87
|
-
|
|
88
|
-
// Final Redirect
|
|
89
|
-
resolveData.redirect = '/';
|
|
90
|
-
if (typeof req.query.state.redirect === 'string') {
|
|
91
|
-
resolveData.redirect += req.query.state.redirect;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Exist Session
|
|
95
|
-
if (!existSession || req.query.state.type === 'webhook') {
|
|
96
|
-
if (
|
|
97
|
-
(typeof req.query.code === 'string' && req.query.code.length > 0) ||
|
|
98
|
-
(typeof req.query.code === 'number' && !isNaN(req.query.code))
|
|
99
|
-
) {
|
|
100
|
-
// Discord Token
|
|
101
|
-
getToken({
|
|
102
|
-
client_id: tinyCfg.client_id,
|
|
103
|
-
client_secret: tinyCfg.client_secret,
|
|
104
|
-
code: req.query.code,
|
|
105
|
-
redirect_uri: tinyCfg.redirect,
|
|
106
|
-
scope: tinyCfg.discordScope.join(' '),
|
|
107
|
-
})
|
|
108
|
-
// Success
|
|
109
|
-
.then((json) => {
|
|
110
|
-
// Valid Json Data
|
|
111
|
-
if (objFilter.objType(json, 'object')) {
|
|
112
|
-
// Check Token
|
|
113
|
-
if (
|
|
114
|
-
typeof json.access_token === 'string' ||
|
|
115
|
-
typeof json.access_token === 'number'
|
|
116
|
-
) {
|
|
117
|
-
// Token
|
|
118
|
-
resolveData.tokenRequest = json;
|
|
119
|
-
|
|
120
|
-
// Login Type
|
|
121
|
-
if (req.query.state.type === 'login') {
|
|
122
|
-
// Check New Session
|
|
123
|
-
resolveData.newSession = true;
|
|
124
|
-
|
|
125
|
-
// Get User Data
|
|
126
|
-
if (tinyCfg.first_get_user) {
|
|
127
|
-
// Get User
|
|
128
|
-
getUser(json.access_token)
|
|
129
|
-
// Get User
|
|
130
|
-
.then((dsUser) => {
|
|
131
|
-
// Validate Data
|
|
132
|
-
if (objFilter.objType(dsUser, 'object')) {
|
|
133
|
-
resolveData.user = dsUser;
|
|
134
|
-
resolve(resolveData);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// Nope
|
|
138
|
-
else reject({ code: 500, message: 'Invalid JSON User Data!' });
|
|
139
|
-
})
|
|
140
|
-
// Fail
|
|
141
|
-
.catch(reject);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Nope
|
|
145
|
-
else {
|
|
146
|
-
// Return Result
|
|
147
|
-
resolve(resolveData);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// Webhook Type
|
|
152
|
-
else if (req.query.state.type === 'webhook') {
|
|
153
|
-
// Guild ID
|
|
154
|
-
if (typeof req.query.guild_id === 'string')
|
|
155
|
-
resolveData.guild_id = req.query.guild_id;
|
|
156
|
-
|
|
157
|
-
// Return Result
|
|
158
|
-
resolve(resolveData);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Unknown
|
|
162
|
-
else reject({ code: 400, message: 'Invalid State Type!' });
|
|
163
|
-
}
|
|
164
|
-
// Nope
|
|
165
|
-
else reject({ code: 500, message: 'Invalid User Token Data!' });
|
|
166
|
-
}
|
|
167
|
-
// Nope
|
|
168
|
-
else reject({ code: 500, message: 'Invalid JSON Token Data!' });
|
|
169
|
-
})
|
|
170
|
-
|
|
171
|
-
// Fail
|
|
172
|
-
.catch(reject);
|
|
173
|
-
} else reject({ code: 401, message: 'Invalid Discord Code!' });
|
|
174
|
-
} else resolve({ newSession: false });
|
|
175
|
-
} else reject({ code: 401, message: 'Incorrect csrfToken!' });
|
|
176
|
-
}
|
|
177
|
-
// Nope
|
|
178
|
-
else reject({ code: 401, message: 'Invalid State Query!' });
|
|
179
|
-
}
|
|
180
|
-
// Nope
|
|
181
|
-
else reject({ code: 401, message: 'Invalid Query URL!' });
|
|
182
|
-
}
|
|
183
|
-
// Nope
|
|
184
|
-
else reject({ code: 500, message: 'Invalid Crypto Values!' });
|
|
185
|
-
}
|
|
186
|
-
// Nope
|
|
187
|
-
else reject({ code: 500, message: 'Invalid Config Values!' });
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
module.exports = redirect;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Handles the redirection logic for the OAuth flow, including state validation, token retrieval, and user session management.
|
|
3
|
-
* This function is used for handling Discord OAuth redirects and session creation or restoration.
|
|
4
|
-
*
|
|
5
|
-
* @param {Record<string, any>} req - The request object from the client, which contains query parameters such as `state`, `code`, and `csrfToken`.
|
|
6
|
-
* @param {Record<string, any>} cfg - The configuration object containing settings like `crypto`, `auth`, and `discordScope`.
|
|
7
|
-
* @param {boolean} existSession - Indicates if the user already has an active session.
|
|
8
|
-
*
|
|
9
|
-
* @returns {Promise<Record<string, any>>} - A promise that resolves with an object containing the redirection URL and session information.
|
|
10
|
-
* If a new session is created, it also includes user data and the token request.
|
|
11
|
-
*
|
|
12
|
-
* @throws {Record<string, any>} - Throws an error with a `code` and `message` if any validation fails (e.g., missing token, invalid state).
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // Example usage of redirect function
|
|
16
|
-
* redirect(req, cfg, true)
|
|
17
|
-
* .then((result) => {
|
|
18
|
-
* console.log('Redirection successful', result);
|
|
19
|
-
* })
|
|
20
|
-
* .catch((err) => {
|
|
21
|
-
* console.error('Error during redirect', err);
|
|
22
|
-
* });
|
|
23
|
-
*/
|
|
24
|
-
export default function redirect(req: Record<string, any>, cfg: Record<string, any>, existSession: boolean): Promise<Record<string, any>>;
|
|
25
|
-
//# sourceMappingURL=redirect.d.mts.map
|