@shivaedev/effect-trpc 0.6.0 → 0.7.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/CHANGELOG.md +23 -0
- package/README.md +309 -186
- package/dist/{client/rejection.d.ts → rejectionDecoding.d.ts} +4 -4
- package/dist/rejectionDecoding.d.ts.map +1 -0
- package/dist/{client/rejection.js → rejectionDecoding.js} +6 -4
- package/dist/rejectionDecoding.js.map +1 -0
- package/dist/server/EffectProcedureBuilder.d.ts +35 -0
- package/dist/server/EffectProcedureBuilder.d.ts.map +1 -0
- package/dist/server/EffectProcedureBuilder.js +38 -0
- package/dist/server/EffectProcedureBuilder.js.map +1 -0
- package/dist/{request-signal.d.ts → server/RequestSignal.d.ts} +1 -1
- package/dist/server/RequestSignal.d.ts.map +1 -0
- package/dist/{request-signal.js → server/RequestSignal.js} +1 -1
- package/dist/server/RequestSignal.js.map +1 -0
- package/dist/server/adapter.d.ts +29 -0
- package/dist/server/adapter.d.ts.map +1 -0
- package/dist/{adapter.js → server/adapter.js} +3 -3
- package/dist/server/adapter.js.map +1 -0
- package/dist/server/errors.d.ts +11 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/errors.js +27 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/internal/captureStackTrace.d.ts +2 -0
- package/dist/server/internal/captureStackTrace.d.ts.map +1 -0
- package/dist/{internal/stack-trace.js → server/internal/captureStackTrace.js} +4 -4
- package/dist/server/internal/captureStackTrace.js.map +1 -0
- package/dist/{internal/context-bridge.d.ts → server/internal/contextBridge.d.ts} +4 -4
- package/dist/server/internal/contextBridge.d.ts.map +1 -0
- package/dist/{internal/context-bridge.js → server/internal/contextBridge.js} +3 -3
- package/dist/server/internal/contextBridge.js.map +1 -0
- package/dist/server/internal/loose.d.ts +4 -0
- package/dist/server/internal/loose.d.ts.map +1 -0
- package/dist/server/internal/loose.js.map +1 -0
- package/dist/server/internal/makeProcedureHandler.d.ts +6 -0
- package/dist/server/internal/makeProcedureHandler.d.ts.map +1 -0
- package/dist/{internal/procedure-handler.js → server/internal/makeProcedureHandler.js} +3 -3
- package/dist/server/internal/makeProcedureHandler.js.map +1 -0
- package/dist/server/internal/makeSubscriptionHandler.d.ts +7 -0
- package/dist/server/internal/makeSubscriptionHandler.d.ts.map +1 -0
- package/dist/{internal/subscription-handler.js → server/internal/makeSubscriptionHandler.js} +7 -5
- package/dist/server/internal/makeSubscriptionHandler.js.map +1 -0
- package/dist/server/internal/procedureTypes.d.ts +23 -0
- package/dist/server/internal/procedureTypes.d.ts.map +1 -0
- package/dist/server/internal/procedureTypes.js +2 -0
- package/dist/server/internal/procedureTypes.js.map +1 -0
- package/dist/server/internal/runtime.d.ts +20 -0
- package/dist/server/internal/runtime.d.ts.map +1 -0
- package/dist/server/internal/runtime.js +94 -0
- package/dist/server/internal/runtime.js.map +1 -0
- package/dist/{rejection.d.ts → server/rejection.d.ts} +5 -5
- package/dist/server/rejection.d.ts.map +1 -0
- package/dist/{rejection.js → server/rejection.js} +7 -3
- package/dist/server/rejection.js.map +1 -0
- package/dist/{rejection-formatter.d.ts → server/rejectionFormatter.d.ts} +6 -6
- package/dist/server/rejectionFormatter.d.ts.map +1 -0
- package/dist/{rejection-formatter.js → server/rejectionFormatter.js} +13 -9
- package/dist/server/rejectionFormatter.js.map +1 -0
- package/dist/server/requestServices.d.ts +7 -0
- package/dist/server/requestServices.d.ts.map +1 -0
- package/dist/server/requestServices.js +8 -0
- package/dist/server/requestServices.js.map +1 -0
- package/dist/{testing/any-test-layer.d.ts → server/testing/AnyTestLayer.d.ts} +1 -1
- package/dist/server/testing/AnyTestLayer.d.ts.map +1 -0
- package/dist/server/testing/AnyTestLayer.js +2 -0
- package/dist/server/testing/AnyTestLayer.js.map +1 -0
- package/dist/server/testing/caller.d.ts +12 -0
- package/dist/server/testing/caller.d.ts.map +1 -0
- package/dist/server/testing/caller.js +48 -0
- package/dist/server/testing/caller.js.map +1 -0
- package/dist/server/testing/types.d.ts +36 -0
- package/dist/server/testing/types.d.ts.map +1 -0
- package/dist/server/testing/types.js.map +1 -0
- package/dist/server/testing/vitest.d.ts +6 -0
- package/dist/server/testing/vitest.d.ts.map +1 -0
- package/dist/{testing → server/testing}/vitest.js +8 -6
- package/dist/server/testing/vitest.js.map +1 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/{testing → server}/types.js.map +1 -1
- package/docs/north-star.md +48 -0
- package/docs/roadmap.md +33 -0
- package/package.json +198 -22
- package/src/{client/rejection.ts → rejectionDecoding.ts} +7 -5
- package/src/server/EffectProcedureBuilder.ts +134 -0
- package/src/{request-signal.ts → server/RequestSignal.ts} +0 -1
- package/src/server/adapter.ts +83 -0
- package/src/server/errors.ts +26 -0
- package/src/{internal/stack-trace.ts → server/internal/captureStackTrace.ts} +3 -4
- package/src/{internal/context-bridge.ts → server/internal/contextBridge.ts} +4 -8
- package/src/server/internal/loose.ts +12 -0
- package/src/{internal/procedure-handler.ts → server/internal/makeProcedureHandler.ts} +8 -10
- package/src/{internal/subscription-handler.ts → server/internal/makeSubscriptionHandler.ts} +12 -13
- package/src/server/internal/procedureTypes.ts +35 -0
- package/src/server/internal/runtime.ts +131 -0
- package/src/{rejection.ts → server/rejection.ts} +22 -19
- package/src/{rejection-formatter.ts → server/rejectionFormatter.ts} +25 -18
- package/src/server/requestServices.ts +23 -0
- package/src/{testing/any-test-layer.ts → server/testing/AnyTestLayer.ts} +0 -1
- package/src/{testing → server/testing}/caller.ts +28 -33
- package/src/server/testing/types.ts +55 -0
- package/src/{testing → server/testing}/vitest.ts +17 -17
- package/src/{types.ts → server/types.ts} +0 -6
- package/dist/adapter.d.ts +0 -29
- package/dist/adapter.d.ts.map +0 -1
- package/dist/adapter.js.map +0 -1
- package/dist/client/rejection.d.ts.map +0 -1
- package/dist/client/rejection.js.map +0 -1
- package/dist/errors.d.ts +0 -11
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -11
- package/dist/errors.js.map +0 -1
- package/dist/internal/context-bridge.d.ts.map +0 -1
- package/dist/internal/context-bridge.js.map +0 -1
- package/dist/internal/loose.d.ts +0 -4
- package/dist/internal/loose.d.ts.map +0 -1
- package/dist/internal/loose.js.map +0 -1
- package/dist/internal/procedure-handler.d.ts +0 -6
- package/dist/internal/procedure-handler.d.ts.map +0 -1
- package/dist/internal/procedure-handler.js.map +0 -1
- package/dist/internal/procedure-types.d.ts +0 -23
- package/dist/internal/procedure-types.d.ts.map +0 -1
- package/dist/internal/procedure-types.js +0 -2
- package/dist/internal/procedure-types.js.map +0 -1
- package/dist/internal/runtime.d.ts +0 -20
- package/dist/internal/runtime.d.ts.map +0 -1
- package/dist/internal/runtime.js +0 -85
- package/dist/internal/runtime.js.map +0 -1
- package/dist/internal/stack-trace.d.ts +0 -2
- package/dist/internal/stack-trace.d.ts.map +0 -1
- package/dist/internal/stack-trace.js.map +0 -1
- package/dist/internal/subscription-handler.d.ts +0 -7
- package/dist/internal/subscription-handler.d.ts.map +0 -1
- package/dist/internal/subscription-handler.js.map +0 -1
- package/dist/procedure.d.ts +0 -36
- package/dist/procedure.d.ts.map +0 -1
- package/dist/procedure.js +0 -38
- package/dist/procedure.js.map +0 -1
- package/dist/rejection-formatter.d.ts.map +0 -1
- package/dist/rejection-formatter.js.map +0 -1
- package/dist/rejection.d.ts.map +0 -1
- package/dist/rejection.js.map +0 -1
- package/dist/request-services.d.ts +0 -7
- package/dist/request-services.d.ts.map +0 -1
- package/dist/request-services.js +0 -4
- package/dist/request-services.js.map +0 -1
- package/dist/request-signal.d.ts.map +0 -1
- package/dist/request-signal.js.map +0 -1
- package/dist/testing/any-test-layer.d.ts.map +0 -1
- package/dist/testing/any-test-layer.js +0 -2
- package/dist/testing/any-test-layer.js.map +0 -1
- package/dist/testing/caller.d.ts +0 -12
- package/dist/testing/caller.d.ts.map +0 -1
- package/dist/testing/caller.js +0 -42
- package/dist/testing/caller.js.map +0 -1
- package/dist/testing/types.d.ts +0 -36
- package/dist/testing/types.d.ts.map +0 -1
- package/dist/testing/vitest.d.ts +0 -6
- package/dist/testing/vitest.d.ts.map +0 -1
- package/dist/testing/vitest.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/adapter.ts +0 -72
- package/src/errors.ts +0 -19
- package/src/internal/loose.ts +0 -14
- package/src/internal/procedure-types.ts +0 -44
- package/src/internal/runtime.ts +0 -134
- package/src/procedure.ts +0 -142
- package/src/request-services.ts +0 -23
- package/src/testing/types.ts +0 -63
- /package/dist/{internal → server/internal}/loose.js +0 -0
- /package/dist/{testing → server/testing}/types.js +0 -0
- /package/dist/{types.d.ts → server/types.d.ts} +0 -0
- /package/dist/{types.js → server/types.js} +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TRPCMutationProcedure, TRPCQueryProcedure, TRPCSubscriptionProcedure } from "@trpc/server";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
import type { DefaultValue, EffectProcedureResolver, EffectSubscriptionResolver, IntersectIfDefined, ProcedureBuilderSurface, ResolverContext } from "#internal/procedure-types.ts";
|
|
4
|
+
import type { RuntimeBridge } from "#internal/runtime.ts";
|
|
5
|
+
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
6
|
+
interface ProcedureParts<TContext, TMeta, TContextOverrides, TProvidedServices, TLayerError, TRuntimeRequirements> {
|
|
7
|
+
readonly builder: ProcedureBuilderSurface<ResolverContext<TContext, TMeta, TContextOverrides>>;
|
|
8
|
+
readonly requestServices: EffectProcedureRequestServices<ResolverContext<TContext, TMeta, TContextOverrides>, TProvidedServices, TLayerError>;
|
|
9
|
+
readonly runtime: RuntimeBridge<TRuntimeRequirements>;
|
|
10
|
+
readonly subscriptionBuilder: ProcedureBuilderSurface<ResolverContext<TContext, TMeta, TContextOverrides>>;
|
|
11
|
+
readonly subscriptionOutput?: Schema.ConstraintDecoder<unknown> | undefined;
|
|
12
|
+
}
|
|
13
|
+
export declare class EffectProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TProvidedServices, TLayerError, TRuntimeRequirements> {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(parts: ProcedureParts<TContext, TMeta, TContextOverrides, TProvidedServices, TLayerError, TRuntimeRequirements>);
|
|
16
|
+
input<TSchemaValue extends Schema.ConstraintDecoder<unknown>>(schema: TSchemaValue): EffectProcedureBuilder<TContext, TMeta, TContextOverrides, IntersectIfDefined<TInputIn, TSchemaValue["Encoded"]>, IntersectIfDefined<TInputOut, TSchemaValue["Type"]>, TOutputIn, TOutputOut, TProvidedServices, TLayerError, TRuntimeRequirements>;
|
|
17
|
+
output<TSchemaValue extends Schema.ConstraintDecoder<unknown>>(schema: TSchemaValue): EffectProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, IntersectIfDefined<TOutputIn, TSchemaValue["Encoded"]>, IntersectIfDefined<TOutputOut, TSchemaValue["Type"]>, TProvidedServices, TLayerError, TRuntimeRequirements>;
|
|
18
|
+
query<TOutput>(resolver: EffectProcedureResolver<DefaultValue<TInputOut, undefined>, TProvidedServices | NoInfer<TRuntimeRequirements>, DefaultValue<TOutputIn, TOutput>>): TRPCQueryProcedure<{
|
|
19
|
+
input: DefaultValue<TInputIn, void>;
|
|
20
|
+
output: DefaultValue<TOutputOut, TOutput>;
|
|
21
|
+
meta: TMeta;
|
|
22
|
+
}>;
|
|
23
|
+
mutation<TOutput>(resolver: EffectProcedureResolver<DefaultValue<TInputOut, undefined>, TProvidedServices | NoInfer<TRuntimeRequirements>, DefaultValue<TOutputIn, TOutput>>): TRPCMutationProcedure<{
|
|
24
|
+
input: DefaultValue<TInputIn, void>;
|
|
25
|
+
output: DefaultValue<TOutputOut, TOutput>;
|
|
26
|
+
meta: TMeta;
|
|
27
|
+
}>;
|
|
28
|
+
subscription<TOutput>(resolver: EffectSubscriptionResolver<DefaultValue<TInputOut, undefined>, TProvidedServices | NoInfer<TRuntimeRequirements>, DefaultValue<TOutputIn, TOutput>>): TRPCSubscriptionProcedure<{
|
|
29
|
+
input: DefaultValue<TInputIn, void>;
|
|
30
|
+
output: AsyncIterable<DefaultValue<TOutputOut, TOutput>, void, unknown>;
|
|
31
|
+
meta: TMeta;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=EffectProcedureBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EffectProcedureBuilder.d.ts","sourceRoot":"","sources":["../../src/server/EffectProcedureBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { makeProcedureHandler } from "#internal/procedure-handler.ts";
|
|
3
|
+
import { captureStackTrace } from "#internal/stack-trace.ts";
|
|
4
|
+
import { makeSubscriptionHandler } from "#internal/subscription-handler.ts";
|
|
5
|
+
export class EffectProcedureBuilder {
|
|
6
|
+
#parts;
|
|
7
|
+
constructor(parts) {
|
|
8
|
+
this.#parts = parts;
|
|
9
|
+
}
|
|
10
|
+
input(schema) {
|
|
11
|
+
const parser = Schema.toStandardSchemaV1(schema);
|
|
12
|
+
return new EffectProcedureBuilder({
|
|
13
|
+
...this.#parts,
|
|
14
|
+
builder: this.#parts.builder.input(parser),
|
|
15
|
+
subscriptionBuilder: this.#parts.subscriptionBuilder.input(parser),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
output(schema) {
|
|
19
|
+
return new EffectProcedureBuilder({
|
|
20
|
+
...this.#parts,
|
|
21
|
+
builder: this.#parts.builder.output(Schema.toStandardSchemaV1(schema)),
|
|
22
|
+
subscriptionOutput: schema,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
query(resolver) {
|
|
26
|
+
return this.#parts.builder.query(this.#handler("query", resolver));
|
|
27
|
+
}
|
|
28
|
+
mutation(resolver) {
|
|
29
|
+
return this.#parts.builder.mutation(this.#handler("mutation", resolver));
|
|
30
|
+
}
|
|
31
|
+
subscription(resolver) {
|
|
32
|
+
return this.#parts.subscriptionBuilder.subscription(makeSubscriptionHandler(this.#parts.runtime, resolver, this.#parts.requestServices, { captureStackTrace: captureStackTrace(), type: "subscription" }, this.#parts.subscriptionOutput));
|
|
33
|
+
}
|
|
34
|
+
#handler(type, resolver) {
|
|
35
|
+
return makeProcedureHandler(this.#parts.runtime, resolver, this.#parts.requestServices, { captureStackTrace: captureStackTrace(), type });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=EffectProcedureBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EffectProcedureBuilder.js","sourceRoot":"","sources":["../../src/server/EffectProcedureBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAUtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAU5E,MAAM,OAAO,sBAAsB;IAYzB,MAAM,CAA2G;IAC1H,YAAY,KAA+G;QAC1H,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,KAAK,CACJ,MAAoB;QAapB,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,sBAAsB,CAAC;YACjC,GAAG,IAAI,CAAC,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1C,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;SAClE,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,CACL,MAAoB;QAapB,OAAO,IAAI,sBAAsB,CAAC;YACjC,GAAG,IAAI,CAAC,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtE,kBAAkB,EAAE,MAAM;SAC1B,CAAC,CAAC;IACJ,CAAC;IAYD,KAAK,CAAC,QAA2F;QAChG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IAYD,QAAQ,CAAC,QAA2F;QACnG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1E,CAAC;IAYD,YAAY,CAAC,QAA8F;QAC1G,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAClD,uBAAuB,CACtB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAChE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC9B,CACD,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAA0B,EAAE,QAA2F;QAC/H,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3I,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestSignal.d.ts","sourceRoot":"","sources":["../../src/server/RequestSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,eAAO,MAAM,aAAa,4CAAwH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestSignal.js","sourceRoot":"","sources":["../../src/server/RequestSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAA0B,sCAAsC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TRPCProcedureBuilder } from "@trpc/server";
|
|
2
|
+
import type { Context, Effect, Exit } from "effect";
|
|
3
|
+
import type { ResolverContext } from "#internal/procedure-types.ts";
|
|
4
|
+
import { EffectProcedureBuilder } from "./EffectProcedureBuilder.ts";
|
|
5
|
+
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
6
|
+
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, EffectTRPCStreamInstrument } from "./types.ts";
|
|
7
|
+
export interface MakeEffectTRPCOptions<TRequirements, TRuntimeError> {
|
|
8
|
+
readonly instrument?: EffectTRPCInstrument;
|
|
9
|
+
readonly instrumentStream?: EffectTRPCStreamInstrument;
|
|
10
|
+
readonly mapError?: EffectTRPCErrorMapper;
|
|
11
|
+
readonly runtime: EffectTRPCRuntime<TRequirements, TRuntimeError>;
|
|
12
|
+
}
|
|
13
|
+
export interface EffectTRPCRuntime<TRequirements, TRuntimeError> {
|
|
14
|
+
readonly contextEffect: Effect.Effect<Context.Context<TRequirements>, TRuntimeError>;
|
|
15
|
+
readonly currentServices?: () => Context.Context<never> | undefined;
|
|
16
|
+
readonly runPromise: <TValue, TError>(effect: Effect.Effect<TValue, TError, TRequirements>, options?: {
|
|
17
|
+
readonly signal?: AbortSignal;
|
|
18
|
+
}) => Promise<TValue>;
|
|
19
|
+
readonly runPromiseExit: <TValue, TError>(effect: Effect.Effect<TValue, TError, TRequirements>, options?: {
|
|
20
|
+
readonly signal?: AbortSignal;
|
|
21
|
+
}) => Promise<Exit.Exit<TValue, TError | TRuntimeError>>;
|
|
22
|
+
readonly runWithServices?: <TServices, TValue>(services: Context.Context<TServices>, evaluate: () => TValue) => TValue;
|
|
23
|
+
}
|
|
24
|
+
export interface EffectTRPCAdapter<TRequirements> {
|
|
25
|
+
readonly procedure: <TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TProvidedServices, TLayerError>(builder: TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, false>, requestServices: EffectProcedureRequestServices<ResolverContext<TContext, TMeta, TContextOverrides>, TProvidedServices, TLayerError>) => EffectProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, TProvidedServices, TLayerError, TRequirements>;
|
|
26
|
+
readonly runWithServices: <TServices, TValue>(services: Context.Context<TServices>, evaluate: () => TValue) => TValue;
|
|
27
|
+
}
|
|
28
|
+
export declare function makeEffectTRPC<TRequirements, TRuntimeError = never>(options: MakeEffectTRPCOptions<TRequirements, TRuntimeError>): EffectTRPCAdapter<TRequirements>;
|
|
29
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/server/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE1G,MAAM,WAAW,qBAAqB,CAAC,aAAa,EAAE,aAAa;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAClE;AACD,MAAM,WAAW,iBAAiB,CAAC,aAAa,EAAE,aAAa;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EACnC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EACpD,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,KACG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EACpD,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC9B,KACG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAM,KAAK,MAAM,CAAC;CACvH;AACD,MAAM,WAAW,iBAAiB,CAAC,aAAa;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAClI,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EACpH,eAAe,EAAE,8BAA8B,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,WAAW,CAAC,KAChI,sBAAsB,CAC1B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,aAAa,CACb,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAM,KAAK,MAAM,CAAC;CACtH;AACD,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK,EAClE,OAAO,EAAE,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,GAC1D,iBAAiB,CAAC,aAAa,CAAC,CA6BlC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { makeContextBridge } from "#internal/context-bridge.ts";
|
|
2
2
|
import { looseBuilder } from "#internal/loose.ts";
|
|
3
3
|
import { makeRuntimeBridge } from "#internal/runtime.ts";
|
|
4
|
-
import { EffectProcedureBuilder } from "./
|
|
5
|
-
export
|
|
4
|
+
import { EffectProcedureBuilder } from "./EffectProcedureBuilder.js";
|
|
5
|
+
export function makeEffectTRPC(options) {
|
|
6
6
|
const contextBridge = makeContextBridge(options.runtime);
|
|
7
7
|
const runtime = makeRuntimeBridge(options.runtime, contextBridge, options);
|
|
8
8
|
return {
|
|
@@ -17,5 +17,5 @@ export const makeEffectTRPC = (options) => {
|
|
|
17
17
|
},
|
|
18
18
|
runWithServices: contextBridge.run,
|
|
19
19
|
};
|
|
20
|
-
}
|
|
20
|
+
}
|
|
21
21
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/server/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AA6CrE,MAAM,UAAU,cAAc,CAC7B,OAA4D;IAE5D,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3E,OAAO;QACN,SAAS,EAAE,CACV,OAAoH,EACpH,eAAoI,EACnI,EAAE;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,sBAAsB,CAW/B;gBACD,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,OAAO;gBACP,mBAAmB,EAAE,KAAK;aAC1B,CAAC,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,aAAa,CAAC,GAAG;KAClC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TRPCError } from "@trpc/server";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
export declare function fail(code: TRPCError["code"], message: string, cause?: unknown): Effect.Effect<never, TRPCError>;
|
|
4
|
+
export declare function badRequest(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
5
|
+
export declare function unauthorized(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
6
|
+
export declare function forbidden(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
7
|
+
export declare function notFound(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
8
|
+
export declare function conflict(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
9
|
+
export declare function preconditionFailed(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
10
|
+
export declare function internalServerError(message: string, cause?: unknown): Effect.Effect<never, TRPCError, never>;
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/server/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAE/G;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAE1D;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAE5D;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAEzD;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAExD;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAExD;AACD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAElE;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,0CAEnE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TRPCError } from "@trpc/server";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
export function fail(code, message, cause) {
|
|
4
|
+
return Effect.fail(new TRPCError({ cause, code, message }));
|
|
5
|
+
}
|
|
6
|
+
export function badRequest(message, cause) {
|
|
7
|
+
return fail("BAD_REQUEST", message, cause);
|
|
8
|
+
}
|
|
9
|
+
export function unauthorized(message, cause) {
|
|
10
|
+
return fail("UNAUTHORIZED", message, cause);
|
|
11
|
+
}
|
|
12
|
+
export function forbidden(message, cause) {
|
|
13
|
+
return fail("FORBIDDEN", message, cause);
|
|
14
|
+
}
|
|
15
|
+
export function notFound(message, cause) {
|
|
16
|
+
return fail("NOT_FOUND", message, cause);
|
|
17
|
+
}
|
|
18
|
+
export function conflict(message, cause) {
|
|
19
|
+
return fail("CONFLICT", message, cause);
|
|
20
|
+
}
|
|
21
|
+
export function preconditionFailed(message, cause) {
|
|
22
|
+
return fail("PRECONDITION_FAILED", message, cause);
|
|
23
|
+
}
|
|
24
|
+
export function internalServerError(message, cause) {
|
|
25
|
+
return fail("INTERNAL_SERVER_ERROR", message, cause);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/server/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,MAAM,UAAU,IAAI,CAAC,IAAuB,EAAE,OAAe,EAAE,KAAe;IAC7E,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,KAAe;IAC1D,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAe;IAC5D,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,KAAe;IACzD,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAe;IACxD,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAe;IACxD,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,KAAe;IAClE,OAAO,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,KAAe;IACnE,OAAO,IAAI,CAAC,uBAAuB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captureStackTrace.d.ts","sourceRoot":"","sources":["../../../src/server/internal/captureStackTrace.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,IAAI,MAAM,MAAM,GAAG,SAAS,CAiB5D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export function captureStackTrace() {
|
|
2
2
|
const limit = Error.stackTraceLimit;
|
|
3
3
|
Error.stackTraceLimit = 3;
|
|
4
|
-
const traceError = new Error();
|
|
4
|
+
const traceError = new Error("Procedure definition");
|
|
5
5
|
Error.stackTraceLimit = limit;
|
|
6
6
|
let cache = false;
|
|
7
7
|
return () => {
|
|
@@ -15,5 +15,5 @@ export const captureStackTrace = () => {
|
|
|
15
15
|
}
|
|
16
16
|
return undefined;
|
|
17
17
|
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=captureStackTrace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captureStackTrace.js","sourceRoot":"","sources":["../../../src/server/internal/captureStackTrace.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC;IACpC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrD,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK,GAAmB,KAAK,CAAC;IAClC,OAAO,GAAG,EAAE;QACX,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Context } from "effect";
|
|
2
2
|
export interface ContextBridge {
|
|
3
3
|
readonly current: () => Context.Context<never> | undefined;
|
|
4
|
-
readonly run: <
|
|
4
|
+
readonly run: <TServices, TValue>(services: Context.Context<TServices>, evaluate: () => TValue) => TValue;
|
|
5
5
|
}
|
|
6
|
-
export declare
|
|
6
|
+
export declare function makeContextBridge(shared?: {
|
|
7
7
|
readonly currentServices?: ContextBridge["current"];
|
|
8
8
|
readonly runWithServices?: ContextBridge["run"];
|
|
9
|
-
})
|
|
10
|
-
//# sourceMappingURL=
|
|
9
|
+
}): ContextBridge;
|
|
10
|
+
//# sourceMappingURL=contextBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextBridge.d.ts","sourceRoot":"","sources":["../../../src/server/internal/contextBridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAM,KAAK,MAAM,CAAC;CAC1G;AACD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAChD,GAAG,aAAa,CAYhB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
export
|
|
2
|
+
export function makeContextBridge(shared) {
|
|
3
3
|
if (shared?.currentServices !== undefined && shared.runWithServices !== undefined) {
|
|
4
4
|
return {
|
|
5
5
|
current: shared.currentServices,
|
|
@@ -11,5 +11,5 @@ export const makeContextBridge = (shared) => {
|
|
|
11
11
|
current: () => storage.getStore(),
|
|
12
12
|
run: (services, evaluate) => storage.run(services, evaluate),
|
|
13
13
|
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=contextBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextBridge.js","sourceRoot":"","sources":["../../../src/server/internal/contextBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMrD,MAAM,UAAU,iBAAiB,CAAC,MAGjC;IACA,IAAI,MAAM,EAAE,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACnF,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,eAAe;YAC/B,GAAG,EAAE,MAAM,CAAC,eAAe;SAC3B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAA0B,CAAC;IAChE,OAAO;QACN,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC5D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ProcedureBuilderOf, ProcedureBuilderSurface, ResolverContext } from "./procedureTypes.ts";
|
|
2
|
+
export declare function looseBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut>(builder: ProcedureBuilderOf<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut>): ProcedureBuilderSurface<ResolverContext<TContext, TMeta, TContextOverrides>>;
|
|
3
|
+
export declare function acceptParsedInput<TResult>(resolver: (input: never) => TResult): (input: unknown) => TResult;
|
|
4
|
+
//# sourceMappingURL=loose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loose.d.ts","sourceRoot":"","sources":["../../../src/server/internal/loose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAC1G,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,GACzG,uBAAuB,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAKhF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loose.js","sourceRoot":"","sources":["../../../src/server/internal/loose.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,OAAO,OAAO,CAAC;AAChB,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IAClD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EffectProcedureRequestServices } from "#request-services.ts";
|
|
2
|
+
import type { ProcedureInfo } from "#types.ts";
|
|
3
|
+
import type { EffectProcedureResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
4
|
+
import type { RuntimeBridge } from "./runtime.ts";
|
|
5
|
+
export declare function makeProcedureHandler<TRuntimeRequirements, TContext, TProvidedServices, TLayerError>(runtime: RuntimeBridge<TRuntimeRequirements>, resolver: EffectProcedureResolver<never, TProvidedServices | NoInfer<TRuntimeRequirements>, unknown>, requestServices: EffectProcedureRequestServices<TContext, TProvidedServices, TLayerError>, procedure: Omit<ProcedureInfo, "path">): (invocation: ProcedureInvocation<TContext>) => Promise<unknown>;
|
|
6
|
+
//# sourceMappingURL=makeProcedureHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeProcedureHandler.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeProcedureHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,wBAAgB,oBAAoB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAClG,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,QAAQ,EAAE,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,EACpG,eAAe,EAAE,8BAA8B,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,EACzF,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,gBAGZ,mBAAmB,CAAC,QAAQ,CAAC,sBAUvD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { acceptParsedInput } from "./loose.js";
|
|
3
|
-
export
|
|
3
|
+
export function makeProcedureHandler(runtime, resolver, requestServices, procedure) {
|
|
4
4
|
const tracedResolver = Effect.fnUntraced(acceptParsedInput(resolver));
|
|
5
5
|
return async (invocation) => {
|
|
6
6
|
const info = { ...procedure, path: invocation.path };
|
|
@@ -10,5 +10,5 @@ export const makeProcedureHandler = (runtime, resolver, requestServices, procedu
|
|
|
10
10
|
...(invocation.signal === undefined ? {} : { signal: invocation.signal }),
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=makeProcedureHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeProcedureHandler.js","sourceRoot":"","sources":["../../../src/server/internal/makeProcedureHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,UAAU,oBAAoB,CACnC,OAA4C,EAC5C,QAAoG,EACpG,eAAyF,EACzF,SAAsC;IAEtC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,OAAO,KAAK,EAAE,UAAyC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CACpC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CACtH,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxC,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;SACzE,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import type { EffectProcedureRequestServices } from "#request-services.ts";
|
|
3
|
+
import type { ProcedureInfo } from "#types.ts";
|
|
4
|
+
import type { EffectSubscriptionResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
5
|
+
import type { RuntimeBridge } from "./runtime.ts";
|
|
6
|
+
export declare function makeSubscriptionHandler<TRuntimeRequirements, TContext, TProvidedServices, TLayerError>(runtime: RuntimeBridge<TRuntimeRequirements>, resolver: EffectSubscriptionResolver<never, TProvidedServices | NoInfer<TRuntimeRequirements>, unknown>, requestServices: EffectProcedureRequestServices<TContext, TProvidedServices, TLayerError>, procedure: Omit<ProcedureInfo, "path">, outputSchema?: Schema.ConstraintDecoder<unknown>): (invocation: ProcedureInvocation<TContext>) => Promise<AsyncIterable<unknown>>;
|
|
7
|
+
//# sourceMappingURL=makeSubscriptionHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeSubscriptionHandler.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeSubscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAU,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,wBAAgB,uBAAuB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EACrG,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,QAAQ,EAAE,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,EACvG,eAAe,EAAE,8BAA8B,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,EACzF,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EACtC,YAAY,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAGtB,mBAAmB,CAAC,QAAQ,CAAC,qCAYvD"}
|
package/dist/{internal/subscription-handler.js → server/internal/makeSubscriptionHandler.js}
RENAMED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Effect, Layer, Schema, Stream } from "effect";
|
|
2
2
|
import { RequestSignal } from "#request-signal.ts";
|
|
3
3
|
import { acceptParsedInput } from "./loose.js";
|
|
4
|
-
export
|
|
4
|
+
export function makeSubscriptionHandler(runtime, resolver, requestServices, procedure, outputSchema) {
|
|
5
5
|
const tracedResolver = Effect.fnUntraced(acceptParsedInput(resolver));
|
|
6
6
|
return async (invocation) => {
|
|
7
7
|
const info = { ...procedure, path: invocation.path };
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const stream = Stream.suspend(() => {
|
|
9
|
+
const requestLayer = Layer.merge(requestServices.layer(invocation.ctx), Layer.succeed(RequestSignal, invocation.signal));
|
|
10
|
+
return Stream.unwrap(Effect.suspend(() => runtime.instrument(tracedResolver(invocation.input), info))).pipe(Stream.provide(requestLayer));
|
|
11
|
+
});
|
|
10
12
|
const decoded = outputSchema === undefined ? stream : Stream.mapEffect(stream, (value) => Schema.decodeUnknownEffect(outputSchema)(value));
|
|
11
13
|
return await runtime.runStream(decoded, {
|
|
12
14
|
procedure: info,
|
|
13
15
|
...(invocation.signal === undefined ? {} : { signal: invocation.signal }),
|
|
14
16
|
});
|
|
15
17
|
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=makeSubscriptionHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeSubscriptionHandler.js","sourceRoot":"","sources":["../../../src/server/internal/makeSubscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,UAAU,uBAAuB,CACtC,OAA4C,EAC5C,QAAuG,EACvG,eAAyF,EACzF,SAAsC,EACtC,YAAgD;IAEhD,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,OAAO,KAAK,EAAE,UAAyC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YACzH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3I,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3I,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;YACvC,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;SACzE,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { inferProcedureBuilderResolverOptions, TRPCProcedureBuilder, TRPCUnsetMarker } from "@trpc/server";
|
|
2
|
+
import type { Effect, StandardSchema, Stream } from "effect";
|
|
3
|
+
export type ProcedureBuilderOf<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut> = TRPCProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut, false>;
|
|
4
|
+
export type DefaultValue<TValue, TFallback> = TValue extends TRPCUnsetMarker ? TFallback : TValue;
|
|
5
|
+
export type IntersectIfDefined<TValue, TWith> = TValue extends TRPCUnsetMarker ? TWith : TWith extends TRPCUnsetMarker ? TValue : TValue & TWith;
|
|
6
|
+
export type ResolverContext<TContext, TMeta, TContextOverrides> = inferProcedureBuilderResolverOptions<ProcedureBuilderOf<TContext, TMeta, TContextOverrides, TRPCUnsetMarker, TRPCUnsetMarker, TRPCUnsetMarker, TRPCUnsetMarker>>["ctx"];
|
|
7
|
+
export type ProcedureEffect<TRequirements> = Effect.Effect<unknown, unknown, TRequirements>;
|
|
8
|
+
export type EffectProcedureResolver<TInput, TRequirements, TOutput> = (input: TInput) => Generator<ProcedureEffect<TRequirements>, TOutput, never>;
|
|
9
|
+
export type EffectSubscriptionResolver<TInput, TRequirements, TOutput> = (input: TInput) => Generator<ProcedureEffect<TRequirements>, Stream.Stream<TOutput, unknown, TRequirements>, never>;
|
|
10
|
+
export interface ProcedureInvocation<TContext> {
|
|
11
|
+
readonly ctx: TContext;
|
|
12
|
+
readonly input: unknown;
|
|
13
|
+
readonly path: string;
|
|
14
|
+
readonly signal: AbortSignal | undefined;
|
|
15
|
+
}
|
|
16
|
+
export interface ProcedureBuilderSurface<TContext> {
|
|
17
|
+
input: (schema: StandardSchema.StandardSchemaV1) => ProcedureBuilderSurface<TContext>;
|
|
18
|
+
mutation: (resolver: (invocation: ProcedureInvocation<TContext>) => Promise<unknown>) => unknown;
|
|
19
|
+
output: (schema: StandardSchema.StandardSchemaV1) => ProcedureBuilderSurface<TContext>;
|
|
20
|
+
query: (resolver: (invocation: ProcedureInvocation<TContext>) => Promise<unknown>) => unknown;
|
|
21
|
+
subscription: (resolver: (invocation: ProcedureInvocation<TContext>) => Promise<AsyncIterable<unknown, void, unknown>>) => unknown;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=procedureTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedureTypes.d.ts","sourceRoot":"","sources":["../../../src/server/internal/procedureTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oCAAoC,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7D,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,IAAI,oBAAoB,CACpI,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,KAAK,CACL,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,SAAS,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;AAClG,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,SAAS,eAAe,GAAG,KAAK,GAAG,KAAK,SAAS,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AACjJ,MAAM,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,IAAI,oCAAoC,CACrG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAC1H,CAAC,KAAK,CAAC,CAAC;AACT,MAAM,MAAM,eAAe,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5F,MAAM,MAAM,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACnJ,MAAM,MAAM,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,IAAI,CACxE,KAAK,EAAE,MAAM,KACT,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;AACtG,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC5C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;CACzC;AACD,MAAM,WAAW,uBAAuB,CAAC,QAAQ;IAChD,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACtF,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IACjG,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,KAAK,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACvF,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAC9F,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC;CACnI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedureTypes.js","sourceRoot":"","sources":["../../../src/server/internal/procedureTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Effect, Stream } from "effect";
|
|
2
|
+
import type { EffectTRPCRuntime } from "#adapter.ts";
|
|
3
|
+
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, ProcedureInfo } from "#types.ts";
|
|
4
|
+
import type { ContextBridge } from "./contextBridge.ts";
|
|
5
|
+
interface RunEffectOptions {
|
|
6
|
+
readonly procedure: ProcedureInfo;
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export interface RuntimeBridge<TRequirements> {
|
|
10
|
+
readonly instrument: EffectTRPCInstrument;
|
|
11
|
+
readonly runEffect: <TValue>(effect: Effect.Effect<TValue, unknown, TRequirements>, options: RunEffectOptions) => Promise<TValue>;
|
|
12
|
+
readonly runStream: <TValue>(stream: Stream.Stream<TValue, unknown, TRequirements>, options: RunEffectOptions) => Promise<AsyncIterable<TValue>>;
|
|
13
|
+
}
|
|
14
|
+
export declare function makeRuntimeBridge<TRequirements, TRuntimeError>(runtime: EffectTRPCRuntime<TRequirements, TRuntimeError>, contextBridge: ContextBridge, options: {
|
|
15
|
+
readonly instrument?: EffectTRPCInstrument;
|
|
16
|
+
readonly instrumentStream?: import("#types.ts").EffectTRPCStreamInstrument;
|
|
17
|
+
readonly mapError?: EffectTRPCErrorMapper;
|
|
18
|
+
}): RuntimeBridge<TRequirements>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/server/internal/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,MAAM,EAAwB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,UAAU,gBAAgB;IACzB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC9B;AACD,MAAM,WAAW,aAAa,CAAC,aAAa;IAC3C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClI,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CACjJ;AAwDD,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAC7D,OAAO,EAAE,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,EACxD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE;IACR,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,WAAW,EAAE,0BAA0B,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC1C,GACC,aAAa,CAAC,aAAa,CAAC,CAoD9B"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { TRPCError } from "@trpc/server";
|
|
2
|
+
import { Cause, Context, Effect, Exit, Option, Result, Stream } from "effect";
|
|
3
|
+
function internalError(cause) {
|
|
4
|
+
return new TRPCError({
|
|
5
|
+
cause,
|
|
6
|
+
code: "INTERNAL_SERVER_ERROR",
|
|
7
|
+
message: "Internal server error",
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function mapError(error, origin, procedure, consumerMapper) {
|
|
11
|
+
if (error instanceof TRPCError) {
|
|
12
|
+
return error;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
return consumerMapper?.(error, { ...procedure, origin }) ?? internalError(error);
|
|
16
|
+
}
|
|
17
|
+
catch (mapperDefect) {
|
|
18
|
+
return internalError(mapperDefect);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function mapCause(cause, procedure, consumerMapper) {
|
|
22
|
+
if (Cause.hasInterruptsOnly(cause)) {
|
|
23
|
+
return new TRPCError({
|
|
24
|
+
code: "CLIENT_CLOSED_REQUEST",
|
|
25
|
+
message: "Request cancelled",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const failure = Cause.findErrorOption(cause);
|
|
29
|
+
if (Option.isSome(failure)) {
|
|
30
|
+
return mapError(failure.value, "failure", procedure, consumerMapper);
|
|
31
|
+
}
|
|
32
|
+
const defect = Cause.findDefect(cause);
|
|
33
|
+
if (Result.isSuccess(defect)) {
|
|
34
|
+
return mapError(defect.success, "defect", procedure, consumerMapper);
|
|
35
|
+
}
|
|
36
|
+
return internalError();
|
|
37
|
+
}
|
|
38
|
+
function interruptOn(signal) {
|
|
39
|
+
if (signal === undefined) {
|
|
40
|
+
return Effect.never;
|
|
41
|
+
}
|
|
42
|
+
return Effect.callback((resume) => {
|
|
43
|
+
if (signal.aborted) {
|
|
44
|
+
resume(Effect.void);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
function abort() {
|
|
48
|
+
return resume(Effect.void);
|
|
49
|
+
}
|
|
50
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
51
|
+
return Effect.sync(() => signal.removeEventListener("abort", abort));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
export function makeRuntimeBridge(runtime, contextBridge, options) {
|
|
55
|
+
return {
|
|
56
|
+
instrument: (effect, procedure) => Effect.suspend(() => (options.instrument === undefined ? effect : options.instrument(effect, procedure))),
|
|
57
|
+
runEffect: async (effect, runOptions) => {
|
|
58
|
+
const traced = effect.pipe(Effect.withSpan(runOptions.procedure.path, {
|
|
59
|
+
attributes: {
|
|
60
|
+
"rpc.method": runOptions.procedure.path,
|
|
61
|
+
"rpc.system": "trpc",
|
|
62
|
+
"trpc.type": runOptions.procedure.type,
|
|
63
|
+
},
|
|
64
|
+
}, {
|
|
65
|
+
captureStackTrace: runOptions.procedure.captureStackTrace,
|
|
66
|
+
}));
|
|
67
|
+
const ambient = contextBridge.current();
|
|
68
|
+
const runnable = ambient === undefined ? traced : Effect.flatMap(runtime.contextEffect, (base) => Effect.provideContext(traced, Context.merge(base, ambient)));
|
|
69
|
+
const exit = await runtime.runPromiseExit(runnable, runOptions.signal === undefined ? undefined : { signal: runOptions.signal });
|
|
70
|
+
if (Exit.isSuccess(exit)) {
|
|
71
|
+
return exit.value;
|
|
72
|
+
}
|
|
73
|
+
throw mapCause(exit.cause, runOptions.procedure, options.mapError);
|
|
74
|
+
},
|
|
75
|
+
runStream: async (stream, runOptions) => {
|
|
76
|
+
const instrumented = Stream.suspend(() => options.instrumentStream === undefined ? stream : options.instrumentStream(stream, runOptions.procedure)).pipe(Stream.withSpan(runOptions.procedure.path, {
|
|
77
|
+
attributes: {
|
|
78
|
+
"rpc.method": runOptions.procedure.path,
|
|
79
|
+
"rpc.system": "trpc",
|
|
80
|
+
"trpc.type": runOptions.procedure.type,
|
|
81
|
+
},
|
|
82
|
+
captureStackTrace: runOptions.procedure.captureStackTrace,
|
|
83
|
+
}), Stream.interruptWhen(interruptOn(runOptions.signal)), Stream.catchCause((cause) => Stream.fail(mapCause(cause, runOptions.procedure, options.mapError))));
|
|
84
|
+
const exit = await runtime.runPromiseExit(Effect.context());
|
|
85
|
+
if (Exit.isFailure(exit)) {
|
|
86
|
+
throw mapCause(exit.cause, runOptions.procedure, options.mapError);
|
|
87
|
+
}
|
|
88
|
+
const ambient = contextBridge.current();
|
|
89
|
+
const provided = ambient === undefined ? exit.value : Context.merge(exit.value, ambient);
|
|
90
|
+
return Stream.toAsyncIterableWith(instrumented, provided);
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/server/internal/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TRPC_ERROR_CODE_KEY, TRPCError } from "@trpc/server";
|
|
2
2
|
import { Effect, Schema } from "effect";
|
|
3
|
-
export declare
|
|
3
|
+
export declare function rejectionCode(tag: string): TRPC_ERROR_CODE_KEY;
|
|
4
4
|
declare const DeclaredRejection: Schema.StructWithRest<Schema.Struct<{
|
|
5
5
|
readonly _tag: Schema.String;
|
|
6
6
|
}>, readonly [Schema.$Record<Schema.String, Schema.Unknown>]>;
|
|
@@ -16,11 +16,11 @@ export declare class RejectionError extends TRPCError {
|
|
|
16
16
|
readonly rejection: DeclaredRejection;
|
|
17
17
|
constructor(rejection: DeclaredRejection, code?: TRPC_ERROR_CODE_KEY);
|
|
18
18
|
}
|
|
19
|
-
export interface RejectWithOptions<
|
|
20
|
-
readonly code?: (tag:
|
|
19
|
+
export interface RejectWithOptions<TTag extends string> {
|
|
20
|
+
readonly code?: (tag: TTag) => TRPC_ERROR_CODE_KEY;
|
|
21
21
|
}
|
|
22
|
-
export declare function rejectWith<
|
|
22
|
+
export declare function rejectWith<TSession extends Schema.ConstraintCodec<{
|
|
23
23
|
readonly _tag: string;
|
|
24
|
-
}, DeclaredEncoding, unknown, unknown>>(schema:
|
|
24
|
+
}, DeclaredEncoding, unknown, unknown>>(schema: TSession, options?: RejectWithOptions<TSession["Type"]["_tag"]>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, Exclude<E, TSession["Type"]> | RejectionError, R | TSession["EncodingServices"]>;
|
|
25
25
|
export {};
|
|
26
26
|
//# sourceMappingURL=rejection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rejection.d.ts","sourceRoot":"","sources":["../../src/server/rejection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAaxC,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAE9D;AACD,QAAA,MAAM,iBAAiB;;6DAAgH,CAAC;AACxI,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAC9D,UAAU,sBAAsB;IAC/B,QAAQ,CAAC,mEAAmE,EAAE,KAAK,CAAC;CACpF;AACD,UAAU,gBAAgB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AACD,qBAAa,cAAe,SAAQ,SAAS;IAC5C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,YAAY,SAAS,EAAE,iBAAiB,EAAE,IAAI,GAAE,mBAAmD,EAGlG;CACD;AACD,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,MAAM;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,mBAAmB,CAAC;CACnD;AAMD,wBAAgB,UAAU,CACzB,QAAQ,SAAS,MAAM,CAAC,eAAe,CACtC;IACC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB,EACD,gBAAgB,EAChB,OAAO,EACP,OAAO,CACP,EAED,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GACnD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC"}
|