@effect-ak/tg-bot-client 0.0.7 → 0.2.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/dist/cjs/bot/factory/_service.js +20 -0
- package/dist/cjs/bot/factory/client-config.js +29 -0
- package/dist/cjs/bot/factory/make-bot.js +20 -0
- package/dist/cjs/bot/message-handler/_service.js +12 -0
- package/dist/cjs/bot/message-handler/types.js +5 -0
- package/dist/cjs/bot/message-handler/utils.js +19 -0
- package/dist/cjs/bot/run.js +10 -0
- package/dist/cjs/bot/update-poller/_service.js +39 -0
- package/dist/cjs/bot/update-poller/errors.js +5 -0
- package/dist/cjs/bot/update-poller/fetch-updates.js +70 -0
- package/dist/cjs/bot/update-poller/poll-and-handle.js +50 -0
- package/dist/cjs/bot/update-poller/settings.js +23 -0
- package/dist/cjs/client/_client.js +17 -14
- package/dist/cjs/client/config.js +17 -0
- package/dist/cjs/client/errors.js +8 -9
- package/dist/cjs/client/execute-request/_service.js +20 -0
- package/dist/cjs/client/execute-request/execute.js +59 -0
- package/dist/cjs/client/{request.js → execute-request/payload.js} +2 -2
- package/dist/cjs/client/file/_service.js +22 -0
- package/dist/cjs/client/file/get-file.js +38 -0
- package/dist/cjs/client/guards.js +12 -0
- package/dist/cjs/{client/const.js → const.js} +2 -1
- package/dist/cjs/index.js +19 -8
- package/dist/dts/bot/factory/_service.d.ts +37 -0
- package/dist/dts/bot/factory/client-config.d.ts +3 -0
- package/dist/dts/bot/factory/make-bot.d.ts +7 -0
- package/dist/dts/bot/message-handler/_service.d.ts +6 -0
- package/dist/dts/bot/message-handler/types.d.ts +16 -0
- package/dist/dts/bot/message-handler/utils.d.ts +6 -0
- package/dist/dts/bot/run.d.ts +7 -0
- package/dist/dts/bot/update-poller/_service.d.ts +21 -0
- package/dist/dts/bot/update-poller/errors.d.ts +1 -0
- package/dist/dts/bot/update-poller/fetch-updates.d.ts +17 -0
- package/dist/dts/bot/update-poller/poll-and-handle.d.ts +16 -0
- package/dist/dts/bot/update-poller/settings.d.ts +6 -0
- package/dist/dts/client/_client.d.ts +6 -17
- package/dist/dts/client/config.d.ts +8 -0
- package/dist/dts/client/errors.d.ts +6 -4
- package/dist/dts/client/execute-request/_service.d.ts +15 -0
- package/dist/dts/client/execute-request/execute.d.ts +5 -0
- package/dist/dts/client/file/_service.d.ts +16 -0
- package/dist/dts/client/file/get-file.d.ts +5 -0
- package/dist/dts/client/guards.d.ts +17 -0
- package/dist/dts/{client/const.d.ts → const.d.ts} +1 -0
- package/dist/dts/index.d.ts +2 -1
- package/dist/dts/specification/api.d.ts +786 -2776
- package/dist/dts/specification/types.d.ts +1387 -3547
- package/dist/esm/bot/factory/_service.js +12 -0
- package/dist/esm/bot/factory/client-config.js +20 -0
- package/dist/esm/bot/factory/make-bot.js +9 -0
- package/dist/esm/bot/message-handler/_service.js +4 -0
- package/dist/esm/bot/message-handler/types.js +1 -0
- package/dist/esm/bot/message-handler/utils.js +12 -0
- package/dist/esm/bot/run.js +6 -0
- package/dist/esm/bot/update-poller/_service.js +31 -0
- package/dist/esm/bot/update-poller/errors.js +1 -0
- package/dist/esm/bot/update-poller/fetch-updates.js +49 -0
- package/dist/esm/bot/update-poller/poll-and-handle.js +37 -0
- package/dist/esm/bot/update-poller/settings.js +15 -0
- package/dist/esm/client/_client.js +15 -14
- package/dist/esm/client/config.js +8 -0
- package/dist/esm/client/errors.js +6 -9
- package/dist/esm/client/execute-request/_service.js +12 -0
- package/dist/esm/client/execute-request/execute.js +37 -0
- package/dist/esm/client/{request.js → execute-request/payload.js} +2 -4
- package/dist/esm/client/file/_service.js +14 -0
- package/dist/esm/client/file/get-file.js +24 -0
- package/dist/esm/client/guards.js +7 -0
- package/dist/esm/{client/const.js → const.js} +1 -0
- package/dist/esm/index.js +2 -1
- package/package.json +12 -4
- package/readme.md +83 -24
- package/dist/cjs/client/download-file.js +0 -44
- package/dist/cjs/client/execute-request.js +0 -69
- package/dist/cjs/client/response.js +0 -22
- package/dist/dts/client/download-file.d.ts +0 -13
- package/dist/dts/client/execute-request.d.ts +0 -13
- package/dist/dts/client/response.d.ts +0 -7
- package/dist/esm/client/download-file.js +0 -36
- package/dist/esm/client/execute-request.js +0 -62
- package/dist/esm/client/response.js +0 -15
- /package/dist/dts/client/{request.d.ts → execute-request/payload.d.ts} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BotFactoryServiceDefault = exports.BotFactoryService = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
|
+
var _config = require("../../client/config.js");
|
|
10
|
+
var _clientConfig = require("./client-config.js");
|
|
11
|
+
var _makeBot = require("./make-bot.js");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
class BotFactoryService extends Context.Tag("BotFactoryService")() {}
|
|
15
|
+
exports.BotFactoryService = BotFactoryService;
|
|
16
|
+
;
|
|
17
|
+
const BotFactoryServiceDefault = exports.BotFactoryServiceDefault = {
|
|
18
|
+
makeBot: _makeBot.makeBot,
|
|
19
|
+
runBot: input => (0, _makeBot.makeBot)(input).pipe(Micro.provideServiceEffect(_config.TgBotClientConfig, (0, _clientConfig.makeClientConfigFrom)(input)))
|
|
20
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeClientConfigFrom = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _fs = require("fs");
|
|
9
|
+
var _config = require("../../client/config.js");
|
|
10
|
+
var _guards = require("../../client/guards.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
const makeClientConfigFrom = input => Micro.gen(function* () {
|
|
14
|
+
if (input.type == "config") {
|
|
15
|
+
return (0, _config.makeTgBotClientConfig)(input);
|
|
16
|
+
}
|
|
17
|
+
const config = yield* Micro.try({
|
|
18
|
+
try: () => JSON.parse((0, _fs.readFileSync)("config.json").toString("utf-8")),
|
|
19
|
+
catch: error => {
|
|
20
|
+
console.warn(error);
|
|
21
|
+
return "ReadingConfigError";
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
if (!(0, _guards.isTgBotClientSettingsInput)(config)) {
|
|
25
|
+
return yield* Micro.fail("InvalidConfig");
|
|
26
|
+
}
|
|
27
|
+
return (0, _config.makeTgBotClientConfig)(config);
|
|
28
|
+
});
|
|
29
|
+
exports.makeClientConfigFrom = makeClientConfigFrom;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeBot = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _service = require("../../bot/update-poller/_service.js");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
const makeBot = messageHandler => Micro.gen(function* () {
|
|
12
|
+
const {
|
|
13
|
+
runBot
|
|
14
|
+
} = yield* Micro.service(_service.BotUpdatePollerService);
|
|
15
|
+
return yield* runBot(messageHandler);
|
|
16
|
+
}).pipe(Micro.provideServiceEffect(_service.BotUpdatePollerService, _service.BotUpdatesPollerServiceDefault), Micro.tapError(error => {
|
|
17
|
+
console.error(error);
|
|
18
|
+
return Micro.void;
|
|
19
|
+
}));
|
|
20
|
+
exports.makeBot = makeBot;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BotMessageHandler = void 0;
|
|
7
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
class BotMessageHandler extends Context.Tag("BotMessageHandler")() {}
|
|
11
|
+
exports.BotMessageHandler = BotMessageHandler;
|
|
12
|
+
;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.extractUpdate = void 0;
|
|
7
|
+
const extractUpdate = input => {
|
|
8
|
+
for (const [field, value] of Object.entries(input)) {
|
|
9
|
+
if (field == "update_id") {
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
type: field,
|
|
14
|
+
...value
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
};
|
|
19
|
+
exports.extractUpdate = extractUpdate;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runTgChatBot = void 0;
|
|
7
|
+
var _effect = require("effect");
|
|
8
|
+
var _service = require("./factory/_service.js");
|
|
9
|
+
const runTgChatBot = input => _service.BotFactoryServiceDefault.runBot(input).pipe(_effect.Micro.runPromise).finally(() => "Telegram chat bot has been shutdown");
|
|
10
|
+
exports.runTgChatBot = runTgChatBot;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BotUpdatesPollerServiceDefault = exports.BotUpdatePollerService = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
|
+
var _service = require("../../client/execute-request/_service.js");
|
|
10
|
+
var _pollAndHandle = require("./poll-and-handle.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
class BotUpdatePollerService extends Context.Tag("BotUpdatePollerService")() {}
|
|
14
|
+
exports.BotUpdatePollerService = BotUpdatePollerService;
|
|
15
|
+
;
|
|
16
|
+
const BotUpdatesPollerServiceDefault = exports.BotUpdatesPollerServiceDefault = Micro.gen(function* () {
|
|
17
|
+
const state = {
|
|
18
|
+
isActive: false
|
|
19
|
+
};
|
|
20
|
+
const client = yield* Micro.service(_service.ClientExecuteRequestService);
|
|
21
|
+
const runBot = messageHandler => Micro.gen(function* () {
|
|
22
|
+
if (state.isActive) {
|
|
23
|
+
return yield* Micro.fail("AlreadyRunning");
|
|
24
|
+
}
|
|
25
|
+
const fiber = yield* (0, _pollAndHandle.pollAndHandle)({
|
|
26
|
+
settings: messageHandler,
|
|
27
|
+
execute: client.execute
|
|
28
|
+
}).pipe(Micro.forkDaemon);
|
|
29
|
+
fiber.addObserver(exit => {
|
|
30
|
+
console.log("bot's fiber has been closed", exit);
|
|
31
|
+
state.isActive = false;
|
|
32
|
+
});
|
|
33
|
+
console.log("Reading bot's updates...");
|
|
34
|
+
return fiber;
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
runBot
|
|
38
|
+
};
|
|
39
|
+
}).pipe(Micro.provideServiceEffect(_service.ClientExecuteRequestService, _service.ClientExecuteRequestServiceDefault));
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fetchUpdates = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _utils = require("../../bot/message-handler/utils.js");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
const fetchUpdates = ({
|
|
12
|
+
state,
|
|
13
|
+
settings,
|
|
14
|
+
execute,
|
|
15
|
+
handlers
|
|
16
|
+
}) => Micro.gen(function* () {
|
|
17
|
+
const updateId = state.lastUpdateId;
|
|
18
|
+
console.info("getting updates", state);
|
|
19
|
+
const updates = yield* execute("get_updates", {
|
|
20
|
+
...settings,
|
|
21
|
+
...(updateId ? {
|
|
22
|
+
offset: updateId
|
|
23
|
+
} : undefined)
|
|
24
|
+
}).pipe(Micro.andThen(_ => _.sort(_ => _.update_id)));
|
|
25
|
+
let lastSuccessId = undefined;
|
|
26
|
+
let hasError = false;
|
|
27
|
+
for (const updateObject of updates) {
|
|
28
|
+
const update = (0, _utils.extractUpdate)(updateObject);
|
|
29
|
+
if (!update) {
|
|
30
|
+
console.warn("Unknown update", update);
|
|
31
|
+
hasError = true;
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
const handler = handlers[`on_${update.type}`];
|
|
35
|
+
if (!handler) {
|
|
36
|
+
console.warn("Handler for update not defined", update);
|
|
37
|
+
hasError = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
const handleResult = handler(update);
|
|
41
|
+
if ("chat" in update) {
|
|
42
|
+
const response = yield* execute(`send_${handleResult.type}`, {
|
|
43
|
+
...handleResult,
|
|
44
|
+
chat_id: update.chat.id
|
|
45
|
+
});
|
|
46
|
+
console.log("bot response", response);
|
|
47
|
+
}
|
|
48
|
+
if (!handleResult) {
|
|
49
|
+
hasError = true;
|
|
50
|
+
console.log(handleResult);
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
;
|
|
54
|
+
lastSuccessId = updateObject.update_id;
|
|
55
|
+
}
|
|
56
|
+
if (hasError && lastSuccessId) {
|
|
57
|
+
const resp =
|
|
58
|
+
//commit successfully handled messages
|
|
59
|
+
yield* execute("get_updates", {
|
|
60
|
+
offset: lastSuccessId,
|
|
61
|
+
limit: 0
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
updates,
|
|
66
|
+
lastSuccessId,
|
|
67
|
+
hasError
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
exports.fetchUpdates = fetchUpdates;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pollAndHandle = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _settings = require("./settings.js");
|
|
9
|
+
var _fetchUpdates = require("./fetch-updates.js");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
const pollAndHandle = input => {
|
|
13
|
+
const state = {
|
|
14
|
+
lastUpdateId: undefined,
|
|
15
|
+
emptyResponses: 0
|
|
16
|
+
};
|
|
17
|
+
const settings = (0, _settings.makeSettingsFrom)(input.settings);
|
|
18
|
+
return Micro.delay(1000)((0, _fetchUpdates.fetchUpdates)({
|
|
19
|
+
state,
|
|
20
|
+
settings,
|
|
21
|
+
execute: input.execute,
|
|
22
|
+
handlers: input.settings
|
|
23
|
+
})).pipe(Micro.repeat({
|
|
24
|
+
while: ({
|
|
25
|
+
updates,
|
|
26
|
+
lastSuccessId,
|
|
27
|
+
hasError
|
|
28
|
+
}) => {
|
|
29
|
+
if (hasError) {
|
|
30
|
+
console.warn("error in handler, quitting");
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (updates.length == 0) {
|
|
34
|
+
state.emptyResponses += 1;
|
|
35
|
+
if (state.emptyResponses > 200) {
|
|
36
|
+
console.info("too many empty responses, quitting");
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
state.emptyResponses = 0;
|
|
41
|
+
}
|
|
42
|
+
;
|
|
43
|
+
if (lastSuccessId) {
|
|
44
|
+
state.lastUpdateId = lastSuccessId + 1;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
exports.pollAndHandle = pollAndHandle;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeSettingsFrom = void 0;
|
|
7
|
+
const makeSettingsFrom = input => {
|
|
8
|
+
let limit = input.batch_size ?? 10;
|
|
9
|
+
let timeout = input.timeout ?? 10;
|
|
10
|
+
if (limit < 10 || limit > 100) {
|
|
11
|
+
console.warn("Wrong limit, must be in [10..100], using 10 instead");
|
|
12
|
+
limit = 10;
|
|
13
|
+
}
|
|
14
|
+
if (timeout < 2 || timeout > 10) {
|
|
15
|
+
console.warn("Wrong timeout, must be in [2..10], using 2 instead");
|
|
16
|
+
limit = 10;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
limit,
|
|
20
|
+
timeout
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
exports.makeSettingsFrom = makeSettingsFrom;
|
|
@@ -4,19 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.makeTgBotClient = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _config = require("./config.js");
|
|
9
|
+
var _service = require("./execute-request/_service.js");
|
|
10
|
+
var _service2 = require("./file/_service.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
const makeTgBotClient = input => {
|
|
14
|
+
const config = (0, _config.makeTgBotClientConfig)(input);
|
|
15
|
+
const client = Micro.gen(function* () {
|
|
16
|
+
const execute = yield* Micro.service(_service.ClientExecuteRequestService);
|
|
17
|
+
const file = yield* Micro.service(_service2.ClientFileService);
|
|
18
|
+
return {
|
|
19
|
+
execute: (method, input) => execute.execute(method, input).pipe(Micro.runPromise),
|
|
20
|
+
getFile: input => file.getFile(input).pipe(Micro.runPromise)
|
|
21
|
+
};
|
|
22
|
+
}).pipe(Micro.provideServiceEffect(_service.ClientExecuteRequestService, _service.ClientExecuteRequestServiceDefault), Micro.provideServiceEffect(_service2.ClientFileService, _service2.ClientFileServiceDefault), Micro.provideService(_config.TgBotClientConfig, config), Micro.runSync);
|
|
23
|
+
return client;
|
|
21
24
|
};
|
|
22
25
|
exports.makeTgBotClient = makeTgBotClient;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeTgBotClientConfig = exports.TgBotClientConfig = void 0;
|
|
7
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
8
|
+
var _const = require("../const.js");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
const makeTgBotClientConfig = input => TgBotClientConfig.of({
|
|
12
|
+
...input,
|
|
13
|
+
["base-url"]: input["base-url"] ?? _const.defaultBaseUrl
|
|
14
|
+
});
|
|
15
|
+
exports.makeTgBotClientConfig = makeTgBotClientConfig;
|
|
16
|
+
class TgBotClientConfig extends Context.Tag("TgBotClientConfig")() {}
|
|
17
|
+
exports.TgBotClientConfig = TgBotClientConfig;
|
|
@@ -4,16 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TgBotClientError = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
super();
|
|
12
|
-
this.reason = reason;
|
|
13
|
-
}
|
|
7
|
+
var Data = _interopRequireWildcard(require("effect/Data"));
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
class TgBotClientError extends Data.TaggedError("TgBotClientError") {
|
|
14
11
|
static missingSuccess = new TgBotClientError({
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
reason: {
|
|
13
|
+
type: "ClientInternalError",
|
|
14
|
+
cause: "Expected 'success' to be defined"
|
|
15
|
+
}
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
18
|
exports.TgBotClientError = TgBotClientError;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ClientExecuteRequestServiceDefault = exports.ClientExecuteRequestService = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
|
+
var _config = require("../config.js");
|
|
10
|
+
var _execute = require("./execute.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
class ClientExecuteRequestService extends Context.Tag("ClientExecuteRequestService")() {}
|
|
14
|
+
exports.ClientExecuteRequestService = ClientExecuteRequestService;
|
|
15
|
+
const ClientExecuteRequestServiceDefault = exports.ClientExecuteRequestServiceDefault = Micro.gen(function* () {
|
|
16
|
+
const config = yield* Micro.service(_config.TgBotClientConfig);
|
|
17
|
+
return {
|
|
18
|
+
execute: (method, input) => (0, _execute.execute)(config, method, input)
|
|
19
|
+
};
|
|
20
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.execute = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var String = _interopRequireWildcard(require("effect/String"));
|
|
9
|
+
var _errors = require("../errors.js");
|
|
10
|
+
var _payload = require("./payload.js");
|
|
11
|
+
var _guards = require("../guards.js");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
const execute = (config, method, input) => Micro.gen(function* () {
|
|
15
|
+
const httpResponse = yield* Micro.tryPromise({
|
|
16
|
+
try: () => fetch(`${config["base-url"]}/bot${config["bot-token"]}/${String.snakeToCamel(method)}`, {
|
|
17
|
+
body: (0, _payload.makePayload)(input) ?? null,
|
|
18
|
+
method: "POST"
|
|
19
|
+
}),
|
|
20
|
+
catch: cause => new _errors.TgBotClientError({
|
|
21
|
+
reason: {
|
|
22
|
+
type: "ClientInternalError",
|
|
23
|
+
cause
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
const response = yield* Micro.tryPromise({
|
|
28
|
+
try: () => httpResponse.json(),
|
|
29
|
+
catch: () => new _errors.TgBotClientError({
|
|
30
|
+
reason: {
|
|
31
|
+
type: "UnexpectedResponse",
|
|
32
|
+
response: httpResponse
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
if (!(0, _guards.isTgBotApiResponse)(response)) {
|
|
37
|
+
return yield* Micro.fail(new _errors.TgBotClientError({
|
|
38
|
+
reason: {
|
|
39
|
+
type: "UnexpectedResponse",
|
|
40
|
+
response
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
if (!httpResponse.ok) {
|
|
45
|
+
return yield* Micro.fail(new _errors.TgBotClientError({
|
|
46
|
+
reason: {
|
|
47
|
+
type: "NotOkResponse",
|
|
48
|
+
...(response.error_code ? {
|
|
49
|
+
errorCode: response.error_code
|
|
50
|
+
} : undefined),
|
|
51
|
+
...(response.description ? {
|
|
52
|
+
details: response.description
|
|
53
|
+
} : undefined)
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
return response.result;
|
|
58
|
+
});
|
|
59
|
+
exports.execute = execute;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.makePayload = void 0;
|
|
7
|
-
|
|
7
|
+
var _guards = require("../guards.js");
|
|
8
8
|
const makePayload = body => {
|
|
9
9
|
const entries = Object.entries(body);
|
|
10
10
|
if (entries.length == 0) return undefined;
|
|
@@ -13,7 +13,7 @@ const makePayload = body => {
|
|
|
13
13
|
if (!value) continue;
|
|
14
14
|
if (typeof value != "object") {
|
|
15
15
|
result.append(key, `${value}`);
|
|
16
|
-
} else if (
|
|
16
|
+
} else if ((0, _guards.isFileContent)(value)) {
|
|
17
17
|
result.append(key, new Blob([value.file_content]), value.file_name);
|
|
18
18
|
} else {
|
|
19
19
|
result.append(key, JSON.stringify(value));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ClientFileServiceDefault = exports.ClientFileService = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
|
+
var _config = require("../config.js");
|
|
10
|
+
var _service = require("../execute-request/_service.js");
|
|
11
|
+
var _getFile = require("./get-file.js");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
class ClientFileService extends Context.Tag("ClientFileService")() {}
|
|
15
|
+
exports.ClientFileService = ClientFileService;
|
|
16
|
+
const ClientFileServiceDefault = exports.ClientFileServiceDefault = Micro.gen(function* () {
|
|
17
|
+
const config = yield* Micro.service(_config.TgBotClientConfig);
|
|
18
|
+
const execute = yield* Micro.service(_service.ClientExecuteRequestService);
|
|
19
|
+
return {
|
|
20
|
+
getFile: input => (0, _getFile.getFile)(input.file_id, config, execute)
|
|
21
|
+
};
|
|
22
|
+
}).pipe(Micro.provideServiceEffect(_service.ClientExecuteRequestService, _service.ClientExecuteRequestServiceDefault));
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFile = void 0;
|
|
7
|
+
var Micro = _interopRequireWildcard(require("effect/Micro"));
|
|
8
|
+
var _errors = require("../errors.js");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
const getFile = (fileId, config, execute) => Micro.gen(function* () {
|
|
12
|
+
const response = yield* execute.execute("get_file", {
|
|
13
|
+
file_id: fileId
|
|
14
|
+
});
|
|
15
|
+
const file_path = response.file_path;
|
|
16
|
+
if (!file_path || file_path.length == 0) {
|
|
17
|
+
return yield* Micro.fail(new _errors.TgBotClientError({
|
|
18
|
+
reason: {
|
|
19
|
+
type: "UnableToGetFile",
|
|
20
|
+
cause: "File path not defined"
|
|
21
|
+
}
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
const file_name = file_path.replaceAll("/", "-");
|
|
25
|
+
const url = `${config["base-url"]}/file/bot${config["bot-token"]}/${file_path}`;
|
|
26
|
+
const fileContent = yield* Micro.tryPromise({
|
|
27
|
+
try: () => fetch(url).then(_ => _.arrayBuffer()),
|
|
28
|
+
catch: cause => new _errors.TgBotClientError({
|
|
29
|
+
reason: {
|
|
30
|
+
type: "UnableToGetFile",
|
|
31
|
+
cause
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
const file = new File([new Uint8Array(fileContent)], file_name);
|
|
36
|
+
return file;
|
|
37
|
+
});
|
|
38
|
+
exports.getFile = getFile;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isTgBotClientSettingsInput = exports.isTgBotApiResponse = exports.isFileContent = void 0;
|
|
7
|
+
const isFileContent = input => typeof input == "object" && input != null && "file_content" in input && input.file_content instanceof Uint8Array && "file_name" in input && typeof input.file_name == "string";
|
|
8
|
+
exports.isFileContent = isFileContent;
|
|
9
|
+
const isTgBotApiResponse = input => typeof input == "object" && input != null && "ok" in input && typeof input.ok == "boolean";
|
|
10
|
+
exports.isTgBotApiResponse = isTgBotApiResponse;
|
|
11
|
+
const isTgBotClientSettingsInput = input => typeof input == "object" && input != null && "bot-token" in input && typeof input["bot-token"] == "string";
|
|
12
|
+
exports.isTgBotClientSettingsInput = isTgBotClientSettingsInput;
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.messageEffectIdCodes = exports.isMessageEffect = exports.MESSAGE_EFFECTS = void 0;
|
|
6
|
+
exports.messageEffectIdCodes = exports.isMessageEffect = exports.defaultBaseUrl = exports.MESSAGE_EFFECTS = void 0;
|
|
7
|
+
const defaultBaseUrl = exports.defaultBaseUrl = "https://api.telegram.org";
|
|
7
8
|
const MESSAGE_EFFECTS = exports.MESSAGE_EFFECTS = {
|
|
8
9
|
"🔥": "5104841245755180586",
|
|
9
10
|
"👍": "5107584321108051014",
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var
|
|
7
|
-
Object.keys(
|
|
6
|
+
var _client = require("./client/_client.js");
|
|
7
|
+
Object.keys(_client).forEach(function (key) {
|
|
8
8
|
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] ===
|
|
9
|
+
if (key in exports && exports[key] === _client[key]) return;
|
|
10
10
|
Object.defineProperty(exports, key, {
|
|
11
11
|
enumerable: true,
|
|
12
12
|
get: function () {
|
|
13
|
-
return
|
|
13
|
+
return _client[key];
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
-
var
|
|
18
|
-
Object.keys(
|
|
17
|
+
var _run = require("./bot/run.js");
|
|
18
|
+
Object.keys(_run).forEach(function (key) {
|
|
19
19
|
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] ===
|
|
20
|
+
if (key in exports && exports[key] === _run[key]) return;
|
|
21
21
|
Object.defineProperty(exports, key, {
|
|
22
22
|
enumerable: true,
|
|
23
23
|
get: function () {
|
|
24
|
-
return
|
|
24
|
+
return _run[key];
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
@@ -46,4 +46,15 @@ Object.keys(_types).forEach(function (key) {
|
|
|
46
46
|
return _types[key];
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
+
});
|
|
50
|
+
var _const = require("./const.js");
|
|
51
|
+
Object.keys(_const).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _const[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _const[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
49
60
|
});
|