@grom.js/effect-tg 0.2.5 → 0.3.1
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/BotApi.d.ts +3 -5
- package/dist/BotApi.d.ts.map +1 -1
- package/dist/BotApi.js +2 -1
- package/dist/BotApiTransport.d.ts +5 -10
- package/dist/BotApiTransport.d.ts.map +1 -1
- package/dist/BotApiTransport.js +4 -3
- package/dist/BotApiWebhook.d.ts +12 -8
- package/dist/BotApiWebhook.d.ts.map +1 -1
- package/dist/BotApiWebhook.js +14 -21
- package/dist/internal/botApi.d.ts +2 -4
- package/dist/internal/botApi.d.ts.map +1 -1
- package/dist/internal/botApi.js +5 -3
- package/dist/internal/botApiTransport.d.ts +2 -5
- package/dist/internal/botApiTransport.d.ts.map +1 -1
- package/dist/internal/botApiTransport.js +3 -4
- package/package.json +1 -1
package/dist/BotApi.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { BotApiTransport } from './BotApiTransport.ts';
|
|
1
2
|
import type { MethodParams, MethodResults } from './internal/botApiMethods.gen.ts';
|
|
2
3
|
import type { BotApiShape } from './internal/botApiShape.gen.ts';
|
|
3
4
|
import type * as Types from './internal/botApiTypes.gen.ts';
|
|
4
5
|
import * as Context from 'effect/Context';
|
|
6
|
+
import * as Layer from 'effect/Layer';
|
|
5
7
|
export type { MethodParams, MethodResults, Types };
|
|
6
8
|
declare const BotApi_base: Context.TagClass<BotApi, "@grom.js/effect-tg/BotApi", BotApiShape>;
|
|
7
9
|
export declare class BotApi extends BotApi_base {
|
|
@@ -19,9 +21,5 @@ export declare class BotApiError extends BotApiError_base<{
|
|
|
19
21
|
}> {
|
|
20
22
|
get message(): string;
|
|
21
23
|
}
|
|
22
|
-
export declare const
|
|
23
|
-
transport: {
|
|
24
|
-
sendRequest: (method: string, params: unknown) => import("effect/Effect").Effect<import("./BotApiTransport.ts").BotApiResponse, import("./BotApiTransport.ts").BotApiTransportError>;
|
|
25
|
-
};
|
|
26
|
-
}) => import("effect/Effect").Effect<BotApiShape, never, never>;
|
|
24
|
+
export declare const layer: Layer.Layer<BotApi, never, BotApiTransport>;
|
|
27
25
|
//# sourceMappingURL=BotApi.d.ts.map
|
package/dist/BotApi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotApi.d.ts","sourceRoot":"","sources":["../src/BotApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,KAAK,KAAK,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"BotApi.d.ts","sourceRoot":"","sources":["../src/BotApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,KAAK,KAAK,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;;AAElD,qBAAa,MAAO,SAAQ,WAGzB;CAAG;;;;AAEN;;GAEG;AACH,qBAAa,WAAY,SAAQ,iBAAmD;IAClF,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAA;CACtC,CAAC;IACA,IAAa,OAAO,WAEnB;CACF;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,MAAM,EACN,KAAK,EACL,eAAe,CACsB,CAAA"}
|
package/dist/BotApi.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Context from 'effect/Context';
|
|
2
2
|
import * as Data from 'effect/Data';
|
|
3
|
+
import * as Layer from 'effect/Layer';
|
|
3
4
|
import * as internal from "./internal/botApi.js";
|
|
4
5
|
export class BotApi extends Context.Tag('@grom.js/effect-tg/BotApi')() {
|
|
5
6
|
}
|
|
@@ -11,4 +12,4 @@ export class BotApiError extends Data.TaggedError('@grom.js/effect-tg/BotApiErro
|
|
|
11
12
|
return `(${this.code}) ${this.description}`;
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
|
-
export const
|
|
15
|
+
export const layer = Layer.effect(BotApi, internal.make);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as Effect from 'effect/Effect';
|
|
2
2
|
import type * as Types from './internal/botApiTypes.gen.ts';
|
|
3
3
|
import * as Context from 'effect/Context';
|
|
4
|
+
import * as Layer from 'effect/Layer';
|
|
4
5
|
declare const BotApiTransport_base: Context.TagClass<BotApiTransport, "@grom.js/effect-tg/BotApiTransport", {
|
|
5
6
|
sendRequest: (method: string, params: unknown) => Effect.Effect<BotApiResponse, BotApiTransportError>;
|
|
6
7
|
}>;
|
|
@@ -29,16 +30,10 @@ export declare class BotApiTransportError extends BotApiTransportError_base<{
|
|
|
29
30
|
cause: unknown;
|
|
30
31
|
}> {
|
|
31
32
|
}
|
|
32
|
-
export declare const
|
|
33
|
+
export declare const layerWith: (options: {
|
|
33
34
|
makeUrl: (method: string) => URL;
|
|
34
|
-
}) =>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
export declare const makeProd: (token: string) => Effect.Effect<{
|
|
38
|
-
sendRequest: (method: string, params: unknown) => Effect.Effect<BotApiResponse, BotApiTransportError>;
|
|
39
|
-
}, never, import("@effect/platform/HttpClient").HttpClient>;
|
|
40
|
-
export declare const makeTest: (token: string) => Effect.Effect<{
|
|
41
|
-
sendRequest: (method: string, params: unknown) => Effect.Effect<BotApiResponse, BotApiTransportError>;
|
|
42
|
-
}, never, import("@effect/platform/HttpClient").HttpClient>;
|
|
35
|
+
}) => Layer.Layer<BotApiTransport, never, import("@effect/platform/HttpClient").HttpClient>;
|
|
36
|
+
export declare const layerProd: (token: string) => Layer.Layer<BotApiTransport, never, import("@effect/platform/HttpClient").HttpClient>;
|
|
37
|
+
export declare const layerTest: (token: string) => Layer.Layer<BotApiTransport, never, import("@effect/platform/HttpClient").HttpClient>;
|
|
43
38
|
export {};
|
|
44
39
|
//# sourceMappingURL=BotApiTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotApiTransport.d.ts","sourceRoot":"","sources":["../src/BotApiTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;;
|
|
1
|
+
{"version":3,"file":"BotApiTransport.d.ts","sourceRoot":"","sources":["../src/BotApiTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;iBAMpB,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,KACZ,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC;;AAN5D,qBAAa,eAAgB,SAAQ,oBAQlC;CACF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IACA,EAAE,EAAE,IAAI,CAAA;IACR,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG;IACF,EAAE,EAAE,KAAK,CAAA;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAA;CACtC,CAAA;;;;AAEH;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,0BAA4D;IACpG,KAAK,EAAE,OAAO,CAAA;CACf,CAAC;CAAG;AAEL,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAA;CACjC,0FAA8D,CAAA;AAE/D,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,0FAItC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,0FAItC,CAAA"}
|
package/dist/BotApiTransport.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Context from 'effect/Context';
|
|
2
2
|
import * as Data from 'effect/Data';
|
|
3
|
+
import * as Layer from 'effect/Layer';
|
|
3
4
|
import * as internal from "./internal/botApiTransport.js";
|
|
4
5
|
export class BotApiTransport extends Context.Tag('@grom.js/effect-tg/BotApiTransport')() {
|
|
5
6
|
}
|
|
@@ -8,10 +9,10 @@ export class BotApiTransport extends Context.Tag('@grom.js/effect-tg/BotApiTrans
|
|
|
8
9
|
*/
|
|
9
10
|
export class BotApiTransportError extends Data.TaggedError('@grom.js/effect-tg/BotApiTransportError') {
|
|
10
11
|
}
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
12
|
+
export const layerWith = (options) => Layer.effect(BotApiTransport, internal.makeWith(options));
|
|
13
|
+
export const layerProd = (token) => (layerWith({
|
|
13
14
|
makeUrl: method => new URL(`https://api.telegram.org/bot${token}/${method}`),
|
|
14
15
|
}));
|
|
15
|
-
export const
|
|
16
|
+
export const layerTest = (token) => (layerWith({
|
|
16
17
|
makeUrl: method => new URL(`https://api.telegram.org/bot${token}/test/${method}`),
|
|
17
18
|
}));
|
package/dist/BotApiWebhook.d.ts
CHANGED
|
@@ -3,30 +3,34 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @see https://core.telegram.org/bots/api#setwebhook
|
|
5
5
|
*/
|
|
6
|
+
import type * as HttpServerError from '@effect/platform/HttpServerError';
|
|
6
7
|
import type * as BotApi from './BotApi.ts';
|
|
7
8
|
import * as HttpApiMiddleware from '@effect/platform/HttpApiMiddleware';
|
|
8
|
-
import * as Context from 'effect/Context';
|
|
9
|
+
import * as $Context from 'effect/Context';
|
|
10
|
+
import * as Effect from 'effect/Effect';
|
|
9
11
|
import * as Layer from 'effect/Layer';
|
|
10
12
|
import * as Redacted from 'effect/Redacted';
|
|
11
13
|
import * as Schema from 'effect/Schema';
|
|
12
14
|
export declare const SECRET_HEADER = "x-telegram-bot-api-secret-token";
|
|
13
15
|
declare const VerificationFailedError_base: Schema.TaggedErrorClass<VerificationFailedError, "@grom.js/effect-tg/BotApiWebhook/VerificationFailedError", {
|
|
14
16
|
readonly _tag: Schema.tag<"@grom.js/effect-tg/BotApiWebhook/VerificationFailedError">;
|
|
15
|
-
} & {
|
|
16
|
-
reason: Schema.Literal<["MISSING_HEADER", "INVALID_SECRET", "INVALID_REQUEST", "BROKEN_TRANSPORT"]>;
|
|
17
17
|
}>;
|
|
18
18
|
export declare class VerificationFailedError extends VerificationFailedError_base {
|
|
19
19
|
}
|
|
20
|
-
declare const
|
|
21
|
-
|
|
20
|
+
declare const Context_base: $Context.TagClass<Context, "@grom.js/effect-tg/BotApiWebhook/Context", {
|
|
21
|
+
update: Effect.Effect<BotApi.Types.Update, HttpServerError.RequestError>;
|
|
22
|
+
}>;
|
|
23
|
+
export declare class Context extends Context_base {
|
|
22
24
|
}
|
|
23
25
|
declare const VerifyMiddleware_base: HttpApiMiddleware.TagClass.Base<VerifyMiddleware, "@grom.js/effect-tg/BotApiWebhook/VerifyMiddleware", {
|
|
24
26
|
readonly optional: false;
|
|
25
27
|
readonly failure: typeof VerificationFailedError;
|
|
26
|
-
readonly provides: typeof
|
|
27
|
-
}, HttpApiMiddleware.HttpApiMiddleware<
|
|
28
|
+
readonly provides: typeof Context;
|
|
29
|
+
}, HttpApiMiddleware.HttpApiMiddleware<{
|
|
30
|
+
update: Effect.Effect<BotApi.Types.Update, HttpServerError.RequestError>;
|
|
31
|
+
}, VerificationFailedError>>;
|
|
28
32
|
export declare class VerifyMiddleware extends VerifyMiddleware_base {
|
|
29
|
-
static
|
|
33
|
+
static layer(options: {
|
|
30
34
|
/**
|
|
31
35
|
* Telegram webhook secret token.
|
|
32
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotApiWebhook.d.ts","sourceRoot":"","sources":["../src/BotApiWebhook.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"BotApiWebhook.d.ts","sourceRoot":"","sources":["../src/BotApiWebhook.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,eAAe,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AAGvE,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,aAAa,oCAAoC,CAAA;;;;AAG9D,qBAAa,uBAAwB,SAAQ,4BAO5C;CAAG;;YAIQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC;;AAF5E,qBAAa,OAAQ,SAAQ,YAG1B;CAAG;;;;;;YADM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC;;AAG5E,qBAAa,gBAAiB,SAAQ,qBAOrC;WACe,KAAK,CAAC,OAAO,EAAE;QAC3B;;WAEG;QACH,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAClC;CAkBF"}
|
package/dist/BotApiWebhook.js
CHANGED
|
@@ -3,48 +3,41 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @see https://core.telegram.org/bots/api#setwebhook
|
|
5
5
|
*/
|
|
6
|
-
import { Buffer } from 'node:buffer';
|
|
7
|
-
import * as crypto from 'node:crypto';
|
|
8
6
|
import * as HttpApiMiddleware from '@effect/platform/HttpApiMiddleware';
|
|
9
7
|
import * as HttpApiSchema from '@effect/platform/HttpApiSchema';
|
|
10
8
|
import * as HttpServerRequest from '@effect/platform/HttpServerRequest';
|
|
11
|
-
import * as Context from 'effect/Context';
|
|
9
|
+
import * as $Context from 'effect/Context';
|
|
12
10
|
import * as Effect from 'effect/Effect';
|
|
13
11
|
import * as Layer from 'effect/Layer';
|
|
14
|
-
import * as Match from 'effect/Match';
|
|
15
12
|
import * as Redacted from 'effect/Redacted';
|
|
16
13
|
import * as Schema from 'effect/Schema';
|
|
17
14
|
export const SECRET_HEADER = 'x-telegram-bot-api-secret-token';
|
|
18
15
|
// eslint-disable-next-line unicorn/throw-new-error
|
|
19
|
-
export class VerificationFailedError extends Schema.TaggedError()('@grom.js/effect-tg/BotApiWebhook/VerificationFailedError',
|
|
20
|
-
reason: Schema.Literal('MISSING_HEADER', 'INVALID_SECRET', 'INVALID_REQUEST', 'BROKEN_TRANSPORT'),
|
|
21
|
-
}), HttpApiSchema.annotations({
|
|
16
|
+
export class VerificationFailedError extends Schema.TaggedError()('@grom.js/effect-tg/BotApiWebhook/VerificationFailedError', {}, HttpApiSchema.annotations({
|
|
22
17
|
status: 401,
|
|
23
|
-
description: '
|
|
18
|
+
description: 'Missing or invalid webhook secret.',
|
|
24
19
|
})) {
|
|
25
20
|
}
|
|
26
|
-
export class
|
|
21
|
+
export class Context extends $Context.Tag('@grom.js/effect-tg/BotApiWebhook/Context')() {
|
|
27
22
|
}
|
|
28
23
|
export class VerifyMiddleware extends HttpApiMiddleware.Tag()('@grom.js/effect-tg/BotApiWebhook/VerifyMiddleware', {
|
|
29
24
|
optional: false,
|
|
30
25
|
failure: VerificationFailedError,
|
|
31
|
-
provides:
|
|
26
|
+
provides: Context,
|
|
32
27
|
}) {
|
|
33
|
-
static
|
|
28
|
+
static layer(options) {
|
|
34
29
|
return Layer.succeed(VerifyMiddleware, Effect.gen(function* () {
|
|
35
|
-
const
|
|
36
|
-
const actual =
|
|
30
|
+
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
31
|
+
const actual = request.headers[SECRET_HEADER];
|
|
37
32
|
if (actual == null) {
|
|
38
|
-
return yield* new VerificationFailedError(
|
|
33
|
+
return yield* new VerificationFailedError();
|
|
39
34
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return yield* new VerificationFailedError({ reason: 'INVALID_SECRET' });
|
|
35
|
+
if (actual !== Redacted.value(options.secret)) {
|
|
36
|
+
return yield* new VerificationFailedError();
|
|
43
37
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
return update;
|
|
38
|
+
return {
|
|
39
|
+
update: Effect.map(request.json, update => update),
|
|
40
|
+
};
|
|
48
41
|
}));
|
|
49
42
|
}
|
|
50
43
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type { BotApiTransport } from '../BotApiTransport.ts';
|
|
2
1
|
import type { BotApiShape } from './botApiShape.gen.ts';
|
|
3
2
|
import * as Effect from 'effect/Effect';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}) => Effect.Effect<BotApiShape, never, never>;
|
|
3
|
+
import { BotApiTransport } from '../BotApiTransport.ts';
|
|
4
|
+
export declare const make: Effect.Effect<BotApiShape, never, BotApiTransport>;
|
|
7
5
|
//# sourceMappingURL=botApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botApi.d.ts","sourceRoot":"","sources":["../../src/internal/botApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"botApi.d.ts","sourceRoot":"","sources":["../../src/internal/botApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,eAAO,MAAM,IAAI,oDA0Bf,CAAA"}
|
package/dist/internal/botApi.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
2
|
import { BotApiError } from "../BotApi.js";
|
|
3
|
-
|
|
3
|
+
import { BotApiTransport } from "../BotApiTransport.js";
|
|
4
|
+
export const make = Effect.gen(function* () {
|
|
5
|
+
const transport = yield* BotApiTransport;
|
|
4
6
|
const botApi = new Proxy({}, {
|
|
5
7
|
get: (_target, prop) => {
|
|
6
8
|
if (typeof prop !== 'string') {
|
|
@@ -8,7 +10,7 @@ export const make = (options) => (Effect.gen(function* () {
|
|
|
8
10
|
}
|
|
9
11
|
const method = prop;
|
|
10
12
|
return (params = {}) => (Effect.gen(function* () {
|
|
11
|
-
const response = yield*
|
|
13
|
+
const response = yield* transport.sendRequest(method, params);
|
|
12
14
|
if (response.ok) {
|
|
13
15
|
return response.result;
|
|
14
16
|
}
|
|
@@ -21,4 +23,4 @@ export const make = (options) => (Effect.gen(function* () {
|
|
|
21
23
|
},
|
|
22
24
|
});
|
|
23
25
|
return botApi;
|
|
24
|
-
})
|
|
26
|
+
});
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BotApiTransport } from '../BotApiTransport.ts';
|
|
2
2
|
import * as HttpClient from '@effect/platform/HttpClient';
|
|
3
3
|
import * as Effect from 'effect/Effect';
|
|
4
|
-
import { BotApiTransportError } from '../BotApiTransport.ts';
|
|
5
4
|
export declare const makeWith: (options: {
|
|
6
5
|
makeUrl: (method: string) => URL;
|
|
7
|
-
}) => Effect.Effect<
|
|
8
|
-
sendRequest: (method: string, params: unknown) => Effect.Effect<BotApiResponse, BotApiTransportError>;
|
|
9
|
-
}, never, HttpClient.HttpClient>;
|
|
6
|
+
}) => Effect.Effect<typeof BotApiTransport.Service, never, HttpClient.HttpClient>;
|
|
10
7
|
//# sourceMappingURL=botApiTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botApiTransport.d.ts","sourceRoot":"","sources":["../../src/internal/botApiTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"botApiTransport.d.ts","sourceRoot":"","sources":["../../src/internal/botApiTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5E,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,eAAO,MAAM,QAAQ,GAAI,SAAS;IAChC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAA;CACjC,KAAG,MAAM,CAAC,MAAM,CACf,OAAO,eAAe,CAAC,OAAO,EAC9B,KAAK,EACL,UAAU,CAAC,UAAU,CAsBrB,CAAA"}
|
|
@@ -2,10 +2,10 @@ import * as HttpBody from '@effect/platform/HttpBody';
|
|
|
2
2
|
import * as HttpClient from '@effect/platform/HttpClient';
|
|
3
3
|
import * as Effect from 'effect/Effect';
|
|
4
4
|
import { BotApiTransportError } from "../BotApiTransport.js";
|
|
5
|
-
export const makeWith = (options) =>
|
|
5
|
+
export const makeWith = (options) => Effect.gen(function* () {
|
|
6
6
|
const { makeUrl } = options;
|
|
7
7
|
const client = yield* HttpClient.HttpClient;
|
|
8
|
-
|
|
8
|
+
return {
|
|
9
9
|
sendRequest: (method, params) => (Effect
|
|
10
10
|
.gen(function* () {
|
|
11
11
|
const url = makeUrl(method);
|
|
@@ -17,5 +17,4 @@ export const makeWith = (options) => (Effect.gen(function* () {
|
|
|
17
17
|
})
|
|
18
18
|
.pipe(Effect.catchAll(error => (Effect.fail(new BotApiTransportError({ cause: error })))))),
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
}));
|
|
20
|
+
});
|