@vraksha/bottender 1.6.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +161 -0
- package/bin/cli.js +4 -0
- package/dist/bot/Bot.d.ts +44 -0
- package/dist/bot/Bot.d.ts.map +1 -0
- package/dist/bot/Bot.js +226 -0
- package/dist/bot/Bot.js.map +1 -0
- package/dist/bot/Connector.d.ts +23 -0
- package/dist/bot/Connector.d.ts.map +1 -0
- package/dist/bot/Connector.js +3 -0
- package/dist/bot/Connector.js.map +1 -0
- package/dist/bottender.d.ts +7 -0
- package/dist/bottender.d.ts.map +1 -0
- package/dist/bottender.js +15 -0
- package/dist/bottender.js.map +1 -0
- package/dist/browser.d.ts +9 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +23 -0
- package/dist/browser.js.map +1 -0
- package/dist/cache/CacheStore.d.ts +12 -0
- package/dist/cache/CacheStore.d.ts.map +1 -0
- package/dist/cache/CacheStore.js +3 -0
- package/dist/cache/CacheStore.js.map +1 -0
- package/dist/cache/MemoryCacheStore.d.ts +13 -0
- package/dist/cache/MemoryCacheStore.d.ts.map +1 -0
- package/dist/cache/MemoryCacheStore.js +59 -0
- package/dist/cache/MemoryCacheStore.js.map +1 -0
- package/dist/cache/RedisCacheStore.d.ts +18 -0
- package/dist/cache/RedisCacheStore.d.ts.map +1 -0
- package/dist/cache/RedisCacheStore.js +79 -0
- package/dist/cache/RedisCacheStore.js.map +1 -0
- package/dist/chain.d.ts +5 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +27 -0
- package/dist/chain.js.map +1 -0
- package/dist/cli/index.d.ts +11 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +99 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/providers/index.d.ts +37 -0
- package/dist/cli/providers/index.d.ts.map +1 -0
- package/dist/cli/providers/index.js +18 -0
- package/dist/cli/providers/index.js.map +1 -0
- package/dist/cli/providers/line/help.d.ts +3 -0
- package/dist/cli/providers/line/help.d.ts.map +1 -0
- package/dist/cli/providers/line/help.js +9 -0
- package/dist/cli/providers/line/help.js.map +1 -0
- package/dist/cli/providers/line/index.d.ts +7 -0
- package/dist/cli/providers/line/index.d.ts.map +1 -0
- package/dist/cli/providers/line/index.js +10 -0
- package/dist/cli/providers/line/index.js.map +1 -0
- package/dist/cli/providers/messenger/help.d.ts +3 -0
- package/dist/cli/providers/messenger/help.d.ts.map +1 -0
- package/dist/cli/providers/messenger/help.js +31 -0
- package/dist/cli/providers/messenger/help.js.map +1 -0
- package/dist/cli/providers/messenger/index.d.ts +10 -0
- package/dist/cli/providers/messenger/index.d.ts.map +1 -0
- package/dist/cli/providers/messenger/index.js +19 -0
- package/dist/cli/providers/messenger/index.js.map +1 -0
- package/dist/cli/providers/messenger/persona.d.ts +7 -0
- package/dist/cli/providers/messenger/persona.d.ts.map +1 -0
- package/dist/cli/providers/messenger/persona.js +235 -0
- package/dist/cli/providers/messenger/persona.js.map +1 -0
- package/dist/cli/providers/messenger/profile.d.ts +9 -0
- package/dist/cli/providers/messenger/profile.d.ts.map +1 -0
- package/dist/cli/providers/messenger/profile.js +233 -0
- package/dist/cli/providers/messenger/profile.js.map +1 -0
- package/dist/cli/providers/messenger/webhook.d.ts +4 -0
- package/dist/cli/providers/messenger/webhook.d.ts.map +1 -0
- package/dist/cli/providers/messenger/webhook.js +165 -0
- package/dist/cli/providers/messenger/webhook.js.map +1 -0
- package/dist/cli/providers/sh/dev.d.ts +4 -0
- package/dist/cli/providers/sh/dev.d.ts.map +1 -0
- package/dist/cli/providers/sh/dev.js +79 -0
- package/dist/cli/providers/sh/dev.js.map +1 -0
- package/dist/cli/providers/sh/help.d.ts +3 -0
- package/dist/cli/providers/sh/help.d.ts.map +1 -0
- package/dist/cli/providers/sh/help.js +42 -0
- package/dist/cli/providers/sh/help.js.map +1 -0
- package/dist/cli/providers/sh/index.d.ts +10 -0
- package/dist/cli/providers/sh/index.d.ts.map +1 -0
- package/dist/cli/providers/sh/index.js +19 -0
- package/dist/cli/providers/sh/index.js.map +1 -0
- package/dist/cli/providers/sh/init.d.ts +3 -0
- package/dist/cli/providers/sh/init.d.ts.map +1 -0
- package/dist/cli/providers/sh/init.js +22 -0
- package/dist/cli/providers/sh/init.js.map +1 -0
- package/dist/cli/providers/sh/start.d.ts +4 -0
- package/dist/cli/providers/sh/start.d.ts.map +1 -0
- package/dist/cli/providers/sh/start.js +51 -0
- package/dist/cli/providers/sh/start.js.map +1 -0
- package/dist/cli/providers/sh/utils/argCommon.d.ts +8 -0
- package/dist/cli/providers/sh/utils/argCommon.d.ts.map +1 -0
- package/dist/cli/providers/sh/utils/argCommon.js +10 -0
- package/dist/cli/providers/sh/utils/argCommon.js.map +1 -0
- package/dist/cli/providers/sh/utils/getArgs.d.ts +9 -0
- package/dist/cli/providers/sh/utils/getArgs.d.ts.map +1 -0
- package/dist/cli/providers/sh/utils/getArgs.js +10 -0
- package/dist/cli/providers/sh/utils/getArgs.js.map +1 -0
- package/dist/cli/providers/sh/utils/getSubArgs.d.ts +6 -0
- package/dist/cli/providers/sh/utils/getSubArgs.d.ts.map +1 -0
- package/dist/cli/providers/sh/utils/getSubArgs.js +23 -0
- package/dist/cli/providers/sh/utils/getSubArgs.js.map +1 -0
- package/dist/cli/providers/telegram/help.d.ts +3 -0
- package/dist/cli/providers/telegram/help.d.ts.map +1 -0
- package/dist/cli/providers/telegram/help.js +34 -0
- package/dist/cli/providers/telegram/help.js.map +1 -0
- package/dist/cli/providers/telegram/index.d.ts +8 -0
- package/dist/cli/providers/telegram/index.d.ts.map +1 -0
- package/dist/cli/providers/telegram/index.js +13 -0
- package/dist/cli/providers/telegram/index.js.map +1 -0
- package/dist/cli/providers/telegram/webhook.d.ts +6 -0
- package/dist/cli/providers/telegram/webhook.d.ts.map +1 -0
- package/dist/cli/providers/telegram/webhook.js +149 -0
- package/dist/cli/providers/telegram/webhook.js.map +1 -0
- package/dist/cli/providers/viber/help.d.ts +3 -0
- package/dist/cli/providers/viber/help.d.ts.map +1 -0
- package/dist/cli/providers/viber/help.js +33 -0
- package/dist/cli/providers/viber/help.js.map +1 -0
- package/dist/cli/providers/viber/index.d.ts +8 -0
- package/dist/cli/providers/viber/index.d.ts.map +1 -0
- package/dist/cli/providers/viber/index.js +13 -0
- package/dist/cli/providers/viber/index.js.map +1 -0
- package/dist/cli/providers/viber/webhook.d.ts +5 -0
- package/dist/cli/providers/viber/webhook.d.ts.map +1 -0
- package/dist/cli/providers/viber/webhook.js +122 -0
- package/dist/cli/providers/viber/webhook.js.map +1 -0
- package/dist/console/ConsoleBot.d.ts +17 -0
- package/dist/console/ConsoleBot.d.ts.map +1 -0
- package/dist/console/ConsoleBot.js +80 -0
- package/dist/console/ConsoleBot.js.map +1 -0
- package/dist/console/ConsoleClient.d.ts +4 -0
- package/dist/console/ConsoleClient.d.ts.map +1 -0
- package/dist/console/ConsoleClient.js +3 -0
- package/dist/console/ConsoleClient.js.map +1 -0
- package/dist/console/ConsoleConnector.d.ts +35 -0
- package/dist/console/ConsoleConnector.d.ts.map +1 -0
- package/dist/console/ConsoleConnector.js +62 -0
- package/dist/console/ConsoleConnector.js.map +1 -0
- package/dist/console/ConsoleContext.d.ts +28 -0
- package/dist/console/ConsoleContext.d.ts.map +1 -0
- package/dist/console/ConsoleContext.js +66 -0
- package/dist/console/ConsoleContext.js.map +1 -0
- package/dist/console/ConsoleEvent.d.ts +24 -0
- package/dist/console/ConsoleEvent.d.ts.map +1 -0
- package/dist/console/ConsoleEvent.js +36 -0
- package/dist/console/ConsoleEvent.js.map +1 -0
- package/dist/context/Context.d.ts +52 -0
- package/dist/context/Context.d.ts.map +1 -0
- package/dist/context/Context.js +118 -0
- package/dist/context/Context.js.map +1 -0
- package/dist/context/Event.d.ts +8 -0
- package/dist/context/Event.d.ts.map +1 -0
- package/dist/context/Event.js +3 -0
- package/dist/context/Event.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -0
- package/dist/initializeServer.d.ts +10 -0
- package/dist/initializeServer.d.ts.map +1 -0
- package/dist/initializeServer.js +98 -0
- package/dist/initializeServer.js.map +1 -0
- package/dist/line/LineBot.d.ts +15 -0
- package/dist/line/LineBot.d.ts.map +1 -0
- package/dist/line/LineBot.js +27 -0
- package/dist/line/LineBot.js.map +1 -0
- package/dist/line/LineConnector.d.ts +92 -0
- package/dist/line/LineConnector.d.ts.map +1 -0
- package/dist/line/LineConnector.js +283 -0
- package/dist/line/LineConnector.js.map +1 -0
- package/dist/line/LineContext.d.ts +135 -0
- package/dist/line/LineContext.d.ts.map +1 -0
- package/dist/line/LineContext.js +419 -0
- package/dist/line/LineContext.js.map +1 -0
- package/dist/line/LineEvent.d.ts +61 -0
- package/dist/line/LineEvent.d.ts.map +1 -0
- package/dist/line/LineEvent.js +217 -0
- package/dist/line/LineEvent.js.map +1 -0
- package/dist/line/LineTypes.d.ts +199 -0
- package/dist/line/LineTypes.d.ts.map +1 -0
- package/dist/line/LineTypes.js +18 -0
- package/dist/line/LineTypes.js.map +1 -0
- package/dist/line/routes.d.ts +33 -0
- package/dist/line/routes.d.ts.map +1 -0
- package/dist/line/routes.js +89 -0
- package/dist/line/routes.js.map +1 -0
- package/dist/messenger/FacebookBaseConnector.d.ts +66 -0
- package/dist/messenger/FacebookBaseConnector.d.ts.map +1 -0
- package/dist/messenger/FacebookBaseConnector.js +118 -0
- package/dist/messenger/FacebookBaseConnector.js.map +1 -0
- package/dist/messenger/MessengerBot.d.ts +15 -0
- package/dist/messenger/MessengerBot.d.ts.map +1 -0
- package/dist/messenger/MessengerBot.js +27 -0
- package/dist/messenger/MessengerBot.js.map +1 -0
- package/dist/messenger/MessengerConnector.d.ts +37 -0
- package/dist/messenger/MessengerConnector.d.ts.map +1 -0
- package/dist/messenger/MessengerConnector.js +204 -0
- package/dist/messenger/MessengerConnector.js.map +1 -0
- package/dist/messenger/MessengerContext.d.ts +114 -0
- package/dist/messenger/MessengerContext.d.ts.map +1 -0
- package/dist/messenger/MessengerContext.js +547 -0
- package/dist/messenger/MessengerContext.js.map +1 -0
- package/dist/messenger/MessengerEvent.d.ts +76 -0
- package/dist/messenger/MessengerEvent.d.ts.map +1 -0
- package/dist/messenger/MessengerEvent.js +380 -0
- package/dist/messenger/MessengerEvent.js.map +1 -0
- package/dist/messenger/MessengerTypes.d.ts +292 -0
- package/dist/messenger/MessengerTypes.d.ts.map +1 -0
- package/dist/messenger/MessengerTypes.js +18 -0
- package/dist/messenger/MessengerTypes.js.map +1 -0
- package/dist/messenger/routes.d.ts +39 -0
- package/dist/messenger/routes.d.ts.map +1 -0
- package/dist/messenger/routes.js +109 -0
- package/dist/messenger/routes.js.map +1 -0
- package/dist/plugins/withTyping.d.ts +6 -0
- package/dist/plugins/withTyping.d.ts.map +1 -0
- package/dist/plugins/withTyping.js +135 -0
- package/dist/plugins/withTyping.js.map +1 -0
- package/dist/router/index.d.ts +39 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +166 -0
- package/dist/router/index.js.map +1 -0
- package/dist/server/DevServer.d.ts +6 -0
- package/dist/server/DevServer.d.ts.map +1 -0
- package/dist/server/DevServer.js +27 -0
- package/dist/server/DevServer.js.map +1 -0
- package/dist/server/Server.d.ts +26 -0
- package/dist/server/Server.d.ts.map +1 -0
- package/dist/server/Server.js +86 -0
- package/dist/server/Server.js.map +1 -0
- package/dist/session/CacheBasedSessionStore.d.ts +14 -0
- package/dist/session/CacheBasedSessionStore.d.ts.map +1 -0
- package/dist/session/CacheBasedSessionStore.js +44 -0
- package/dist/session/CacheBasedSessionStore.js.map +1 -0
- package/dist/session/FileSessionStore.d.ts +20 -0
- package/dist/session/FileSessionStore.d.ts.map +1 -0
- package/dist/session/FileSessionStore.js +118 -0
- package/dist/session/FileSessionStore.js.map +1 -0
- package/dist/session/MemorySessionStore.d.ts +10 -0
- package/dist/session/MemorySessionStore.d.ts.map +1 -0
- package/dist/session/MemorySessionStore.js +25 -0
- package/dist/session/MemorySessionStore.js.map +1 -0
- package/dist/session/MongoSessionStore.d.ts +23 -0
- package/dist/session/MongoSessionStore.d.ts.map +1 -0
- package/dist/session/MongoSessionStore.js +97 -0
- package/dist/session/MongoSessionStore.js.map +1 -0
- package/dist/session/RedisSessionStore.d.ts +14 -0
- package/dist/session/RedisSessionStore.d.ts.map +1 -0
- package/dist/session/RedisSessionStore.js +15 -0
- package/dist/session/RedisSessionStore.js.map +1 -0
- package/dist/session/Session.d.ts +3 -0
- package/dist/session/Session.d.ts.map +1 -0
- package/dist/session/Session.js +3 -0
- package/dist/session/Session.js.map +1 -0
- package/dist/session/SessionStore.d.ts +10 -0
- package/dist/session/SessionStore.d.ts.map +1 -0
- package/dist/session/SessionStore.js +3 -0
- package/dist/session/SessionStore.js.map +1 -0
- package/dist/shared/getBottenderConfig.d.ts +5 -0
- package/dist/shared/getBottenderConfig.d.ts.map +1 -0
- package/dist/shared/getBottenderConfig.js +24 -0
- package/dist/shared/getBottenderConfig.js.map +1 -0
- package/dist/shared/getChannelBotAndRequestContext.d.ts +10 -0
- package/dist/shared/getChannelBotAndRequestContext.d.ts.map +1 -0
- package/dist/shared/getChannelBotAndRequestContext.js +41 -0
- package/dist/shared/getChannelBotAndRequestContext.js.map +1 -0
- package/dist/shared/getChannelBots.d.ts +6 -0
- package/dist/shared/getChannelBots.d.ts.map +1 -0
- package/dist/shared/getChannelBots.js +84 -0
- package/dist/shared/getChannelBots.js.map +1 -0
- package/dist/shared/getChannelConfig.d.ts +5 -0
- package/dist/shared/getChannelConfig.d.ts.map +1 -0
- package/dist/shared/getChannelConfig.js +28 -0
- package/dist/shared/getChannelConfig.js.map +1 -0
- package/dist/shared/getChannelSchema.d.ts +4 -0
- package/dist/shared/getChannelSchema.d.ts.map +1 -0
- package/dist/shared/getChannelSchema.js +110 -0
- package/dist/shared/getChannelSchema.js.map +1 -0
- package/dist/shared/getClient.d.ts +11 -0
- package/dist/shared/getClient.d.ts.map +1 -0
- package/dist/shared/getClient.js +36 -0
- package/dist/shared/getClient.js.map +1 -0
- package/dist/shared/getConsoleBot.d.ts +5 -0
- package/dist/shared/getConsoleBot.d.ts.map +1 -0
- package/dist/shared/getConsoleBot.js +43 -0
- package/dist/shared/getConsoleBot.js.map +1 -0
- package/dist/shared/getSessionStore.d.ts +5 -0
- package/dist/shared/getSessionStore.d.ts.map +1 -0
- package/dist/shared/getSessionStore.js +41 -0
- package/dist/shared/getSessionStore.js.map +1 -0
- package/dist/shared/getWebhookFromNgrok.d.ts +2 -0
- package/dist/shared/getWebhookFromNgrok.d.ts.map +1 -0
- package/dist/shared/getWebhookFromNgrok.js +33 -0
- package/dist/shared/getWebhookFromNgrok.js.map +1 -0
- package/dist/shared/log.d.ts +6 -0
- package/dist/shared/log.d.ts.map +1 -0
- package/dist/shared/log.js +29 -0
- package/dist/shared/log.js.map +1 -0
- package/dist/slack/SlackBot.d.ts +22 -0
- package/dist/slack/SlackBot.d.ts.map +1 -0
- package/dist/slack/SlackBot.js +30 -0
- package/dist/slack/SlackBot.js.map +1 -0
- package/dist/slack/SlackConnector.d.ts +72 -0
- package/dist/slack/SlackConnector.d.ts.map +1 -0
- package/dist/slack/SlackConnector.js +302 -0
- package/dist/slack/SlackConnector.js.map +1 -0
- package/dist/slack/SlackContext.d.ts +65 -0
- package/dist/slack/SlackContext.d.ts.map +1 -0
- package/dist/slack/SlackContext.js +131 -0
- package/dist/slack/SlackContext.js.map +1 -0
- package/dist/slack/SlackEvent.d.ts +28 -0
- package/dist/slack/SlackEvent.d.ts.map +1 -0
- package/dist/slack/SlackEvent.js +171 -0
- package/dist/slack/SlackEvent.js.map +1 -0
- package/dist/slack/SlackTypes.d.ts +79 -0
- package/dist/slack/SlackTypes.d.ts.map +1 -0
- package/dist/slack/SlackTypes.js +18 -0
- package/dist/slack/SlackTypes.js.map +1 -0
- package/dist/slack/routes.d.ts +24 -0
- package/dist/slack/routes.d.ts.map +1 -0
- package/dist/slack/routes.js +25 -0
- package/dist/slack/routes.js.map +1 -0
- package/dist/telegram/TelegramBot.d.ts +20 -0
- package/dist/telegram/TelegramBot.d.ts.map +1 -0
- package/dist/telegram/TelegramBot.js +68 -0
- package/dist/telegram/TelegramBot.js.map +1 -0
- package/dist/telegram/TelegramConnector.d.ts +42 -0
- package/dist/telegram/TelegramConnector.d.ts.map +1 -0
- package/dist/telegram/TelegramConnector.js +191 -0
- package/dist/telegram/TelegramConnector.js.map +1 -0
- package/dist/telegram/TelegramContext.d.ts +64 -0
- package/dist/telegram/TelegramContext.d.ts.map +1 -0
- package/dist/telegram/TelegramContext.js +742 -0
- package/dist/telegram/TelegramContext.js.map +1 -0
- package/dist/telegram/TelegramEvent.d.ts +61 -0
- package/dist/telegram/TelegramEvent.d.ts.map +1 -0
- package/dist/telegram/TelegramEvent.js +246 -0
- package/dist/telegram/TelegramEvent.js.map +1 -0
- package/dist/telegram/TelegramTypes.d.ts +27 -0
- package/dist/telegram/TelegramTypes.d.ts.map +1 -0
- package/dist/telegram/TelegramTypes.js +18 -0
- package/dist/telegram/TelegramTypes.js.map +1 -0
- package/dist/telegram/routes.d.ts +25 -0
- package/dist/telegram/routes.d.ts.map +1 -0
- package/dist/telegram/routes.js +53 -0
- package/dist/telegram/routes.js.map +1 -0
- package/dist/test-utils/ContextSimulator.d.ts +196 -0
- package/dist/test-utils/ContextSimulator.d.ts.map +1 -0
- package/dist/test-utils/ContextSimulator.js +237 -0
- package/dist/test-utils/ContextSimulator.js.map +1 -0
- package/dist/test-utils/SimulatedContext.d.ts +9 -0
- package/dist/test-utils/SimulatedContext.d.ts.map +1 -0
- package/dist/test-utils/SimulatedContext.js +18 -0
- package/dist/test-utils/SimulatedContext.js.map +1 -0
- package/dist/test-utils/index.d.ts +2 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +9 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/types.d.ts +107 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +22 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +13 -0
- package/dist/utils.js.map +1 -0
- package/dist/viber/ViberBot.d.ts +15 -0
- package/dist/viber/ViberBot.d.ts.map +1 -0
- package/dist/viber/ViberBot.js +27 -0
- package/dist/viber/ViberBot.js.map +1 -0
- package/dist/viber/ViberConnector.d.ts +62 -0
- package/dist/viber/ViberConnector.d.ts.map +1 -0
- package/dist/viber/ViberConnector.js +152 -0
- package/dist/viber/ViberConnector.js.map +1 -0
- package/dist/viber/ViberContext.d.ts +20 -0
- package/dist/viber/ViberContext.d.ts.map +1 -0
- package/dist/viber/ViberContext.js +132 -0
- package/dist/viber/ViberContext.js.map +1 -0
- package/dist/viber/ViberEvent.d.ts +39 -0
- package/dist/viber/ViberEvent.d.ts.map +1 -0
- package/dist/viber/ViberEvent.js +150 -0
- package/dist/viber/ViberEvent.js.map +1 -0
- package/dist/viber/ViberTypes.d.ts +82 -0
- package/dist/viber/ViberTypes.d.ts.map +1 -0
- package/dist/viber/ViberTypes.js +18 -0
- package/dist/viber/ViberTypes.js.map +1 -0
- package/dist/viber/routes.d.ts +21 -0
- package/dist/viber/routes.d.ts.map +1 -0
- package/dist/viber/routes.js +37 -0
- package/dist/viber/routes.js.map +1 -0
- package/dist/whatsapp/TwilioClient.d.ts +55 -0
- package/dist/whatsapp/TwilioClient.d.ts.map +1 -0
- package/dist/whatsapp/TwilioClient.js +66 -0
- package/dist/whatsapp/TwilioClient.js.map +1 -0
- package/dist/whatsapp/WhatsappBot.d.ts +15 -0
- package/dist/whatsapp/WhatsappBot.d.ts.map +1 -0
- package/dist/whatsapp/WhatsappBot.js +27 -0
- package/dist/whatsapp/WhatsappBot.js.map +1 -0
- package/dist/whatsapp/WhatsappConnector.d.ts +64 -0
- package/dist/whatsapp/WhatsappConnector.d.ts.map +1 -0
- package/dist/whatsapp/WhatsappConnector.js +111 -0
- package/dist/whatsapp/WhatsappConnector.js.map +1 -0
- package/dist/whatsapp/WhatsappContext.d.ts +17 -0
- package/dist/whatsapp/WhatsappContext.d.ts.map +1 -0
- package/dist/whatsapp/WhatsappContext.js +30 -0
- package/dist/whatsapp/WhatsappContext.js.map +1 -0
- package/dist/whatsapp/WhatsappEvent.d.ts +25 -0
- package/dist/whatsapp/WhatsappEvent.d.ts.map +1 -0
- package/dist/whatsapp/WhatsappEvent.js +60 -0
- package/dist/whatsapp/WhatsappEvent.js.map +1 -0
- package/dist/whatsapp/WhatsappTypes.d.ts +59 -0
- package/dist/whatsapp/WhatsappTypes.d.ts.map +1 -0
- package/dist/whatsapp/WhatsappTypes.js +3 -0
- package/dist/whatsapp/WhatsappTypes.js.map +1 -0
- package/dist/whatsapp/routes.d.ts +20 -0
- package/dist/whatsapp/routes.d.ts.map +1 -0
- package/dist/whatsapp/routes.js +33 -0
- package/dist/whatsapp/routes.js.map +1 -0
- package/dist/whatsapp-by-meta/MetaClient.d.ts +297 -0
- package/dist/whatsapp-by-meta/MetaClient.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/MetaClient.js +74 -0
- package/dist/whatsapp-by-meta/MetaClient.js.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts +15 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaBot.js +27 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaBot.js.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts +67 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js +130 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts +45 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaContext.js +49 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaContext.js.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts +236 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js +3 -0
- package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js.map +1 -0
- package/dist/whatsapp-by-meta/events/BaseEvent.d.ts +26 -0
- package/dist/whatsapp-by-meta/events/BaseEvent.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/events/BaseEvent.js +61 -0
- package/dist/whatsapp-by-meta/events/BaseEvent.js.map +1 -0
- package/dist/whatsapp-by-meta/routes.d.ts +20 -0
- package/dist/whatsapp-by-meta/routes.d.ts.map +1 -0
- package/dist/whatsapp-by-meta/routes.js +33 -0
- package/dist/whatsapp-by-meta/routes.js.map +1 -0
- package/dist/withProps.d.ts +5 -0
- package/dist/withProps.d.ts.map +1 -0
- package/dist/withProps.js +16 -0
- package/dist/withProps.js.map +1 -0
- package/package.json +110 -0
- package/router.d.ts +1 -0
- package/router.js +2 -0
- package/test-utils.js +2 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { JsonObject } from 'type-fest';
|
|
2
|
+
import Context from '../context/Context';
|
|
3
|
+
import line from '../line/routes';
|
|
4
|
+
import messenger from '../messenger/routes';
|
|
5
|
+
import slack from '../slack/routes';
|
|
6
|
+
import telegram from '../telegram/routes';
|
|
7
|
+
import viber from '../viber/routes';
|
|
8
|
+
import whatsapp from '../whatsapp/routes';
|
|
9
|
+
import { Action, Props } from '../types';
|
|
10
|
+
type MatchPattern = string | Array<string> | RegExp;
|
|
11
|
+
type RoutePattern<C extends Context> = '*' | RoutePredicate<C>;
|
|
12
|
+
export type RoutePredicate<C extends Context> = (context: C) => boolean | JsonObject | Promise<boolean | JsonObject>;
|
|
13
|
+
type Route<C extends Context, AC extends Context = C> = {
|
|
14
|
+
predicate: RoutePredicate<C>;
|
|
15
|
+
action: Action<AC, any>;
|
|
16
|
+
};
|
|
17
|
+
declare function router<C extends Context>(routes: Route<C, any>[]): (context: C, props?: Props<C>) => Promise<Action<C, any, {}> | undefined>;
|
|
18
|
+
declare function route<C extends Context, AC extends Context = C>(pattern: RoutePattern<C>, action: Action<AC, any>): {
|
|
19
|
+
predicate: RoutePredicate<C>;
|
|
20
|
+
action: Action<AC, any, {}>;
|
|
21
|
+
};
|
|
22
|
+
declare function text<C extends Context>(pattern: MatchPattern, action: Action<C, any>): {
|
|
23
|
+
predicate: (context: C) => any;
|
|
24
|
+
action: Action<C, any, {}>;
|
|
25
|
+
};
|
|
26
|
+
declare function payload<C extends Context>(pattern: MatchPattern, action: Action<C, any>): {
|
|
27
|
+
predicate: (context: C) => any;
|
|
28
|
+
action: Action<C, any, {}>;
|
|
29
|
+
};
|
|
30
|
+
declare function platform<C extends Context>(pattern: MatchPattern, action: Action<C, any>): {
|
|
31
|
+
predicate: (context: C) => boolean;
|
|
32
|
+
action: Action<C, any, {}>;
|
|
33
|
+
} | {
|
|
34
|
+
predicate: (context: C) => RegExpExecArray | null;
|
|
35
|
+
action: Action<C, any, {}>;
|
|
36
|
+
};
|
|
37
|
+
export default router;
|
|
38
|
+
export { router, route, text, payload, platform, line, messenger, slack, telegram, viber, whatsapp, };
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzC,KAAK,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEpD,KAAK,YAAY,CAAC,CAAC,SAAS,OAAO,IAAI,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI,CAC9C,OAAO,EAAE,CAAC,KACP,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;AAE1D,KAAK,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,OAAO,GAAG,CAAC,IAAI;IACtD,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;CACzB,CAAC;AAEF,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAClB,CAAC,UAAS,MAAM,CAAC,CAAC,6CAgBzD;AAED,iBAAS,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,OAAO,GAAG,CAAC,EACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;;;EAaxB;AAED,iBAAS,IAAI,CAAC,CAAC,SAAS,OAAO,EAC7B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;yBAKK,CAAC;;EAoC7B;AAED,iBAAS,OAAO,CAAC,CAAC,SAAS,OAAO,EAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;yBAKK,CAAC;;EAoC7B;AAED,iBAAS,QAAQ,CAAC,CAAC,SAAS,OAAO,EACjC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;yBAWG,CAAC;;;yBAOD,CAAC;;EAkB3B;AAED,eAAe,MAAM,CAAC;AAEtB,OAAO,EACL,MAAM,EACN,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.whatsapp = exports.viber = exports.telegram = exports.slack = exports.messenger = exports.line = exports.platform = exports.payload = exports.text = exports.route = exports.router = void 0;
|
|
16
|
+
const routes_1 = __importDefault(require("../line/routes"));
|
|
17
|
+
exports.line = routes_1.default;
|
|
18
|
+
const routes_2 = __importDefault(require("../messenger/routes"));
|
|
19
|
+
exports.messenger = routes_2.default;
|
|
20
|
+
const routes_3 = __importDefault(require("../slack/routes"));
|
|
21
|
+
exports.slack = routes_3.default;
|
|
22
|
+
const routes_4 = __importDefault(require("../telegram/routes"));
|
|
23
|
+
exports.telegram = routes_4.default;
|
|
24
|
+
const routes_5 = __importDefault(require("../viber/routes"));
|
|
25
|
+
exports.viber = routes_5.default;
|
|
26
|
+
const routes_6 = __importDefault(require("../whatsapp/routes"));
|
|
27
|
+
exports.whatsapp = routes_6.default;
|
|
28
|
+
function router(routes) {
|
|
29
|
+
return function Router(context, props = {}) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
for (const r of routes) {
|
|
32
|
+
const match = yield r.predicate(context);
|
|
33
|
+
if (match) {
|
|
34
|
+
const derivedProps = match && typeof match === 'object' ? match : {};
|
|
35
|
+
return r.action.bind(null, context, Object.assign(Object.assign({}, props), derivedProps));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return props.next;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
exports.router = router;
|
|
43
|
+
function route(pattern, action) {
|
|
44
|
+
if (pattern === '*') {
|
|
45
|
+
return {
|
|
46
|
+
predicate: () => true,
|
|
47
|
+
action,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
predicate: pattern,
|
|
52
|
+
action,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
exports.route = route;
|
|
56
|
+
function text(pattern, action) {
|
|
57
|
+
if (typeof pattern === 'string') {
|
|
58
|
+
if (pattern === '*') {
|
|
59
|
+
return {
|
|
60
|
+
predicate: (context) => context.event.isText,
|
|
61
|
+
action,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
predicate: (context) => context.event.text === pattern,
|
|
66
|
+
action,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (pattern instanceof RegExp) {
|
|
70
|
+
return {
|
|
71
|
+
predicate: (context) => {
|
|
72
|
+
const match = pattern.exec(context.event.text);
|
|
73
|
+
return match
|
|
74
|
+
? {
|
|
75
|
+
match,
|
|
76
|
+
}
|
|
77
|
+
: false;
|
|
78
|
+
},
|
|
79
|
+
action,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (Array.isArray(pattern)) {
|
|
83
|
+
return {
|
|
84
|
+
predicate: (context) => pattern.includes(context.event.text),
|
|
85
|
+
action,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
predicate: () => false,
|
|
90
|
+
action,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
exports.text = text;
|
|
94
|
+
function payload(pattern, action) {
|
|
95
|
+
if (typeof pattern === 'string') {
|
|
96
|
+
if (pattern === '*') {
|
|
97
|
+
return {
|
|
98
|
+
predicate: (context) => context.event.isPayload,
|
|
99
|
+
action,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
predicate: (context) => context.event.payload === pattern,
|
|
104
|
+
action,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (pattern instanceof RegExp) {
|
|
108
|
+
return {
|
|
109
|
+
predicate: (context) => {
|
|
110
|
+
const match = pattern.exec(context.event.payload);
|
|
111
|
+
return match
|
|
112
|
+
? {
|
|
113
|
+
match,
|
|
114
|
+
}
|
|
115
|
+
: false;
|
|
116
|
+
},
|
|
117
|
+
action,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (Array.isArray(pattern)) {
|
|
121
|
+
return {
|
|
122
|
+
predicate: (context) => pattern.includes(context.event.payload),
|
|
123
|
+
action,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
predicate: () => false,
|
|
128
|
+
action,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
exports.payload = payload;
|
|
132
|
+
function platform(pattern, action) {
|
|
133
|
+
if (typeof pattern === 'string') {
|
|
134
|
+
if (pattern === '*') {
|
|
135
|
+
return {
|
|
136
|
+
predicate: () => true,
|
|
137
|
+
action,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
predicate: (context) => context.platform === pattern,
|
|
142
|
+
action,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
if (pattern instanceof RegExp) {
|
|
146
|
+
return {
|
|
147
|
+
predicate: (context) => {
|
|
148
|
+
return pattern.exec(context.platform);
|
|
149
|
+
},
|
|
150
|
+
action,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
if (Array.isArray(pattern)) {
|
|
154
|
+
return {
|
|
155
|
+
predicate: (context) => pattern.includes(context.platform),
|
|
156
|
+
action,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
predicate: () => false,
|
|
161
|
+
action,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
exports.platform = platform;
|
|
165
|
+
exports.default = router;
|
|
166
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAG9B,cAAM,SAAU,SAAQ,MAAM;IACf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const Server_1 = __importDefault(require("./Server"));
|
|
16
|
+
class DevServer extends Server_1.default {
|
|
17
|
+
prepare() {
|
|
18
|
+
const _super = Object.create(null, {
|
|
19
|
+
prepare: { get: () => super.prepare }
|
|
20
|
+
});
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
return _super.prepare.call(this);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.default = DevServer;
|
|
27
|
+
//# sourceMappingURL=DevServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAG9B,MAAM,SAAU,SAAQ,gBAAM;IACf,OAAO;;;;;YAElB,OAAO,OAAM,OAAO,YAAG;QACzB,CAAC;KAAA;CACF;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import { Action, BottenderConfig } from '../types';
|
|
4
|
+
import { Context } from '../browser';
|
|
5
|
+
declare type Builder<C extends Context> = {
|
|
6
|
+
build: () => Action<C, any>;
|
|
7
|
+
};
|
|
8
|
+
export type ServerOptions = {
|
|
9
|
+
useConsole?: boolean;
|
|
10
|
+
dev?: boolean;
|
|
11
|
+
config?: BottenderConfig | undefined;
|
|
12
|
+
Entry?: Action<Context, any> | Builder<Context>;
|
|
13
|
+
ErrorEntry?: Action<Context, any> | Builder<Context>;
|
|
14
|
+
};
|
|
15
|
+
declare class Server {
|
|
16
|
+
useConsole: boolean;
|
|
17
|
+
options: ServerOptions;
|
|
18
|
+
constructor(options?: ServerOptions);
|
|
19
|
+
private handleRequest;
|
|
20
|
+
private sendResponse;
|
|
21
|
+
prepare(): Promise<void>;
|
|
22
|
+
getRequestHandler(): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
|
|
23
|
+
protected run(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export default Server;
|
|
26
|
+
//# sourceMappingURL=Server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAIvD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,IAAI;IACxC,KAAK,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,cAAM,MAAM;IACV,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,aAAa,CAAC;gBAEX,OAAO,GAAE,aAAkB;IAKvC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;IAsBP,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,iBAAiB;cAIR,GAAG,CACjB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC;CAoCjB;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const getChannelBotAndRequestContext_1 = __importDefault(require("../shared/getChannelBotAndRequestContext"));
|
|
16
|
+
const getConsoleBot_1 = __importDefault(require("../shared/getConsoleBot"));
|
|
17
|
+
class Server {
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.useConsole = (options === null || options === void 0 ? void 0 : options.useConsole) || false;
|
|
20
|
+
this.options = options;
|
|
21
|
+
}
|
|
22
|
+
handleRequest(req, res) {
|
|
23
|
+
res.statusCode = 200;
|
|
24
|
+
return this.run(req, res).catch((err) => {
|
|
25
|
+
console.error(err);
|
|
26
|
+
res.statusCode = 500;
|
|
27
|
+
res.end('Internal Server Error');
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
sendResponse(res, response) {
|
|
31
|
+
if (response) {
|
|
32
|
+
Object.entries(response.headers || {}).forEach(([key, value]) => {
|
|
33
|
+
res.setHeader(key, value);
|
|
34
|
+
});
|
|
35
|
+
res.statusCode = response.status || 200;
|
|
36
|
+
if (response.body &&
|
|
37
|
+
typeof response.body === 'object' &&
|
|
38
|
+
!Buffer.isBuffer(response.body)) {
|
|
39
|
+
res.setHeader('Content-Type', 'application/json; charset=utf-8');
|
|
40
|
+
res.end(JSON.stringify(response.body));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
res.end(response.body || '');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
res.statusCode = 200;
|
|
48
|
+
res.end('');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
prepare() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
if (this.useConsole) {
|
|
54
|
+
const bot = (0, getConsoleBot_1.default)(this.options);
|
|
55
|
+
bot.createRuntime();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getRequestHandler() {
|
|
60
|
+
return this.handleRequest.bind(this);
|
|
61
|
+
}
|
|
62
|
+
run(req, res) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
if (this.useConsole) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const { channelBot, requestContext } = (0, getChannelBotAndRequestContext_1.default)(req, this.options) || {};
|
|
68
|
+
if (!channelBot || !requestContext) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const bot = channelBot.bot;
|
|
72
|
+
const result = yield bot.connector.preprocess(requestContext);
|
|
73
|
+
const { shouldNext } = result;
|
|
74
|
+
let { response } = result;
|
|
75
|
+
if (!shouldNext) {
|
|
76
|
+
this.sendResponse(res, response);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const requestHandler = bot.createRequestHandler();
|
|
80
|
+
response = yield requestHandler(Object.assign(Object.assign({}, requestContext.query), requestContext.body), requestContext);
|
|
81
|
+
this.sendResponse(res, response);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.default = Server;
|
|
86
|
+
//# sourceMappingURL=Server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import CacheStore from '../cache/CacheStore';
|
|
2
|
+
import Session from './Session';
|
|
3
|
+
import SessionStore from './SessionStore';
|
|
4
|
+
export default class CacheBasedSessionStore implements SessionStore {
|
|
5
|
+
_cache: CacheStore;
|
|
6
|
+
_expiresIn: number;
|
|
7
|
+
constructor(cache: CacheStore, expiresIn?: number);
|
|
8
|
+
init(): Promise<CacheBasedSessionStore>;
|
|
9
|
+
read(key: string): Promise<Session | null>;
|
|
10
|
+
all(): Promise<Session[]>;
|
|
11
|
+
write(key: string, sess: Session): Promise<void>;
|
|
12
|
+
destroy(key: string): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=CacheBasedSessionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheBasedSessionStore.d.ts","sourceRoot":"","sources":["../../src/session/CacheBasedSessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAE7C,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,YAAY;IACjE,MAAM,EAAE,UAAU,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;gBAEP,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM;IAK3C,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIvC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI1C,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
class CacheBasedSessionStore {
|
|
13
|
+
constructor(cache, expiresIn) {
|
|
14
|
+
this._cache = cache;
|
|
15
|
+
this._expiresIn = expiresIn || 0;
|
|
16
|
+
}
|
|
17
|
+
init() {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return this;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
read(key) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
return this._cache.get(key);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
all() {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
return this._cache.all();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
write(key, sess) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return this._cache.put(key, sess, this._expiresIn);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
destroy(key) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
return this._cache.forget(key);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.default = CacheBasedSessionStore;
|
|
44
|
+
//# sourceMappingURL=CacheBasedSessionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheBasedSessionStore.js","sourceRoot":"","sources":["../../src/session/CacheBasedSessionStore.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,MAAqB,sBAAsB;IAMzC,YAAY,KAAiB,EAAE,SAAkB;QAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,CAAC,CAAC;IACnC,CAAC;IAEK,IAAI;;YACR,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,IAAI,CAAC,GAAW;;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAA4B,CAAC;QACzD,CAAC;KAAA;IAEK,GAAG;;YACP,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAwB,CAAC;QACjD,CAAC;KAAA;IAEK,KAAK,CAAC,GAAW,EAAE,IAAa;;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IAEK,OAAO,CAAC,GAAW;;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;KAAA;CACF;AA9BD,yCA8BC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Instance } from '@bottender/jfs';
|
|
2
|
+
import Session from './Session';
|
|
3
|
+
import SessionStore from './SessionStore';
|
|
4
|
+
type FileOption = string | {
|
|
5
|
+
dirname?: string;
|
|
6
|
+
};
|
|
7
|
+
export default class FileSessionStore implements SessionStore {
|
|
8
|
+
_jfs: Instance<Record<string, any>>;
|
|
9
|
+
_expiresIn: number;
|
|
10
|
+
constructor(arg: FileOption, expiresIn?: number);
|
|
11
|
+
init(): Promise<FileSessionStore>;
|
|
12
|
+
read(key: string): Promise<Session | null>;
|
|
13
|
+
all(): Promise<Session[]>;
|
|
14
|
+
write(key: string, sess: Session): Promise<void>;
|
|
15
|
+
destroy(key: string): Promise<void>;
|
|
16
|
+
getJFS(): Instance<Record<string, any>>;
|
|
17
|
+
_expired(sess: Session): boolean;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=FileSessionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSessionStore.d.ts","sourceRoot":"","sources":["../../src/session/FileSessionStore.ts"],"names":[],"mappings":"AAEA,OAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,KAAK,UAAU,GACX,MAAM,GACN;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAYN,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,YAAY;IAC3D,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAGpC,UAAU,EAAE,MAAM,CAAC;gBAEP,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM;IAUzC,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIjC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAwBhD,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAYnB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAIvC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAUjC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const os_1 = __importDefault(require("os"));
|
|
16
|
+
const jfs_1 = __importDefault(require("@bottender/jfs"));
|
|
17
|
+
const isBefore_1 = __importDefault(require("date-fns/isBefore"));
|
|
18
|
+
const subMinutes_1 = __importDefault(require("date-fns/subMinutes"));
|
|
19
|
+
function getDirname(arg) {
|
|
20
|
+
if (typeof arg === 'string') {
|
|
21
|
+
return arg;
|
|
22
|
+
}
|
|
23
|
+
if (arg && typeof arg === 'object') {
|
|
24
|
+
return arg.dirname;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class FileSessionStore {
|
|
28
|
+
constructor(arg, expiresIn) {
|
|
29
|
+
this._expiresIn = expiresIn || 0;
|
|
30
|
+
const dirname = getDirname(arg) || '.sessions';
|
|
31
|
+
const jfs = new jfs_1.default(dirname);
|
|
32
|
+
this._jfs = jfs;
|
|
33
|
+
}
|
|
34
|
+
init() {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return this;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
read(key) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const safeKey = os_1.default.platform() === 'win32' ? key.replace(':', '@') : key;
|
|
42
|
+
try {
|
|
43
|
+
const session = yield new Promise((resolve, reject) => {
|
|
44
|
+
this._jfs.get(safeKey, (err, obj) => {
|
|
45
|
+
if (err) {
|
|
46
|
+
reject(err);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
resolve(obj);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
if (session && this._expired(session)) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return session;
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
all() {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
this._jfs.all((err, objs) => {
|
|
66
|
+
if (err) {
|
|
67
|
+
reject(err);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
resolve(objs);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
write(key, sess) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const safeKey = os_1.default.platform() === 'win32' ? key.replace(':', '@') : key;
|
|
78
|
+
sess.lastActivity = Date.now();
|
|
79
|
+
yield new Promise((resolve, reject) => {
|
|
80
|
+
this._jfs.save(safeKey, sess, (err) => {
|
|
81
|
+
if (err) {
|
|
82
|
+
reject(err);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
resolve();
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
destroy(key) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const safeKey = os_1.default.platform() === 'win32' ? key.replace(':', '@') : key;
|
|
94
|
+
return new Promise((resolve, reject) => {
|
|
95
|
+
this._jfs.delete(safeKey, (err) => {
|
|
96
|
+
if (err) {
|
|
97
|
+
reject(err);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
resolve();
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
getJFS() {
|
|
107
|
+
return this._jfs;
|
|
108
|
+
}
|
|
109
|
+
_expired(sess) {
|
|
110
|
+
if (!this._expiresIn) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
return (sess.lastActivity !== undefined &&
|
|
114
|
+
(0, isBefore_1.default)(sess.lastActivity, (0, subMinutes_1.default)(Date.now(), this._expiresIn)));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.default = FileSessionStore;
|
|
118
|
+
//# sourceMappingURL=FileSessionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSessionStore.js","sourceRoot":"","sources":["../../src/session/FileSessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import CacheBasedSessionStore from './CacheBasedSessionStore';
|
|
2
|
+
import SessionStore from './SessionStore';
|
|
3
|
+
type MemoryOption = number | {
|
|
4
|
+
maxSize?: number;
|
|
5
|
+
};
|
|
6
|
+
export default class MemorySessionStore extends CacheBasedSessionStore implements SessionStore {
|
|
7
|
+
constructor(arg?: MemoryOption, expiresIn?: number);
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=MemorySessionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemorySessionStore.d.ts","sourceRoot":"","sources":["../../src/session/MemorySessionStore.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,KAAK,YAAY,GACb,MAAM,GACN;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAeN,MAAM,CAAC,OAAO,OAAO,kBACnB,SAAQ,sBACR,YAAW,YAAY;gBAEX,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM;CAOnD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const MemoryCacheStore_1 = __importDefault(require("../cache/MemoryCacheStore"));
|
|
7
|
+
const CacheBasedSessionStore_1 = __importDefault(require("./CacheBasedSessionStore"));
|
|
8
|
+
function getMaxSize(arg) {
|
|
9
|
+
if (typeof arg === 'number') {
|
|
10
|
+
return arg;
|
|
11
|
+
}
|
|
12
|
+
if (arg && typeof arg === 'object') {
|
|
13
|
+
return arg.maxSize;
|
|
14
|
+
}
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
class MemorySessionStore extends CacheBasedSessionStore_1.default {
|
|
18
|
+
constructor(arg, expiresIn) {
|
|
19
|
+
const maxSize = getMaxSize(arg);
|
|
20
|
+
const cache = new MemoryCacheStore_1.default(maxSize);
|
|
21
|
+
super(cache, expiresIn);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = MemorySessionStore;
|
|
25
|
+
//# sourceMappingURL=MemorySessionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemorySessionStore.js","sourceRoot":"","sources":["../../src/session/MemorySessionStore.ts"],"names":[],"mappings":";;;;;AAAA,iFAAyD;AAEzD,sFAA8D;AAS9D,SAAS,UAAU,CAAC,GAAkB;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,OAAO,GAAG,CAAC,OAAO,CAAC;KACpB;IAGD,OAAO;AACT,CAAC;AAED,MAAqB,kBACnB,SAAQ,gCAAsB;IAG9B,YAAY,GAAkB,EAAE,SAAkB;QAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,0BAAgB,CAAC,OAAO,CAAC,CAAC;QAE5C,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;CACF;AAXD,qCAWC"}
|