@effect-ak/tg-bot-client 0.2.1 → 0.2.3

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 (80) hide show
  1. package/dist/index.d.ts +2833 -0
  2. package/dist/index.js +483 -0
  3. package/dist/index.mjs +439 -0
  4. package/package.json +16 -16
  5. package/readme.md +2 -1
  6. package/dist/cjs/bot/factory/_service.js +0 -59
  7. package/dist/cjs/bot/factory/client-config.js +0 -68
  8. package/dist/cjs/bot/factory/make-bot.js +0 -59
  9. package/dist/cjs/bot/message-handler/_service.js +0 -51
  10. package/dist/cjs/bot/message-handler/types.js +0 -5
  11. package/dist/cjs/bot/message-handler/utils.js +0 -19
  12. package/dist/cjs/bot/run.js +0 -10
  13. package/dist/cjs/bot/update-poller/_service.js +0 -78
  14. package/dist/cjs/bot/update-poller/errors.js +0 -5
  15. package/dist/cjs/bot/update-poller/fetch-updates.js +0 -109
  16. package/dist/cjs/bot/update-poller/poll-and-handle.js +0 -89
  17. package/dist/cjs/bot/update-poller/settings.js +0 -23
  18. package/dist/cjs/client/_client.js +0 -64
  19. package/dist/cjs/client/config.js +0 -56
  20. package/dist/cjs/client/errors.js +0 -57
  21. package/dist/cjs/client/execute-request/_service.js +0 -59
  22. package/dist/cjs/client/execute-request/execute.js +0 -98
  23. package/dist/cjs/client/execute-request/payload.js +0 -24
  24. package/dist/cjs/client/file/_service.js +0 -61
  25. package/dist/cjs/client/file/get-file.js +0 -77
  26. package/dist/cjs/client/guards.js +0 -12
  27. package/dist/cjs/const.js +0 -20
  28. package/dist/cjs/index.js +0 -29
  29. package/dist/cjs/specification/api.js +0 -5
  30. package/dist/cjs/specification/types.js +0 -5
  31. package/dist/dts/bot/factory/_service.d.ts +0 -37
  32. package/dist/dts/bot/factory/client-config.d.ts +0 -3
  33. package/dist/dts/bot/factory/make-bot.d.ts +0 -7
  34. package/dist/dts/bot/message-handler/_service.d.ts +0 -6
  35. package/dist/dts/bot/message-handler/types.d.ts +0 -16
  36. package/dist/dts/bot/message-handler/utils.d.ts +0 -6
  37. package/dist/dts/bot/run.d.ts +0 -7
  38. package/dist/dts/bot/update-poller/_service.d.ts +0 -21
  39. package/dist/dts/bot/update-poller/errors.d.ts +0 -1
  40. package/dist/dts/bot/update-poller/fetch-updates.d.ts +0 -17
  41. package/dist/dts/bot/update-poller/poll-and-handle.d.ts +0 -16
  42. package/dist/dts/bot/update-poller/settings.d.ts +0 -6
  43. package/dist/dts/client/_client.d.ts +0 -8
  44. package/dist/dts/client/config.d.ts +0 -8
  45. package/dist/dts/client/errors.d.ts +0 -23
  46. package/dist/dts/client/execute-request/_service.d.ts +0 -15
  47. package/dist/dts/client/execute-request/execute.d.ts +0 -5
  48. package/dist/dts/client/execute-request/payload.d.ts +0 -1
  49. package/dist/dts/client/file/_service.d.ts +0 -16
  50. package/dist/dts/client/file/get-file.d.ts +0 -5
  51. package/dist/dts/client/guards.d.ts +0 -17
  52. package/dist/dts/const.d.ts +0 -12
  53. package/dist/dts/index.d.ts +0 -5
  54. package/dist/dts/specification/api.d.ts +0 -1030
  55. package/dist/dts/specification/types.d.ts +0 -1663
  56. package/dist/esm/bot/factory/_service.js +0 -49
  57. package/dist/esm/bot/factory/client-config.js +0 -57
  58. package/dist/esm/bot/factory/make-bot.js +0 -46
  59. package/dist/esm/bot/message-handler/_service.js +0 -41
  60. package/dist/esm/bot/message-handler/types.js +0 -2
  61. package/dist/esm/bot/message-handler/utils.js +0 -16
  62. package/dist/esm/bot/run.js +0 -10
  63. package/dist/esm/bot/update-poller/_service.js +0 -68
  64. package/dist/esm/bot/update-poller/errors.js +0 -2
  65. package/dist/esm/bot/update-poller/fetch-updates.js +0 -86
  66. package/dist/esm/bot/update-poller/poll-and-handle.js +0 -74
  67. package/dist/esm/bot/update-poller/settings.js +0 -19
  68. package/dist/esm/client/_client.js +0 -53
  69. package/dist/esm/client/config.js +0 -46
  70. package/dist/esm/client/errors.js +0 -46
  71. package/dist/esm/client/execute-request/_service.js +0 -49
  72. package/dist/esm/client/execute-request/execute.js +0 -74
  73. package/dist/esm/client/execute-request/payload.js +0 -25
  74. package/dist/esm/client/file/_service.js +0 -51
  75. package/dist/esm/client/file/get-file.js +0 -61
  76. package/dist/esm/client/guards.js +0 -13
  77. package/dist/esm/const.js +0 -17
  78. package/dist/esm/index.js +0 -21
  79. package/dist/esm/specification/api.js +0 -2
  80. package/dist/esm/specification/types.js +0 -2
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BotFactoryServiceDefault = exports.BotFactoryService = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const Context = __importStar(require("effect/Context"));
39
- const config_js_1 = require("../../client/config.js");
40
- const client_config_js_1 = require("./client-config.js");
41
- const make_bot_js_1 = require("./make-bot.js");
42
- class BotFactoryService extends Context.Tag("BotFactoryService")() {
43
- }
44
- exports.BotFactoryService = BotFactoryService;
45
- ;
46
- exports.BotFactoryServiceDefault = {
47
- makeBot: make_bot_js_1.makeBot,
48
- runBot: (input) => (0, make_bot_js_1.makeBot)(input).pipe(Micro.provideServiceEffect(config_js_1.TgBotClientConfig, (0, client_config_js_1.makeClientConfigFrom)(input)))
49
- };
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.makeClientConfigFrom = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const fs_1 = require("fs");
39
- const config_js_1 = require("../../client/config.js");
40
- const guards_js_1 = require("../../client/guards.js");
41
- const makeClientConfigFrom = (input) => Micro.gen(function* () {
42
- if (input.type == "config") {
43
- return (0, config_js_1.makeTgBotClientConfig)(input);
44
- }
45
- const config = yield* Micro.try({
46
- try: () => JSON.parse((0, fs_1.readFileSync)("config.json").toString("utf-8")),
47
- catch: error => {
48
- console.warn(error);
49
- return "ReadingConfigError";
50
- }
51
- });
52
- if (!(0, guards_js_1.isTgBotClientSettingsInput)(config)) {
53
- return yield* Micro.fail("InvalidConfig");
54
- }
55
- return (0, config_js_1.makeTgBotClientConfig)(config);
56
- });
57
- exports.makeClientConfigFrom = makeClientConfigFrom;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.makeBot = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const _service_js_1 = require("../../bot/update-poller/_service.js");
39
- const makeBot = (messageHandler) => Micro.gen(function* () {
40
- const { runBot } = yield* Micro.service(_service_js_1.BotUpdatePollerService);
41
- return yield* runBot(messageHandler);
42
- }).pipe(Micro.provideServiceEffect(_service_js_1.BotUpdatePollerService, _service_js_1.BotUpdatesPollerServiceDefault), Micro.tapError(error => {
43
- console.error(error);
44
- return Micro.void;
45
- }));
46
- exports.makeBot = makeBot;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BotMessageHandler = void 0;
37
- const Context = __importStar(require("effect/Context"));
38
- class BotMessageHandler extends Context.Tag("BotMessageHandler")() {
39
- }
40
- exports.BotMessageHandler = BotMessageHandler;
41
- ;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractUpdate = void 0;
4
- const extractUpdate = (input) => {
5
- for (const [field, value] of Object.entries(input)) {
6
- if (field == "update_id") {
7
- continue;
8
- }
9
- return {
10
- type: field,
11
- ...value
12
- };
13
- }
14
- return undefined;
15
- };
16
- exports.extractUpdate = extractUpdate;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runTgChatBot = void 0;
4
- const effect_1 = require("effect");
5
- const _service_js_1 = require("./factory/_service.js");
6
- const runTgChatBot = (input) => _service_js_1.BotFactoryServiceDefault
7
- .runBot(input)
8
- .pipe(effect_1.Micro.runPromise)
9
- .finally(() => "Telegram chat bot has been shutdown");
10
- exports.runTgChatBot = runTgChatBot;
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BotUpdatesPollerServiceDefault = exports.BotUpdatePollerService = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const Context = __importStar(require("effect/Context"));
39
- const _service_js_1 = require("../../client/execute-request/_service.js");
40
- const poll_and_handle_js_1 = require("./poll-and-handle.js");
41
- class BotUpdatePollerService extends Context.Tag("BotUpdatePollerService")() {
42
- }
43
- exports.BotUpdatePollerService = BotUpdatePollerService;
44
- ;
45
- exports.BotUpdatesPollerServiceDefault = Micro.gen(function* () {
46
- const state = {
47
- isActive: false,
48
- };
49
- const client = yield* Micro.service(_service_js_1.ClientExecuteRequestService);
50
- const runBot = (messageHandler) => Micro.gen(function* () {
51
- if (state.isActive) {
52
- return yield* Micro.fail("AlreadyRunning");
53
- }
54
- const fiber = yield* (0, poll_and_handle_js_1.pollAndHandle)({
55
- settings: messageHandler,
56
- execute: client.execute
57
- }).pipe(Micro.forkDaemon);
58
- fiber.addObserver((exit) => {
59
- console.log("bot's fiber has been closed", exit);
60
- state.isActive = false;
61
- });
62
- console.log("Reading bot's updates...");
63
- return fiber;
64
- });
65
- return {
66
- runBot
67
- };
68
- }).pipe(Micro.provideServiceEffect(_service_js_1.ClientExecuteRequestService, _service_js_1.ClientExecuteRequestServiceDefault));
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.fetchUpdates = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const utils_js_1 = require("../../bot/message-handler/utils.js");
39
- const fetchUpdates = ({ state, settings, execute, handlers }) => Micro.gen(function* () {
40
- const updateId = state.lastUpdateId;
41
- console.info("getting updates", state);
42
- const updates = yield* execute("get_updates", {
43
- ...settings,
44
- ...(updateId ? { offset: updateId } : undefined)
45
- }).pipe(Micro.andThen(_ => _.sort(_ => _.update_id)));
46
- let lastSuccessId = undefined;
47
- let hasError = false;
48
- for (const updateObject of updates) {
49
- const update = (0, utils_js_1.extractUpdate)(updateObject);
50
- if (!update) {
51
- console.warn("Unknown update", update);
52
- hasError = true;
53
- break;
54
- }
55
- const handler = handlers[`on_${update.type}`];
56
- if (!handler) {
57
- console.warn("Handler for update not defined", update);
58
- hasError = true;
59
- break;
60
- }
61
- const handleResult = handler(update);
62
- if ("chat" in update) {
63
- const response = yield* execute(`send_${handleResult.type}`, {
64
- ...handleResult,
65
- chat_id: update.chat.id
66
- });
67
- console.log("bot response", response);
68
- }
69
- if (!handleResult) {
70
- hasError = true;
71
- console.log(handleResult);
72
- break;
73
- }
74
- ;
75
- lastSuccessId = updateObject.update_id;
76
- }
77
- if (hasError && lastSuccessId) {
78
- const resp = //commit successfully handled messages
79
- yield* execute("get_updates", {
80
- offset: lastSuccessId,
81
- limit: 0
82
- });
83
- }
84
- return { updates, lastSuccessId, hasError };
85
- });
86
- exports.fetchUpdates = fetchUpdates;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.pollAndHandle = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const settings_js_1 = require("./settings.js");
39
- const fetch_updates_js_1 = require("./fetch-updates.js");
40
- const pollAndHandle = (input) => {
41
- const state = {
42
- lastUpdateId: undefined,
43
- emptyResponses: 0
44
- };
45
- const settings = (0, settings_js_1.makeSettingsFrom)(input.settings);
46
- return Micro.delay(1000)((0, fetch_updates_js_1.fetchUpdates)({
47
- state, settings,
48
- execute: input.execute,
49
- handlers: input.settings,
50
- })).pipe(Micro.repeat({
51
- while: ({ updates, lastSuccessId, hasError }) => {
52
- if (hasError) {
53
- console.warn("error in handler, quitting");
54
- return false;
55
- }
56
- if (updates.length == 0) {
57
- state.emptyResponses += 1;
58
- if (state.emptyResponses > 200) {
59
- console.info("too many empty responses, quitting");
60
- return false;
61
- }
62
- }
63
- else {
64
- state.emptyResponses = 0;
65
- }
66
- ;
67
- if (lastSuccessId) {
68
- state.lastUpdateId = lastSuccessId + 1;
69
- }
70
- return true;
71
- }
72
- }));
73
- };
74
- exports.pollAndHandle = pollAndHandle;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSettingsFrom = void 0;
4
- const makeSettingsFrom = (input) => {
5
- let limit = input.batch_size ?? 10;
6
- let timeout = input.timeout ?? 10;
7
- if (limit < 10 || limit > 100) {
8
- console.warn("Wrong limit, must be in [10..100], using 10 instead");
9
- limit = 10;
10
- }
11
- if (timeout < 2 || timeout > 10) {
12
- console.warn("Wrong timeout, must be in [2..10], using 2 instead");
13
- limit = 10;
14
- }
15
- return {
16
- limit, timeout
17
- };
18
- };
19
- exports.makeSettingsFrom = makeSettingsFrom;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.makeTgBotClient = void 0;
37
- const Micro = __importStar(require("effect/Micro"));
38
- const config_js_1 = require("./config.js");
39
- const _service_js_1 = require("./execute-request/_service.js");
40
- const _service_js_2 = require("./file/_service.js");
41
- const makeTgBotClient = (input) => {
42
- const config = (0, config_js_1.makeTgBotClientConfig)(input);
43
- const client = Micro.gen(function* () {
44
- const execute = yield* Micro.service(_service_js_1.ClientExecuteRequestService);
45
- const file = yield* Micro.service(_service_js_2.ClientFileService);
46
- return {
47
- execute: (method, input) => execute.execute(method, input).pipe(Micro.runPromise),
48
- getFile: (input) => file.getFile(input).pipe(Micro.runPromise)
49
- };
50
- }).pipe(Micro.provideServiceEffect(_service_js_1.ClientExecuteRequestService, _service_js_1.ClientExecuteRequestServiceDefault), Micro.provideServiceEffect(_service_js_2.ClientFileService, _service_js_2.ClientFileServiceDefault), Micro.provideService(config_js_1.TgBotClientConfig, config), Micro.runSync);
51
- return client;
52
- };
53
- exports.makeTgBotClient = makeTgBotClient;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TgBotClientConfig = exports.makeTgBotClientConfig = void 0;
37
- const Context = __importStar(require("effect/Context"));
38
- const const_js_1 = require("../const.js");
39
- const makeTgBotClientConfig = (input) => TgBotClientConfig.of({
40
- ...input,
41
- ["base-url"]: input["base-url"] ?? const_js_1.defaultBaseUrl
42
- });
43
- exports.makeTgBotClientConfig = makeTgBotClientConfig;
44
- class TgBotClientConfig extends Context.Tag("TgBotClientConfig")() {
45
- }
46
- exports.TgBotClientConfig = TgBotClientConfig;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TgBotClientError = void 0;
37
- const Data = __importStar(require("effect/Data"));
38
- class TgBotClientError extends Data.TaggedError("TgBotClientError") {
39
- static missingSuccess = new TgBotClientError({
40
- reason: {
41
- type: "ClientInternalError",
42
- cause: "Expected 'success' to be defined"
43
- },
44
- });
45
- }
46
- exports.TgBotClientError = TgBotClientError;