tiny-essentials 1.24.0 → 1.24.2
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 +14 -0
- package/changelog/1/24/2.md +21 -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/Exports.md +133 -0
- package/docs/v1/README.md +2 -0
- package/docs/v1/libs/TinyHtml.md +4 -4
- package/package.json +41 -46
- 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,123 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Class representing an authentication system for generating session cookies.
|
|
7
|
-
*
|
|
8
|
-
* The AuthSystem handles checking the authentication time and generating session cookies based on
|
|
9
|
-
* ID token verification. It supports custom time checking and cookie generation logic.
|
|
10
|
-
*
|
|
11
|
-
* @class AuthSystem
|
|
12
|
-
*/
|
|
13
|
-
class AuthSystem {
|
|
14
|
-
/**
|
|
15
|
-
* Creates an instance of AuthSystem.
|
|
16
|
-
* Initializes default configurations for authentication time checking and session cookie expiration.
|
|
17
|
-
*
|
|
18
|
-
* @constructor
|
|
19
|
-
*/
|
|
20
|
-
constructor() {
|
|
21
|
-
this.auth_time = 5;
|
|
22
|
-
|
|
23
|
-
// Default Values
|
|
24
|
-
const authSystem = this;
|
|
25
|
-
this.default = {
|
|
26
|
-
/**
|
|
27
|
-
* Checks whether the authentication time is within the last 5 minutes.
|
|
28
|
-
*
|
|
29
|
-
* @param {Object} decodedIdToken - The decoded ID token object.
|
|
30
|
-
* @param {number} decodedIdToken.auth_time - The authentication time from the ID token.
|
|
31
|
-
* @returns {boolean} Returns `true` if the authentication time is within the last 5 minutes.
|
|
32
|
-
*/
|
|
33
|
-
checkAuthTime: (decodedIdToken) => {
|
|
34
|
-
// Only process if the user just signed in in the last {this.auth_time} minutes.
|
|
35
|
-
if (new Date().getTime() / 1000 - decodedIdToken.auth_time < authSystem.auth_time * 60)
|
|
36
|
-
return true;
|
|
37
|
-
// Nope
|
|
38
|
-
else return false;
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Generates the session cookie expiration time ({this.auth_time} days by default).
|
|
43
|
-
*
|
|
44
|
-
* @returns {number} Returns the expiration time in milliseconds (5 days).
|
|
45
|
-
*/
|
|
46
|
-
cookieTimeGenerator: () => {
|
|
47
|
-
// Set session expiration to 5 days.
|
|
48
|
-
const expiresIn = 60 * 60 * 24 * authSystem.auth_time * 1000;
|
|
49
|
-
|
|
50
|
-
// Create the session cookie. This will also verify the ID token in the process.
|
|
51
|
-
// The session cookie will have the same claims as the ID token.
|
|
52
|
-
// To only allow session cookie setting on recent sign-in, auth_time in ID token
|
|
53
|
-
// can be checked to ensure user was recently signed in before creating a session cookie.
|
|
54
|
-
|
|
55
|
-
// Complete
|
|
56
|
-
return expiresIn;
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
// Set Value
|
|
61
|
-
this.checkAuthTime = this.default.checkAuthTime;
|
|
62
|
-
this.cookieTimeGenerator = this.default.cookieTimeGenerator;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Sets a custom callback to check authentication time.
|
|
67
|
-
*
|
|
68
|
-
* @param {Function} callback - The callback function to validate authentication time.
|
|
69
|
-
* @returns {void}
|
|
70
|
-
*/
|
|
71
|
-
setCookieTimeGenerator(callback) {
|
|
72
|
-
if (typeof callback === 'function') this.cookieTimeGenerator = callback;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Sets a custom callback to generate the cookie expiration time.
|
|
77
|
-
*
|
|
78
|
-
* @param {Function} callback - The callback function to generate cookie expiration time.
|
|
79
|
-
* @returns {void}
|
|
80
|
-
*/
|
|
81
|
-
setCheckAuthTime(callback) {
|
|
82
|
-
if (typeof callback === 'function') this.checkAuthTime = callback;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Generates a session cookie for the user after verifying the ID token.
|
|
87
|
-
*
|
|
88
|
-
* @param {Record<string, any>} auth - The authentication object used to verify the ID token and create session cookies.
|
|
89
|
-
* @param {string} token - The ID token of the authenticated user.
|
|
90
|
-
* @returns {Promise<string>} A promise that resolves with the session cookie or rejects with an error.
|
|
91
|
-
*/
|
|
92
|
-
genCookieSession(auth, token) {
|
|
93
|
-
const tinyThis = this;
|
|
94
|
-
return new Promise(function (resolve, reject) {
|
|
95
|
-
auth
|
|
96
|
-
.verifyIdToken(token)
|
|
97
|
-
.then(async (decodedIdToken) => {
|
|
98
|
-
try {
|
|
99
|
-
// Validate the authentication time
|
|
100
|
-
const checkedTime = await tinyThis.checkAuthTime(decodedIdToken);
|
|
101
|
-
if (checkedTime) {
|
|
102
|
-
// Generate session cookie
|
|
103
|
-
const expiresIn = await tinyThis.cookieTimeGenerator(decodedIdToken);
|
|
104
|
-
auth.createSessionCookie(token, { expiresIn }).then(resolve).catch(reject);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Nope
|
|
108
|
-
else {
|
|
109
|
-
const err = new Error('Invalid Account ID Token Time.');
|
|
110
|
-
err.code = 401;
|
|
111
|
-
reject(err);
|
|
112
|
-
}
|
|
113
|
-
} catch (err) {
|
|
114
|
-
// Fail
|
|
115
|
-
reject(err);
|
|
116
|
-
}
|
|
117
|
-
})
|
|
118
|
-
.catch(reject);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
module.exports = AuthSystem;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export default AuthSystem;
|
|
2
|
-
/**
|
|
3
|
-
* Class representing an authentication system for generating session cookies.
|
|
4
|
-
*
|
|
5
|
-
* The AuthSystem handles checking the authentication time and generating session cookies based on
|
|
6
|
-
* ID token verification. It supports custom time checking and cookie generation logic.
|
|
7
|
-
*
|
|
8
|
-
* @class AuthSystem
|
|
9
|
-
*/
|
|
10
|
-
declare class AuthSystem {
|
|
11
|
-
auth_time: number;
|
|
12
|
-
default: {
|
|
13
|
-
/**
|
|
14
|
-
* Checks whether the authentication time is within the last 5 minutes.
|
|
15
|
-
*
|
|
16
|
-
* @param {Object} decodedIdToken - The decoded ID token object.
|
|
17
|
-
* @param {number} decodedIdToken.auth_time - The authentication time from the ID token.
|
|
18
|
-
* @returns {boolean} Returns `true` if the authentication time is within the last 5 minutes.
|
|
19
|
-
*/
|
|
20
|
-
checkAuthTime: (decodedIdToken: {
|
|
21
|
-
auth_time: number;
|
|
22
|
-
}) => boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Generates the session cookie expiration time ({this.auth_time} days by default).
|
|
25
|
-
*
|
|
26
|
-
* @returns {number} Returns the expiration time in milliseconds (5 days).
|
|
27
|
-
*/
|
|
28
|
-
cookieTimeGenerator: () => number;
|
|
29
|
-
};
|
|
30
|
-
checkAuthTime: (decodedIdToken: {
|
|
31
|
-
auth_time: number;
|
|
32
|
-
}) => boolean;
|
|
33
|
-
cookieTimeGenerator: () => number;
|
|
34
|
-
/**
|
|
35
|
-
* Sets a custom callback to check authentication time.
|
|
36
|
-
*
|
|
37
|
-
* @param {Function} callback - The callback function to validate authentication time.
|
|
38
|
-
* @returns {void}
|
|
39
|
-
*/
|
|
40
|
-
setCookieTimeGenerator(callback: Function): void;
|
|
41
|
-
/**
|
|
42
|
-
* Sets a custom callback to generate the cookie expiration time.
|
|
43
|
-
*
|
|
44
|
-
* @param {Function} callback - The callback function to generate cookie expiration time.
|
|
45
|
-
* @returns {void}
|
|
46
|
-
*/
|
|
47
|
-
setCheckAuthTime(callback: Function): void;
|
|
48
|
-
/**
|
|
49
|
-
* Generates a session cookie for the user after verifying the ID token.
|
|
50
|
-
*
|
|
51
|
-
* @param {Record<string, any>} auth - The authentication object used to verify the ID token and create session cookies.
|
|
52
|
-
* @param {string} token - The ID token of the authenticated user.
|
|
53
|
-
* @returns {Promise<string>} A promise that resolves with the session cookie or rejects with an error.
|
|
54
|
-
*/
|
|
55
|
-
genCookieSession(auth: Record<string, any>, token: string): Promise<string>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=cookieSession.d.mts.map
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/**
|
|
3
|
-
* Class representing an authentication system for generating session cookies.
|
|
4
|
-
*
|
|
5
|
-
* The AuthSystem handles checking the authentication time and generating session cookies based on
|
|
6
|
-
* ID token verification. It supports custom time checking and cookie generation logic.
|
|
7
|
-
*
|
|
8
|
-
* @class AuthSystem
|
|
9
|
-
*/
|
|
10
|
-
class AuthSystem {
|
|
11
|
-
/**
|
|
12
|
-
* Creates an instance of AuthSystem.
|
|
13
|
-
* Initializes default configurations for authentication time checking and session cookie expiration.
|
|
14
|
-
*
|
|
15
|
-
* @constructor
|
|
16
|
-
*/
|
|
17
|
-
constructor() {
|
|
18
|
-
this.auth_time = 5;
|
|
19
|
-
// Default Values
|
|
20
|
-
const authSystem = this;
|
|
21
|
-
this.default = {
|
|
22
|
-
/**
|
|
23
|
-
* Checks whether the authentication time is within the last 5 minutes.
|
|
24
|
-
*
|
|
25
|
-
* @param {Object} decodedIdToken - The decoded ID token object.
|
|
26
|
-
* @param {number} decodedIdToken.auth_time - The authentication time from the ID token.
|
|
27
|
-
* @returns {boolean} Returns `true` if the authentication time is within the last 5 minutes.
|
|
28
|
-
*/
|
|
29
|
-
checkAuthTime: (decodedIdToken) => {
|
|
30
|
-
// Only process if the user just signed in in the last {this.auth_time} minutes.
|
|
31
|
-
if (new Date().getTime() / 1000 - decodedIdToken.auth_time < authSystem.auth_time * 60)
|
|
32
|
-
return true;
|
|
33
|
-
// Nope
|
|
34
|
-
else
|
|
35
|
-
return false;
|
|
36
|
-
},
|
|
37
|
-
/**
|
|
38
|
-
* Generates the session cookie expiration time ({this.auth_time} days by default).
|
|
39
|
-
*
|
|
40
|
-
* @returns {number} Returns the expiration time in milliseconds (5 days).
|
|
41
|
-
*/
|
|
42
|
-
cookieTimeGenerator: () => {
|
|
43
|
-
// Set session expiration to 5 days.
|
|
44
|
-
const expiresIn = 60 * 60 * 24 * authSystem.auth_time * 1000;
|
|
45
|
-
// Create the session cookie. This will also verify the ID token in the process.
|
|
46
|
-
// The session cookie will have the same claims as the ID token.
|
|
47
|
-
// To only allow session cookie setting on recent sign-in, auth_time in ID token
|
|
48
|
-
// can be checked to ensure user was recently signed in before creating a session cookie.
|
|
49
|
-
// Complete
|
|
50
|
-
return expiresIn;
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
// Set Value
|
|
54
|
-
this.checkAuthTime = this.default.checkAuthTime;
|
|
55
|
-
this.cookieTimeGenerator = this.default.cookieTimeGenerator;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Sets a custom callback to check authentication time.
|
|
59
|
-
*
|
|
60
|
-
* @param {Function} callback - The callback function to validate authentication time.
|
|
61
|
-
* @returns {void}
|
|
62
|
-
*/
|
|
63
|
-
setCookieTimeGenerator(callback) {
|
|
64
|
-
if (typeof callback === 'function')
|
|
65
|
-
this.cookieTimeGenerator = callback;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Sets a custom callback to generate the cookie expiration time.
|
|
69
|
-
*
|
|
70
|
-
* @param {Function} callback - The callback function to generate cookie expiration time.
|
|
71
|
-
* @returns {void}
|
|
72
|
-
*/
|
|
73
|
-
setCheckAuthTime(callback) {
|
|
74
|
-
if (typeof callback === 'function')
|
|
75
|
-
this.checkAuthTime = callback;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Generates a session cookie for the user after verifying the ID token.
|
|
79
|
-
*
|
|
80
|
-
* @param {Record<string, any>} auth - The authentication object used to verify the ID token and create session cookies.
|
|
81
|
-
* @param {string} token - The ID token of the authenticated user.
|
|
82
|
-
* @returns {Promise<string>} A promise that resolves with the session cookie or rejects with an error.
|
|
83
|
-
*/
|
|
84
|
-
genCookieSession(auth, token) {
|
|
85
|
-
const tinyThis = this;
|
|
86
|
-
return new Promise(function (resolve, reject) {
|
|
87
|
-
auth
|
|
88
|
-
.verifyIdToken(token)
|
|
89
|
-
.then(async (decodedIdToken) => {
|
|
90
|
-
try {
|
|
91
|
-
// Validate the authentication time
|
|
92
|
-
const checkedTime = await tinyThis.checkAuthTime(decodedIdToken);
|
|
93
|
-
if (checkedTime) {
|
|
94
|
-
// Generate session cookie
|
|
95
|
-
const expiresIn = await tinyThis.cookieTimeGenerator(decodedIdToken);
|
|
96
|
-
auth.createSessionCookie(token, { expiresIn }).then(resolve).catch(reject);
|
|
97
|
-
}
|
|
98
|
-
// Nope
|
|
99
|
-
else {
|
|
100
|
-
const err = new Error('Invalid Account ID Token Time.');
|
|
101
|
-
err.code = 401;
|
|
102
|
-
reject(err);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
catch (err) {
|
|
106
|
-
// Fail
|
|
107
|
-
reject(err);
|
|
108
|
-
}
|
|
109
|
-
})
|
|
110
|
-
.catch(reject);
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Module
|
|
115
|
-
export default AuthSystem;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var moment = require('moment-timezone');
|
|
4
|
-
var _ = require('lodash');
|
|
5
|
-
|
|
6
|
-
// @ts-nocheck
|
|
7
|
-
|
|
8
|
-
/** @typedef {import("firebase/database")} FbDatabase */
|
|
9
|
-
/** @typedef {import("firebase/database").DataSnapshot} DataSnapshot */
|
|
10
|
-
/** @typedef {import("firebase/database").DatabaseReference} DatabaseReference */
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Firebase Presence System
|
|
14
|
-
*
|
|
15
|
-
* This module allows real-time tracking of user presence using Firebase Realtime Database.
|
|
16
|
-
* It handles multiple connections (tabs/devices), updates online status, and records the last time online.
|
|
17
|
-
*
|
|
18
|
-
* @module presenceSystem
|
|
19
|
-
*/
|
|
20
|
-
const presenceSystem = {
|
|
21
|
-
/**
|
|
22
|
-
* Returns the source code of the `start` function as a string, with placeholders replaced.
|
|
23
|
-
*
|
|
24
|
-
* This function is useful to retrieve a browser-compatible version of the `start` function
|
|
25
|
-
* for client-side injection (e.g., for Firebase emulators or test UIs).
|
|
26
|
-
*
|
|
27
|
-
* @param {string} [lodash='_'] - The lodash import replacement string (usually `_`).
|
|
28
|
-
* @returns {string} JavaScript source code as a string with `lodash` and `moment` replaced or removed.
|
|
29
|
-
*/
|
|
30
|
-
browserVersion: function (lodash = '_') {
|
|
31
|
-
// Get Browser Version
|
|
32
|
-
return presenceSystem.start
|
|
33
|
-
.toString()
|
|
34
|
-
.replace(`import _ from 'lodash'`, lodash)
|
|
35
|
-
.replace('let moment;', '')
|
|
36
|
-
.replace('moment = null;', 'console.error(err);')
|
|
37
|
-
.replace(
|
|
38
|
-
`import moment from 'moment-timezone'`,
|
|
39
|
-
"const tinypudding = 'Tiny Jasmini's Pudding.'",
|
|
40
|
-
);
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Starts presence tracking for a given user in Firebase Realtime Database.
|
|
45
|
-
*
|
|
46
|
-
* It sets up handlers for `.info/connected`, manages disconnect events,
|
|
47
|
-
* and updates the last online time in UTC format.
|
|
48
|
-
*
|
|
49
|
-
* @param {object} database - Firebase database reference (usually `admin.database()` or `firebase.database()`).
|
|
50
|
-
* @param {string|object} myConnectionsRef - Path or database ref to the user's `connections` node.
|
|
51
|
-
* @param {string|object} lastOnlineRef - Path or database ref to the user's `lastOnline` node.
|
|
52
|
-
* @param {object} [data] - Optional configuration overrides.
|
|
53
|
-
* @param {boolean|object} [data.connected=true] - Data to store when device is connected.
|
|
54
|
-
* @param {Function} [data.removeError] - Callback for `onDisconnect().remove()` errors.
|
|
55
|
-
* @param {Function} [data.getDate] - Function to return a UTC-based timestamp object (uses `moment` if available).
|
|
56
|
-
*/
|
|
57
|
-
start: (database, myConnectionsRef, lastOnlineRef, data) => {
|
|
58
|
-
// Since I can connect from multiple devices or browser tabs, we store each connection instance separately
|
|
59
|
-
// any time that connectionsRef's value is null (i.e. has no children) I am offline
|
|
60
|
-
if (typeof myConnectionsRef === 'string') {
|
|
61
|
-
myConnectionsRef = database.ref(myConnectionsRef);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// stores the timestamp of my last disconnect (the last time I was seen online)
|
|
65
|
-
if (typeof lastOnlineRef === 'string') {
|
|
66
|
-
lastOnlineRef = database.ref(lastOnlineRef);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Get Base
|
|
70
|
-
data = _.defaultsDeep({}, data, {
|
|
71
|
-
// Remove Error
|
|
72
|
-
removeError: (err) => {
|
|
73
|
-
if (err) {
|
|
74
|
-
console.group('could not establish onDisconnect event');
|
|
75
|
-
console.error(err);
|
|
76
|
-
console.groupEnd();
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
// Is Connected
|
|
81
|
-
connected: true,
|
|
82
|
-
|
|
83
|
-
// Get Data
|
|
84
|
-
getDate: function () {
|
|
85
|
-
// Prepare Values
|
|
86
|
-
let momentTime;
|
|
87
|
-
|
|
88
|
-
// Timezone Module
|
|
89
|
-
if (moment) {
|
|
90
|
-
momentTime = moment.utc().toObject();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Vanilla
|
|
94
|
-
else {
|
|
95
|
-
const date = new Date();
|
|
96
|
-
momentTime = {
|
|
97
|
-
date: date.getUTCDate(),
|
|
98
|
-
hours: date.getUTCHours(),
|
|
99
|
-
milliseconds: date.getUTCMilliseconds(),
|
|
100
|
-
minutes: date.getUTCMinutes(),
|
|
101
|
-
months: date.getUTCMonth(),
|
|
102
|
-
seconds: date.getUTCSeconds(),
|
|
103
|
-
years: date.getUTCFullYear(),
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Insert Timezone Name
|
|
108
|
-
momentTime.timezone = 'Universal';
|
|
109
|
-
|
|
110
|
-
// Return the value
|
|
111
|
-
return momentTime;
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
// Prepare Connection
|
|
116
|
-
const connectedRef = database.ref('.info/connected');
|
|
117
|
-
connectedRef.on('value', (/** @type {DataSnapshot} */ snap) => {
|
|
118
|
-
if (snap.val() === true) {
|
|
119
|
-
// We're connected (or reconnected)! Do anything here that should happen only if online (or on reconnect)
|
|
120
|
-
const con = myConnectionsRef.push();
|
|
121
|
-
|
|
122
|
-
// When I disconnect, remove this device
|
|
123
|
-
con.onDisconnect().remove(data.removeError);
|
|
124
|
-
|
|
125
|
-
// Add this device to my connections list
|
|
126
|
-
// this value could contain info about the device or a timestamp too
|
|
127
|
-
con.set(data.connected);
|
|
128
|
-
|
|
129
|
-
// When I disconnect, update the last time I was seen online
|
|
130
|
-
const momentTime = data.getDate();
|
|
131
|
-
lastOnlineRef.onDisconnect().set(momentTime);
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
module.exports = presenceSystem;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export default presenceSystem;
|
|
2
|
-
export type FbDatabase = typeof import("firebase/database");
|
|
3
|
-
export type DataSnapshot = import("firebase/database").DataSnapshot;
|
|
4
|
-
export type DatabaseReference = import("firebase/database").DatabaseReference;
|
|
5
|
-
declare namespace presenceSystem {
|
|
6
|
-
function browserVersion(lodash?: string): string;
|
|
7
|
-
function start(database: object, myConnectionsRef: string | object, lastOnlineRef: string | object, data?: {
|
|
8
|
-
connected?: boolean | object | undefined;
|
|
9
|
-
removeError?: Function | undefined;
|
|
10
|
-
getDate?: Function | undefined;
|
|
11
|
-
}): void;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=presence.d.mts.map
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import moment from 'moment-timezone';
|
|
3
|
-
import _ from 'lodash';
|
|
4
|
-
/** @typedef {import("firebase/database")} FbDatabase */
|
|
5
|
-
/** @typedef {import("firebase/database").DataSnapshot} DataSnapshot */
|
|
6
|
-
/** @typedef {import("firebase/database").DatabaseReference} DatabaseReference */
|
|
7
|
-
/**
|
|
8
|
-
* Firebase Presence System
|
|
9
|
-
*
|
|
10
|
-
* This module allows real-time tracking of user presence using Firebase Realtime Database.
|
|
11
|
-
* It handles multiple connections (tabs/devices), updates online status, and records the last time online.
|
|
12
|
-
*
|
|
13
|
-
* @module presenceSystem
|
|
14
|
-
*/
|
|
15
|
-
const presenceSystem = {
|
|
16
|
-
/**
|
|
17
|
-
* Returns the source code of the `start` function as a string, with placeholders replaced.
|
|
18
|
-
*
|
|
19
|
-
* This function is useful to retrieve a browser-compatible version of the `start` function
|
|
20
|
-
* for client-side injection (e.g., for Firebase emulators or test UIs).
|
|
21
|
-
*
|
|
22
|
-
* @param {string} [lodash='_'] - The lodash import replacement string (usually `_`).
|
|
23
|
-
* @returns {string} JavaScript source code as a string with `lodash` and `moment` replaced or removed.
|
|
24
|
-
*/
|
|
25
|
-
browserVersion: function (lodash = '_') {
|
|
26
|
-
// Get Browser Version
|
|
27
|
-
return presenceSystem.start
|
|
28
|
-
.toString()
|
|
29
|
-
.replace(`import _ from 'lodash'`, lodash)
|
|
30
|
-
.replace('let moment;', '')
|
|
31
|
-
.replace('moment = null;', 'console.error(err);')
|
|
32
|
-
.replace(`import moment from 'moment-timezone'`, "const tinypudding = 'Tiny Jasmini's Pudding.'");
|
|
33
|
-
},
|
|
34
|
-
/**
|
|
35
|
-
* Starts presence tracking for a given user in Firebase Realtime Database.
|
|
36
|
-
*
|
|
37
|
-
* It sets up handlers for `.info/connected`, manages disconnect events,
|
|
38
|
-
* and updates the last online time in UTC format.
|
|
39
|
-
*
|
|
40
|
-
* @param {object} database - Firebase database reference (usually `admin.database()` or `firebase.database()`).
|
|
41
|
-
* @param {string|object} myConnectionsRef - Path or database ref to the user's `connections` node.
|
|
42
|
-
* @param {string|object} lastOnlineRef - Path or database ref to the user's `lastOnline` node.
|
|
43
|
-
* @param {object} [data] - Optional configuration overrides.
|
|
44
|
-
* @param {boolean|object} [data.connected=true] - Data to store when device is connected.
|
|
45
|
-
* @param {Function} [data.removeError] - Callback for `onDisconnect().remove()` errors.
|
|
46
|
-
* @param {Function} [data.getDate] - Function to return a UTC-based timestamp object (uses `moment` if available).
|
|
47
|
-
*/
|
|
48
|
-
start: (database, myConnectionsRef, lastOnlineRef, data) => {
|
|
49
|
-
// Since I can connect from multiple devices or browser tabs, we store each connection instance separately
|
|
50
|
-
// any time that connectionsRef's value is null (i.e. has no children) I am offline
|
|
51
|
-
if (typeof myConnectionsRef === 'string') {
|
|
52
|
-
myConnectionsRef = database.ref(myConnectionsRef);
|
|
53
|
-
}
|
|
54
|
-
// stores the timestamp of my last disconnect (the last time I was seen online)
|
|
55
|
-
if (typeof lastOnlineRef === 'string') {
|
|
56
|
-
lastOnlineRef = database.ref(lastOnlineRef);
|
|
57
|
-
}
|
|
58
|
-
// Get Base
|
|
59
|
-
data = _.defaultsDeep({}, data, {
|
|
60
|
-
// Remove Error
|
|
61
|
-
removeError: (err) => {
|
|
62
|
-
if (err) {
|
|
63
|
-
console.group('could not establish onDisconnect event');
|
|
64
|
-
console.error(err);
|
|
65
|
-
console.groupEnd();
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
// Is Connected
|
|
69
|
-
connected: true,
|
|
70
|
-
// Get Data
|
|
71
|
-
getDate: function () {
|
|
72
|
-
// Prepare Values
|
|
73
|
-
let momentTime;
|
|
74
|
-
// Timezone Module
|
|
75
|
-
if (moment) {
|
|
76
|
-
momentTime = moment.utc().toObject();
|
|
77
|
-
}
|
|
78
|
-
// Vanilla
|
|
79
|
-
else {
|
|
80
|
-
const date = new Date();
|
|
81
|
-
momentTime = {
|
|
82
|
-
date: date.getUTCDate(),
|
|
83
|
-
hours: date.getUTCHours(),
|
|
84
|
-
milliseconds: date.getUTCMilliseconds(),
|
|
85
|
-
minutes: date.getUTCMinutes(),
|
|
86
|
-
months: date.getUTCMonth(),
|
|
87
|
-
seconds: date.getUTCSeconds(),
|
|
88
|
-
years: date.getUTCFullYear(),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
// Insert Timezone Name
|
|
92
|
-
momentTime.timezone = 'Universal';
|
|
93
|
-
// Return the value
|
|
94
|
-
return momentTime;
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
// Prepare Connection
|
|
98
|
-
const connectedRef = database.ref('.info/connected');
|
|
99
|
-
connectedRef.on('value', (/** @type {DataSnapshot} */ snap) => {
|
|
100
|
-
if (snap.val() === true) {
|
|
101
|
-
// We're connected (or reconnected)! Do anything here that should happen only if online (or on reconnect)
|
|
102
|
-
const con = myConnectionsRef.push();
|
|
103
|
-
// When I disconnect, remove this device
|
|
104
|
-
con.onDisconnect().remove(data.removeError);
|
|
105
|
-
// Add this device to my connections list
|
|
106
|
-
// this value could contain info about the device or a timestamp too
|
|
107
|
-
con.set(data.connected);
|
|
108
|
-
// When I disconnect, update the last time I was seen online
|
|
109
|
-
const momentTime = data.getDate();
|
|
110
|
-
lastOnlineRef.onDisconnect().set(momentTime);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
},
|
|
114
|
-
};
|
|
115
|
-
export default presenceSystem;
|