@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.
Files changed (454) hide show
  1. package/README.md +161 -0
  2. package/bin/cli.js +4 -0
  3. package/dist/bot/Bot.d.ts +44 -0
  4. package/dist/bot/Bot.d.ts.map +1 -0
  5. package/dist/bot/Bot.js +226 -0
  6. package/dist/bot/Bot.js.map +1 -0
  7. package/dist/bot/Connector.d.ts +23 -0
  8. package/dist/bot/Connector.d.ts.map +1 -0
  9. package/dist/bot/Connector.js +3 -0
  10. package/dist/bot/Connector.js.map +1 -0
  11. package/dist/bottender.d.ts +7 -0
  12. package/dist/bottender.d.ts.map +1 -0
  13. package/dist/bottender.js +15 -0
  14. package/dist/bottender.js.map +1 -0
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -0
  17. package/dist/browser.js +23 -0
  18. package/dist/browser.js.map +1 -0
  19. package/dist/cache/CacheStore.d.ts +12 -0
  20. package/dist/cache/CacheStore.d.ts.map +1 -0
  21. package/dist/cache/CacheStore.js +3 -0
  22. package/dist/cache/CacheStore.js.map +1 -0
  23. package/dist/cache/MemoryCacheStore.d.ts +13 -0
  24. package/dist/cache/MemoryCacheStore.d.ts.map +1 -0
  25. package/dist/cache/MemoryCacheStore.js +59 -0
  26. package/dist/cache/MemoryCacheStore.js.map +1 -0
  27. package/dist/cache/RedisCacheStore.d.ts +18 -0
  28. package/dist/cache/RedisCacheStore.d.ts.map +1 -0
  29. package/dist/cache/RedisCacheStore.js +79 -0
  30. package/dist/cache/RedisCacheStore.js.map +1 -0
  31. package/dist/chain.d.ts +5 -0
  32. package/dist/chain.d.ts.map +1 -0
  33. package/dist/chain.js +27 -0
  34. package/dist/chain.js.map +1 -0
  35. package/dist/cli/index.d.ts +11 -0
  36. package/dist/cli/index.d.ts.map +1 -0
  37. package/dist/cli/index.js +99 -0
  38. package/dist/cli/index.js.map +1 -0
  39. package/dist/cli/providers/index.d.ts +37 -0
  40. package/dist/cli/providers/index.d.ts.map +1 -0
  41. package/dist/cli/providers/index.js +18 -0
  42. package/dist/cli/providers/index.js.map +1 -0
  43. package/dist/cli/providers/line/help.d.ts +3 -0
  44. package/dist/cli/providers/line/help.d.ts.map +1 -0
  45. package/dist/cli/providers/line/help.js +9 -0
  46. package/dist/cli/providers/line/help.js.map +1 -0
  47. package/dist/cli/providers/line/index.d.ts +7 -0
  48. package/dist/cli/providers/line/index.d.ts.map +1 -0
  49. package/dist/cli/providers/line/index.js +10 -0
  50. package/dist/cli/providers/line/index.js.map +1 -0
  51. package/dist/cli/providers/messenger/help.d.ts +3 -0
  52. package/dist/cli/providers/messenger/help.d.ts.map +1 -0
  53. package/dist/cli/providers/messenger/help.js +31 -0
  54. package/dist/cli/providers/messenger/help.js.map +1 -0
  55. package/dist/cli/providers/messenger/index.d.ts +10 -0
  56. package/dist/cli/providers/messenger/index.d.ts.map +1 -0
  57. package/dist/cli/providers/messenger/index.js +19 -0
  58. package/dist/cli/providers/messenger/index.js.map +1 -0
  59. package/dist/cli/providers/messenger/persona.d.ts +7 -0
  60. package/dist/cli/providers/messenger/persona.d.ts.map +1 -0
  61. package/dist/cli/providers/messenger/persona.js +235 -0
  62. package/dist/cli/providers/messenger/persona.js.map +1 -0
  63. package/dist/cli/providers/messenger/profile.d.ts +9 -0
  64. package/dist/cli/providers/messenger/profile.d.ts.map +1 -0
  65. package/dist/cli/providers/messenger/profile.js +233 -0
  66. package/dist/cli/providers/messenger/profile.js.map +1 -0
  67. package/dist/cli/providers/messenger/webhook.d.ts +4 -0
  68. package/dist/cli/providers/messenger/webhook.d.ts.map +1 -0
  69. package/dist/cli/providers/messenger/webhook.js +165 -0
  70. package/dist/cli/providers/messenger/webhook.js.map +1 -0
  71. package/dist/cli/providers/sh/dev.d.ts +4 -0
  72. package/dist/cli/providers/sh/dev.d.ts.map +1 -0
  73. package/dist/cli/providers/sh/dev.js +79 -0
  74. package/dist/cli/providers/sh/dev.js.map +1 -0
  75. package/dist/cli/providers/sh/help.d.ts +3 -0
  76. package/dist/cli/providers/sh/help.d.ts.map +1 -0
  77. package/dist/cli/providers/sh/help.js +42 -0
  78. package/dist/cli/providers/sh/help.js.map +1 -0
  79. package/dist/cli/providers/sh/index.d.ts +10 -0
  80. package/dist/cli/providers/sh/index.d.ts.map +1 -0
  81. package/dist/cli/providers/sh/index.js +19 -0
  82. package/dist/cli/providers/sh/index.js.map +1 -0
  83. package/dist/cli/providers/sh/init.d.ts +3 -0
  84. package/dist/cli/providers/sh/init.d.ts.map +1 -0
  85. package/dist/cli/providers/sh/init.js +22 -0
  86. package/dist/cli/providers/sh/init.js.map +1 -0
  87. package/dist/cli/providers/sh/start.d.ts +4 -0
  88. package/dist/cli/providers/sh/start.d.ts.map +1 -0
  89. package/dist/cli/providers/sh/start.js +51 -0
  90. package/dist/cli/providers/sh/start.js.map +1 -0
  91. package/dist/cli/providers/sh/utils/argCommon.d.ts +8 -0
  92. package/dist/cli/providers/sh/utils/argCommon.d.ts.map +1 -0
  93. package/dist/cli/providers/sh/utils/argCommon.js +10 -0
  94. package/dist/cli/providers/sh/utils/argCommon.js.map +1 -0
  95. package/dist/cli/providers/sh/utils/getArgs.d.ts +9 -0
  96. package/dist/cli/providers/sh/utils/getArgs.d.ts.map +1 -0
  97. package/dist/cli/providers/sh/utils/getArgs.js +10 -0
  98. package/dist/cli/providers/sh/utils/getArgs.js.map +1 -0
  99. package/dist/cli/providers/sh/utils/getSubArgs.d.ts +6 -0
  100. package/dist/cli/providers/sh/utils/getSubArgs.d.ts.map +1 -0
  101. package/dist/cli/providers/sh/utils/getSubArgs.js +23 -0
  102. package/dist/cli/providers/sh/utils/getSubArgs.js.map +1 -0
  103. package/dist/cli/providers/telegram/help.d.ts +3 -0
  104. package/dist/cli/providers/telegram/help.d.ts.map +1 -0
  105. package/dist/cli/providers/telegram/help.js +34 -0
  106. package/dist/cli/providers/telegram/help.js.map +1 -0
  107. package/dist/cli/providers/telegram/index.d.ts +8 -0
  108. package/dist/cli/providers/telegram/index.d.ts.map +1 -0
  109. package/dist/cli/providers/telegram/index.js +13 -0
  110. package/dist/cli/providers/telegram/index.js.map +1 -0
  111. package/dist/cli/providers/telegram/webhook.d.ts +6 -0
  112. package/dist/cli/providers/telegram/webhook.d.ts.map +1 -0
  113. package/dist/cli/providers/telegram/webhook.js +149 -0
  114. package/dist/cli/providers/telegram/webhook.js.map +1 -0
  115. package/dist/cli/providers/viber/help.d.ts +3 -0
  116. package/dist/cli/providers/viber/help.d.ts.map +1 -0
  117. package/dist/cli/providers/viber/help.js +33 -0
  118. package/dist/cli/providers/viber/help.js.map +1 -0
  119. package/dist/cli/providers/viber/index.d.ts +8 -0
  120. package/dist/cli/providers/viber/index.d.ts.map +1 -0
  121. package/dist/cli/providers/viber/index.js +13 -0
  122. package/dist/cli/providers/viber/index.js.map +1 -0
  123. package/dist/cli/providers/viber/webhook.d.ts +5 -0
  124. package/dist/cli/providers/viber/webhook.d.ts.map +1 -0
  125. package/dist/cli/providers/viber/webhook.js +122 -0
  126. package/dist/cli/providers/viber/webhook.js.map +1 -0
  127. package/dist/console/ConsoleBot.d.ts +17 -0
  128. package/dist/console/ConsoleBot.d.ts.map +1 -0
  129. package/dist/console/ConsoleBot.js +80 -0
  130. package/dist/console/ConsoleBot.js.map +1 -0
  131. package/dist/console/ConsoleClient.d.ts +4 -0
  132. package/dist/console/ConsoleClient.d.ts.map +1 -0
  133. package/dist/console/ConsoleClient.js +3 -0
  134. package/dist/console/ConsoleClient.js.map +1 -0
  135. package/dist/console/ConsoleConnector.d.ts +35 -0
  136. package/dist/console/ConsoleConnector.d.ts.map +1 -0
  137. package/dist/console/ConsoleConnector.js +62 -0
  138. package/dist/console/ConsoleConnector.js.map +1 -0
  139. package/dist/console/ConsoleContext.d.ts +28 -0
  140. package/dist/console/ConsoleContext.d.ts.map +1 -0
  141. package/dist/console/ConsoleContext.js +66 -0
  142. package/dist/console/ConsoleContext.js.map +1 -0
  143. package/dist/console/ConsoleEvent.d.ts +24 -0
  144. package/dist/console/ConsoleEvent.d.ts.map +1 -0
  145. package/dist/console/ConsoleEvent.js +36 -0
  146. package/dist/console/ConsoleEvent.js.map +1 -0
  147. package/dist/context/Context.d.ts +52 -0
  148. package/dist/context/Context.d.ts.map +1 -0
  149. package/dist/context/Context.js +118 -0
  150. package/dist/context/Context.js.map +1 -0
  151. package/dist/context/Event.d.ts +8 -0
  152. package/dist/context/Event.d.ts.map +1 -0
  153. package/dist/context/Event.js +3 -0
  154. package/dist/context/Event.js.map +1 -0
  155. package/dist/index.d.ts +69 -0
  156. package/dist/index.d.ts.map +1 -0
  157. package/dist/index.js +155 -0
  158. package/dist/index.js.map +1 -0
  159. package/dist/initializeServer.d.ts +10 -0
  160. package/dist/initializeServer.d.ts.map +1 -0
  161. package/dist/initializeServer.js +98 -0
  162. package/dist/initializeServer.js.map +1 -0
  163. package/dist/line/LineBot.d.ts +15 -0
  164. package/dist/line/LineBot.d.ts.map +1 -0
  165. package/dist/line/LineBot.js +27 -0
  166. package/dist/line/LineBot.js.map +1 -0
  167. package/dist/line/LineConnector.d.ts +92 -0
  168. package/dist/line/LineConnector.d.ts.map +1 -0
  169. package/dist/line/LineConnector.js +283 -0
  170. package/dist/line/LineConnector.js.map +1 -0
  171. package/dist/line/LineContext.d.ts +135 -0
  172. package/dist/line/LineContext.d.ts.map +1 -0
  173. package/dist/line/LineContext.js +419 -0
  174. package/dist/line/LineContext.js.map +1 -0
  175. package/dist/line/LineEvent.d.ts +61 -0
  176. package/dist/line/LineEvent.d.ts.map +1 -0
  177. package/dist/line/LineEvent.js +217 -0
  178. package/dist/line/LineEvent.js.map +1 -0
  179. package/dist/line/LineTypes.d.ts +199 -0
  180. package/dist/line/LineTypes.d.ts.map +1 -0
  181. package/dist/line/LineTypes.js +18 -0
  182. package/dist/line/LineTypes.js.map +1 -0
  183. package/dist/line/routes.d.ts +33 -0
  184. package/dist/line/routes.d.ts.map +1 -0
  185. package/dist/line/routes.js +89 -0
  186. package/dist/line/routes.js.map +1 -0
  187. package/dist/messenger/FacebookBaseConnector.d.ts +66 -0
  188. package/dist/messenger/FacebookBaseConnector.d.ts.map +1 -0
  189. package/dist/messenger/FacebookBaseConnector.js +118 -0
  190. package/dist/messenger/FacebookBaseConnector.js.map +1 -0
  191. package/dist/messenger/MessengerBot.d.ts +15 -0
  192. package/dist/messenger/MessengerBot.d.ts.map +1 -0
  193. package/dist/messenger/MessengerBot.js +27 -0
  194. package/dist/messenger/MessengerBot.js.map +1 -0
  195. package/dist/messenger/MessengerConnector.d.ts +37 -0
  196. package/dist/messenger/MessengerConnector.d.ts.map +1 -0
  197. package/dist/messenger/MessengerConnector.js +204 -0
  198. package/dist/messenger/MessengerConnector.js.map +1 -0
  199. package/dist/messenger/MessengerContext.d.ts +114 -0
  200. package/dist/messenger/MessengerContext.d.ts.map +1 -0
  201. package/dist/messenger/MessengerContext.js +547 -0
  202. package/dist/messenger/MessengerContext.js.map +1 -0
  203. package/dist/messenger/MessengerEvent.d.ts +76 -0
  204. package/dist/messenger/MessengerEvent.d.ts.map +1 -0
  205. package/dist/messenger/MessengerEvent.js +380 -0
  206. package/dist/messenger/MessengerEvent.js.map +1 -0
  207. package/dist/messenger/MessengerTypes.d.ts +292 -0
  208. package/dist/messenger/MessengerTypes.d.ts.map +1 -0
  209. package/dist/messenger/MessengerTypes.js +18 -0
  210. package/dist/messenger/MessengerTypes.js.map +1 -0
  211. package/dist/messenger/routes.d.ts +39 -0
  212. package/dist/messenger/routes.d.ts.map +1 -0
  213. package/dist/messenger/routes.js +109 -0
  214. package/dist/messenger/routes.js.map +1 -0
  215. package/dist/plugins/withTyping.d.ts +6 -0
  216. package/dist/plugins/withTyping.d.ts.map +1 -0
  217. package/dist/plugins/withTyping.js +135 -0
  218. package/dist/plugins/withTyping.js.map +1 -0
  219. package/dist/router/index.d.ts +39 -0
  220. package/dist/router/index.d.ts.map +1 -0
  221. package/dist/router/index.js +166 -0
  222. package/dist/router/index.js.map +1 -0
  223. package/dist/server/DevServer.d.ts +6 -0
  224. package/dist/server/DevServer.d.ts.map +1 -0
  225. package/dist/server/DevServer.js +27 -0
  226. package/dist/server/DevServer.js.map +1 -0
  227. package/dist/server/Server.d.ts +26 -0
  228. package/dist/server/Server.d.ts.map +1 -0
  229. package/dist/server/Server.js +86 -0
  230. package/dist/server/Server.js.map +1 -0
  231. package/dist/session/CacheBasedSessionStore.d.ts +14 -0
  232. package/dist/session/CacheBasedSessionStore.d.ts.map +1 -0
  233. package/dist/session/CacheBasedSessionStore.js +44 -0
  234. package/dist/session/CacheBasedSessionStore.js.map +1 -0
  235. package/dist/session/FileSessionStore.d.ts +20 -0
  236. package/dist/session/FileSessionStore.d.ts.map +1 -0
  237. package/dist/session/FileSessionStore.js +118 -0
  238. package/dist/session/FileSessionStore.js.map +1 -0
  239. package/dist/session/MemorySessionStore.d.ts +10 -0
  240. package/dist/session/MemorySessionStore.d.ts.map +1 -0
  241. package/dist/session/MemorySessionStore.js +25 -0
  242. package/dist/session/MemorySessionStore.js.map +1 -0
  243. package/dist/session/MongoSessionStore.d.ts +23 -0
  244. package/dist/session/MongoSessionStore.d.ts.map +1 -0
  245. package/dist/session/MongoSessionStore.js +97 -0
  246. package/dist/session/MongoSessionStore.js.map +1 -0
  247. package/dist/session/RedisSessionStore.d.ts +14 -0
  248. package/dist/session/RedisSessionStore.d.ts.map +1 -0
  249. package/dist/session/RedisSessionStore.js +15 -0
  250. package/dist/session/RedisSessionStore.js.map +1 -0
  251. package/dist/session/Session.d.ts +3 -0
  252. package/dist/session/Session.d.ts.map +1 -0
  253. package/dist/session/Session.js +3 -0
  254. package/dist/session/Session.js.map +1 -0
  255. package/dist/session/SessionStore.d.ts +10 -0
  256. package/dist/session/SessionStore.d.ts.map +1 -0
  257. package/dist/session/SessionStore.js +3 -0
  258. package/dist/session/SessionStore.js.map +1 -0
  259. package/dist/shared/getBottenderConfig.d.ts +5 -0
  260. package/dist/shared/getBottenderConfig.d.ts.map +1 -0
  261. package/dist/shared/getBottenderConfig.js +24 -0
  262. package/dist/shared/getBottenderConfig.js.map +1 -0
  263. package/dist/shared/getChannelBotAndRequestContext.d.ts +10 -0
  264. package/dist/shared/getChannelBotAndRequestContext.d.ts.map +1 -0
  265. package/dist/shared/getChannelBotAndRequestContext.js +41 -0
  266. package/dist/shared/getChannelBotAndRequestContext.js.map +1 -0
  267. package/dist/shared/getChannelBots.d.ts +6 -0
  268. package/dist/shared/getChannelBots.d.ts.map +1 -0
  269. package/dist/shared/getChannelBots.js +84 -0
  270. package/dist/shared/getChannelBots.js.map +1 -0
  271. package/dist/shared/getChannelConfig.d.ts +5 -0
  272. package/dist/shared/getChannelConfig.d.ts.map +1 -0
  273. package/dist/shared/getChannelConfig.js +28 -0
  274. package/dist/shared/getChannelConfig.js.map +1 -0
  275. package/dist/shared/getChannelSchema.d.ts +4 -0
  276. package/dist/shared/getChannelSchema.d.ts.map +1 -0
  277. package/dist/shared/getChannelSchema.js +110 -0
  278. package/dist/shared/getChannelSchema.js.map +1 -0
  279. package/dist/shared/getClient.d.ts +11 -0
  280. package/dist/shared/getClient.d.ts.map +1 -0
  281. package/dist/shared/getClient.js +36 -0
  282. package/dist/shared/getClient.js.map +1 -0
  283. package/dist/shared/getConsoleBot.d.ts +5 -0
  284. package/dist/shared/getConsoleBot.d.ts.map +1 -0
  285. package/dist/shared/getConsoleBot.js +43 -0
  286. package/dist/shared/getConsoleBot.js.map +1 -0
  287. package/dist/shared/getSessionStore.d.ts +5 -0
  288. package/dist/shared/getSessionStore.d.ts.map +1 -0
  289. package/dist/shared/getSessionStore.js +41 -0
  290. package/dist/shared/getSessionStore.js.map +1 -0
  291. package/dist/shared/getWebhookFromNgrok.d.ts +2 -0
  292. package/dist/shared/getWebhookFromNgrok.d.ts.map +1 -0
  293. package/dist/shared/getWebhookFromNgrok.js +33 -0
  294. package/dist/shared/getWebhookFromNgrok.js.map +1 -0
  295. package/dist/shared/log.d.ts +6 -0
  296. package/dist/shared/log.d.ts.map +1 -0
  297. package/dist/shared/log.js +29 -0
  298. package/dist/shared/log.js.map +1 -0
  299. package/dist/slack/SlackBot.d.ts +22 -0
  300. package/dist/slack/SlackBot.d.ts.map +1 -0
  301. package/dist/slack/SlackBot.js +30 -0
  302. package/dist/slack/SlackBot.js.map +1 -0
  303. package/dist/slack/SlackConnector.d.ts +72 -0
  304. package/dist/slack/SlackConnector.d.ts.map +1 -0
  305. package/dist/slack/SlackConnector.js +302 -0
  306. package/dist/slack/SlackConnector.js.map +1 -0
  307. package/dist/slack/SlackContext.d.ts +65 -0
  308. package/dist/slack/SlackContext.d.ts.map +1 -0
  309. package/dist/slack/SlackContext.js +131 -0
  310. package/dist/slack/SlackContext.js.map +1 -0
  311. package/dist/slack/SlackEvent.d.ts +28 -0
  312. package/dist/slack/SlackEvent.d.ts.map +1 -0
  313. package/dist/slack/SlackEvent.js +171 -0
  314. package/dist/slack/SlackEvent.js.map +1 -0
  315. package/dist/slack/SlackTypes.d.ts +79 -0
  316. package/dist/slack/SlackTypes.d.ts.map +1 -0
  317. package/dist/slack/SlackTypes.js +18 -0
  318. package/dist/slack/SlackTypes.js.map +1 -0
  319. package/dist/slack/routes.d.ts +24 -0
  320. package/dist/slack/routes.d.ts.map +1 -0
  321. package/dist/slack/routes.js +25 -0
  322. package/dist/slack/routes.js.map +1 -0
  323. package/dist/telegram/TelegramBot.d.ts +20 -0
  324. package/dist/telegram/TelegramBot.d.ts.map +1 -0
  325. package/dist/telegram/TelegramBot.js +68 -0
  326. package/dist/telegram/TelegramBot.js.map +1 -0
  327. package/dist/telegram/TelegramConnector.d.ts +42 -0
  328. package/dist/telegram/TelegramConnector.d.ts.map +1 -0
  329. package/dist/telegram/TelegramConnector.js +191 -0
  330. package/dist/telegram/TelegramConnector.js.map +1 -0
  331. package/dist/telegram/TelegramContext.d.ts +64 -0
  332. package/dist/telegram/TelegramContext.d.ts.map +1 -0
  333. package/dist/telegram/TelegramContext.js +742 -0
  334. package/dist/telegram/TelegramContext.js.map +1 -0
  335. package/dist/telegram/TelegramEvent.d.ts +61 -0
  336. package/dist/telegram/TelegramEvent.d.ts.map +1 -0
  337. package/dist/telegram/TelegramEvent.js +246 -0
  338. package/dist/telegram/TelegramEvent.js.map +1 -0
  339. package/dist/telegram/TelegramTypes.d.ts +27 -0
  340. package/dist/telegram/TelegramTypes.d.ts.map +1 -0
  341. package/dist/telegram/TelegramTypes.js +18 -0
  342. package/dist/telegram/TelegramTypes.js.map +1 -0
  343. package/dist/telegram/routes.d.ts +25 -0
  344. package/dist/telegram/routes.d.ts.map +1 -0
  345. package/dist/telegram/routes.js +53 -0
  346. package/dist/telegram/routes.js.map +1 -0
  347. package/dist/test-utils/ContextSimulator.d.ts +196 -0
  348. package/dist/test-utils/ContextSimulator.d.ts.map +1 -0
  349. package/dist/test-utils/ContextSimulator.js +237 -0
  350. package/dist/test-utils/ContextSimulator.js.map +1 -0
  351. package/dist/test-utils/SimulatedContext.d.ts +9 -0
  352. package/dist/test-utils/SimulatedContext.d.ts.map +1 -0
  353. package/dist/test-utils/SimulatedContext.js +18 -0
  354. package/dist/test-utils/SimulatedContext.js.map +1 -0
  355. package/dist/test-utils/index.d.ts +2 -0
  356. package/dist/test-utils/index.d.ts.map +1 -0
  357. package/dist/test-utils/index.js +9 -0
  358. package/dist/test-utils/index.js.map +1 -0
  359. package/dist/types.d.ts +107 -0
  360. package/dist/types.d.ts.map +1 -0
  361. package/dist/types.js +22 -0
  362. package/dist/types.js.map +1 -0
  363. package/dist/utils.d.ts +4 -0
  364. package/dist/utils.d.ts.map +1 -0
  365. package/dist/utils.js +13 -0
  366. package/dist/utils.js.map +1 -0
  367. package/dist/viber/ViberBot.d.ts +15 -0
  368. package/dist/viber/ViberBot.d.ts.map +1 -0
  369. package/dist/viber/ViberBot.js +27 -0
  370. package/dist/viber/ViberBot.js.map +1 -0
  371. package/dist/viber/ViberConnector.d.ts +62 -0
  372. package/dist/viber/ViberConnector.d.ts.map +1 -0
  373. package/dist/viber/ViberConnector.js +152 -0
  374. package/dist/viber/ViberConnector.js.map +1 -0
  375. package/dist/viber/ViberContext.d.ts +20 -0
  376. package/dist/viber/ViberContext.d.ts.map +1 -0
  377. package/dist/viber/ViberContext.js +132 -0
  378. package/dist/viber/ViberContext.js.map +1 -0
  379. package/dist/viber/ViberEvent.d.ts +39 -0
  380. package/dist/viber/ViberEvent.d.ts.map +1 -0
  381. package/dist/viber/ViberEvent.js +150 -0
  382. package/dist/viber/ViberEvent.js.map +1 -0
  383. package/dist/viber/ViberTypes.d.ts +82 -0
  384. package/dist/viber/ViberTypes.d.ts.map +1 -0
  385. package/dist/viber/ViberTypes.js +18 -0
  386. package/dist/viber/ViberTypes.js.map +1 -0
  387. package/dist/viber/routes.d.ts +21 -0
  388. package/dist/viber/routes.d.ts.map +1 -0
  389. package/dist/viber/routes.js +37 -0
  390. package/dist/viber/routes.js.map +1 -0
  391. package/dist/whatsapp/TwilioClient.d.ts +55 -0
  392. package/dist/whatsapp/TwilioClient.d.ts.map +1 -0
  393. package/dist/whatsapp/TwilioClient.js +66 -0
  394. package/dist/whatsapp/TwilioClient.js.map +1 -0
  395. package/dist/whatsapp/WhatsappBot.d.ts +15 -0
  396. package/dist/whatsapp/WhatsappBot.d.ts.map +1 -0
  397. package/dist/whatsapp/WhatsappBot.js +27 -0
  398. package/dist/whatsapp/WhatsappBot.js.map +1 -0
  399. package/dist/whatsapp/WhatsappConnector.d.ts +64 -0
  400. package/dist/whatsapp/WhatsappConnector.d.ts.map +1 -0
  401. package/dist/whatsapp/WhatsappConnector.js +111 -0
  402. package/dist/whatsapp/WhatsappConnector.js.map +1 -0
  403. package/dist/whatsapp/WhatsappContext.d.ts +17 -0
  404. package/dist/whatsapp/WhatsappContext.d.ts.map +1 -0
  405. package/dist/whatsapp/WhatsappContext.js +30 -0
  406. package/dist/whatsapp/WhatsappContext.js.map +1 -0
  407. package/dist/whatsapp/WhatsappEvent.d.ts +25 -0
  408. package/dist/whatsapp/WhatsappEvent.d.ts.map +1 -0
  409. package/dist/whatsapp/WhatsappEvent.js +60 -0
  410. package/dist/whatsapp/WhatsappEvent.js.map +1 -0
  411. package/dist/whatsapp/WhatsappTypes.d.ts +59 -0
  412. package/dist/whatsapp/WhatsappTypes.d.ts.map +1 -0
  413. package/dist/whatsapp/WhatsappTypes.js +3 -0
  414. package/dist/whatsapp/WhatsappTypes.js.map +1 -0
  415. package/dist/whatsapp/routes.d.ts +20 -0
  416. package/dist/whatsapp/routes.d.ts.map +1 -0
  417. package/dist/whatsapp/routes.js +33 -0
  418. package/dist/whatsapp/routes.js.map +1 -0
  419. package/dist/whatsapp-by-meta/MetaClient.d.ts +297 -0
  420. package/dist/whatsapp-by-meta/MetaClient.d.ts.map +1 -0
  421. package/dist/whatsapp-by-meta/MetaClient.js +74 -0
  422. package/dist/whatsapp-by-meta/MetaClient.js.map +1 -0
  423. package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts +15 -0
  424. package/dist/whatsapp-by-meta/WhatsappByMetaBot.d.ts.map +1 -0
  425. package/dist/whatsapp-by-meta/WhatsappByMetaBot.js +27 -0
  426. package/dist/whatsapp-by-meta/WhatsappByMetaBot.js.map +1 -0
  427. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts +67 -0
  428. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.d.ts.map +1 -0
  429. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js +130 -0
  430. package/dist/whatsapp-by-meta/WhatsappByMetaConnector.js.map +1 -0
  431. package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts +45 -0
  432. package/dist/whatsapp-by-meta/WhatsappByMetaContext.d.ts.map +1 -0
  433. package/dist/whatsapp-by-meta/WhatsappByMetaContext.js +49 -0
  434. package/dist/whatsapp-by-meta/WhatsappByMetaContext.js.map +1 -0
  435. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts +236 -0
  436. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.d.ts.map +1 -0
  437. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js +3 -0
  438. package/dist/whatsapp-by-meta/WhatsappByMetaTypes.js.map +1 -0
  439. package/dist/whatsapp-by-meta/events/BaseEvent.d.ts +26 -0
  440. package/dist/whatsapp-by-meta/events/BaseEvent.d.ts.map +1 -0
  441. package/dist/whatsapp-by-meta/events/BaseEvent.js +61 -0
  442. package/dist/whatsapp-by-meta/events/BaseEvent.js.map +1 -0
  443. package/dist/whatsapp-by-meta/routes.d.ts +20 -0
  444. package/dist/whatsapp-by-meta/routes.d.ts.map +1 -0
  445. package/dist/whatsapp-by-meta/routes.js +33 -0
  446. package/dist/whatsapp-by-meta/routes.js.map +1 -0
  447. package/dist/withProps.d.ts +5 -0
  448. package/dist/withProps.d.ts.map +1 -0
  449. package/dist/withProps.js +16 -0
  450. package/dist/withProps.js.map +1 -0
  451. package/package.json +110 -0
  452. package/router.d.ts +1 -0
  453. package/router.js +2 -0
  454. 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,6 @@
1
+ import Server from './Server';
2
+ declare class DevServer extends Server {
3
+ prepare(): Promise<void>;
4
+ }
5
+ export default DevServer;
6
+ //# sourceMappingURL=DevServer.d.ts.map
@@ -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":";;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,yDAAoD;AACpD,iEAAyC;AACzC,qEAA6C;AAW7C,SAAS,UAAU,CAAC,GAAe;IACjC,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;AACH,CAAC;AAED,MAAqB,gBAAgB;IAMnC,YAAY,GAAe,EAAE,SAAkB;QAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,CAAC,CAAC;QAEjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;QAE/C,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAEK,IAAI;;YACR,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,IAAI,CAAC,GAAW;;YACpB,MAAM,OAAO,GAAG,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,IAAI;gBACF,MAAM,OAAO,GAAmB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;wBAClC,IAAI,GAAG,EAAE;4BACP,MAAM,CAAC,GAAG,CAAC,CAAC;yBACb;6BAAM;4BACL,OAAO,CAAC,GAAG,CAAC,CAAC;yBACd;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACrC,OAAO,IAAI,CAAC;iBACb;gBAED,OAAO,OAAO,CAAC;aAChB;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,IAAI,CAAC;aACb;QACH,CAAC;KAAA;IAED,GAAG;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,CAAC,IAAiB,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,KAAK,CAAC,GAAW,EAAE,IAAa;;YACpC,MAAM,OAAO,GAAG,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;yBAAM;wBACL,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,OAAO,CAAC,GAAW;;YACvB,MAAM,OAAO,GAAG,YAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAExE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChC,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC,CAAC;qBACb;yBAAM;wBACL,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CACL,IAAI,CAAC,YAAY,KAAK,SAAS;YAC/B,IAAA,kBAAQ,EAAC,IAAI,CAAC,YAAY,EAAE,IAAA,oBAAU,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC;CACF;AApGD,mCAoGC"}
@@ -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"}