@shivaedev/effect-trpc 0.7.1 → 0.8.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 +12 -0
- package/README.md +26 -24
- package/dist/server/EffectProcedureBuilder.d.ts +2 -2
- package/dist/server/EffectProcedureBuilder.d.ts.map +1 -1
- package/dist/server/EffectProcedureBuilder.js +3 -3
- package/dist/server/EffectProcedureBuilder.js.map +1 -1
- package/dist/server/adapter.d.ts +1 -1
- package/dist/server/adapter.d.ts.map +1 -1
- package/dist/server/adapter.js +3 -3
- package/dist/server/adapter.js.map +1 -1
- package/dist/server/internal/makeProcedureHandler.d.ts +2 -2
- package/dist/server/internal/makeProcedureHandler.d.ts.map +1 -1
- package/dist/server/internal/makeSubscriptionHandler.d.ts +2 -2
- package/dist/server/internal/makeSubscriptionHandler.d.ts.map +1 -1
- package/dist/server/internal/makeSubscriptionHandler.js +1 -1
- package/dist/server/internal/makeSubscriptionHandler.js.map +1 -1
- package/dist/server/internal/runtime.d.ts +3 -3
- package/dist/server/internal/runtime.d.ts.map +1 -1
- package/dist/server/testing/AnyTestLayer.d.ts +1 -1
- package/dist/server/testing/AnyTestLayer.d.ts.map +1 -1
- package/dist/server/testing/caller.d.ts +1 -1
- package/dist/server/testing/caller.d.ts.map +1 -1
- package/dist/server/testing/types.d.ts +2 -2
- package/dist/server/testing/types.d.ts.map +1 -1
- package/dist/server/testing/vitest.d.ts +1 -1
- package/dist/server/testing/vitest.d.ts.map +1 -1
- package/dist/server/testing/vitest.js.map +1 -1
- package/docs/roadmap.md +3 -3
- package/package.json +11 -183
- package/src/server/EffectProcedureBuilder.ts +5 -5
- package/src/server/adapter.ts +4 -4
- package/src/server/internal/makeProcedureHandler.ts +2 -2
- package/src/server/internal/makeSubscriptionHandler.ts +3 -3
- package/src/server/internal/runtime.ts +3 -3
- package/src/server/testing/AnyTestLayer.ts +1 -1
- package/src/server/testing/caller.ts +1 -1
- package/src/server/testing/types.ts +2 -2
- package/src/server/testing/vitest.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.0 - 2026-10-18
|
|
4
|
+
|
|
5
|
+
### Breaking
|
|
6
|
+
|
|
7
|
+
- Every module's import path is now its path under `src/`, and `server/internal/` stays private. Server modules gain a `server/` prefix and keep their file names, for example `server/adapter.ts`, `server/EffectProcedureBuilder.ts`, `server/rejectionFormatter.ts`, `server/requestServices.ts`, `server/RequestSignal.ts` and `server/testing/AnyTestLayer.ts`. `client/rejection.ts` becomes `rejectionDecoding.ts`.
|
|
8
|
+
|
|
9
|
+
## 0.7.2 - 2026-10-18
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- The tRPC test helpers accept test Layers that provide nothing, such as `Layer.empty`.
|
|
14
|
+
|
|
3
15
|
## 0.7.1 - 2026-10-17
|
|
4
16
|
|
|
5
17
|
### Fixed
|
package/README.md
CHANGED
|
@@ -34,8 +34,8 @@ Create the runtime, tRPC instance and procedure builder together. This complete
|
|
|
34
34
|
```ts
|
|
35
35
|
import { initTRPC } from "@trpc/server";
|
|
36
36
|
import { Context, Effect, Layer, ManagedRuntime, Schema } from "effect";
|
|
37
|
-
import { makeEffectTRPC } from "@shivaedev/effect-trpc/adapter.ts";
|
|
38
|
-
import { makeRequestServices } from "@shivaedev/effect-trpc/
|
|
37
|
+
import { makeEffectTRPC } from "@shivaedev/effect-trpc/server/adapter.ts";
|
|
38
|
+
import { makeRequestServices } from "@shivaedev/effect-trpc/server/requestServices.ts";
|
|
39
39
|
|
|
40
40
|
const Order = Schema.Struct({ id: Schema.String, name: Schema.String });
|
|
41
41
|
|
|
@@ -91,7 +91,7 @@ The example middleware derives a value to show the context boundary. Authenticat
|
|
|
91
91
|
Use `extendRequestServices(base, additional)` when another procedure needs services derived from the base request Layer:
|
|
92
92
|
|
|
93
93
|
```ts
|
|
94
|
-
import { extendRequestServices } from "@shivaedev/effect-trpc/
|
|
94
|
+
import { extendRequestServices } from "@shivaedev/effect-trpc/server/requestServices.ts";
|
|
95
95
|
|
|
96
96
|
class RequestLabel extends Context.Service<RequestLabel, string>()("example/RequestLabel") {}
|
|
97
97
|
|
|
@@ -148,8 +148,8 @@ tRPC observes an `AsyncIterable`. The subscription resolver can yield request se
|
|
|
148
148
|
Use a tagged Schema for a failure the client may understand. Configure the formatter on the tRPC instance, then apply `rejectWith` to the Effect that may fail:
|
|
149
149
|
|
|
150
150
|
```ts
|
|
151
|
-
import { rejectionFormatter } from "@shivaedev/effect-trpc/
|
|
152
|
-
import { rejectWith } from "@shivaedev/effect-trpc/rejection.ts";
|
|
151
|
+
import { rejectionFormatter } from "@shivaedev/effect-trpc/server/rejectionFormatter.ts";
|
|
152
|
+
import { rejectWith } from "@shivaedev/effect-trpc/server/rejection.ts";
|
|
153
153
|
import superjson from "superjson";
|
|
154
154
|
|
|
155
155
|
class Conflict extends Schema.TaggedError<Conflict>()("Conflict", {
|
|
@@ -227,7 +227,7 @@ Keep the rejection Schema in a shared module the client can import. The `Conflic
|
|
|
227
227
|
```ts
|
|
228
228
|
import { createTRPCClient, httpBatchLink } from "@trpc/client";
|
|
229
229
|
import { Option } from "effect";
|
|
230
|
-
import { decodeRejection, rejectionOf } from "@shivaedev/effect-trpc/
|
|
230
|
+
import { decodeRejection, rejectionOf } from "@shivaedev/effect-trpc/rejectionDecoding.ts";
|
|
231
231
|
import superjson from "superjson";
|
|
232
232
|
import { Conflict } from "./rejections.ts";
|
|
233
233
|
import type { PublicRouter } from "./router.ts";
|
|
@@ -249,7 +249,7 @@ try {
|
|
|
249
249
|
|
|
250
250
|
### Once per application: explicit errors and instrumentation
|
|
251
251
|
|
|
252
|
-
An explicit `TRPCError` failure retains its code and message. For example, `yield* notFound("Order not found")` from `errors.ts` produces a `NOT_FOUND` failure without declared rejection data.
|
|
252
|
+
An explicit `TRPCError` failure retains its code and message. For example, `yield* notFound("Order not found")` from `server/errors.ts` produces a `NOT_FOUND` failure without declared rejection data.
|
|
253
253
|
|
|
254
254
|
Use `mapError` when an application failure should become a public transport error:
|
|
255
255
|
|
|
@@ -272,13 +272,15 @@ The mapper receives the procedure path and an `origin` of `failure` or `defect`.
|
|
|
272
272
|
|
|
273
273
|
`instrument(effect, procedure)` wraps resolver work and can read request services. `instrumentStream(stream, procedure)` wraps subscription streams. Both receive the procedure path and kind; an Effect-instrumentation defect is redacted.
|
|
274
274
|
|
|
275
|
+
Each query, mutation and subscription creates one procedure span named after its full procedure path, such as `orders.read`. Its attributes are `rpc.method` set to that path, `rpc.system: "trpc"` and `trpc.type` set to `"query"`, `"mutation"` or `"subscription"`. A span opened by the resolver is a child of that procedure span. Subscriptions also provide the caller's exact `AbortSignal` through `RequestSignal`; the resolver can observe its aborted state. The [procedure evidence tests](src/server/procedureEvidence.spec.ts) record these spans and observe signal identity and abort through `router.createCaller` in process.
|
|
276
|
+
|
|
275
277
|
### Once per test suite: the real router caller
|
|
276
278
|
|
|
277
279
|
Create the test helper in the application's test support. These definitions continue the first complete example:
|
|
278
280
|
|
|
279
281
|
```ts
|
|
280
282
|
import { expect } from "@effect/vitest";
|
|
281
|
-
import { makeTrpcIt } from "@shivaedev/effect-trpc/testing/vitest.ts";
|
|
283
|
+
import { makeTrpcIt } from "@shivaedev/effect-trpc/server/testing/vitest.ts";
|
|
282
284
|
|
|
283
285
|
const TestLive = Layer.succeed(Orders, {
|
|
284
286
|
find: (id) => Effect.succeed({ id, name: "Test lamps" }),
|
|
@@ -300,7 +302,7 @@ The test yields the real router's caller as an Effect. Test services override ma
|
|
|
300
302
|
Use `makeTrpcHarnessIt` to return application fixtures together with the caller:
|
|
301
303
|
|
|
302
304
|
```ts
|
|
303
|
-
import { makeTrpcHarnessIt } from "@shivaedev/effect-trpc/testing/vitest.ts";
|
|
305
|
+
import { makeTrpcHarnessIt } from "@shivaedev/effect-trpc/server/testing/vitest.ts";
|
|
304
306
|
|
|
305
307
|
const harnessIt = makeTrpcHarnessIt({
|
|
306
308
|
adapter,
|
|
@@ -335,32 +337,32 @@ Import each name from its defining `@shivaedev/effect-trpc/<module>.ts`; there i
|
|
|
335
337
|
|
|
336
338
|
| Module | Public names |
|
|
337
339
|
| --- | --- |
|
|
338
|
-
| `adapter.ts` | `makeEffectTRPC`, `EffectTRPCAdapter` (`procedure`, `runWithServices`), `EffectTRPCRuntime`, `MakeEffectTRPCOptions` |
|
|
339
|
-
| `
|
|
340
|
-
| `
|
|
341
|
-
| `
|
|
342
|
-
| `types.ts` | `ProcedureKind`, `ProcedureInfo`, `EffectTRPCErrorContext`, `EffectTRPCErrorMapper`, `EffectTRPCInstrument`, `EffectTRPCStreamInstrument` |
|
|
343
|
-
| `errors.ts` | `fail`, `badRequest`, `unauthorized`, `forbidden`, `notFound`, `conflict`, `preconditionFailed`, `internalServerError` |
|
|
344
|
-
| `rejection.ts` | `rejectWith`, `rejectionCode`, `RejectionError`, `DeclaredRejection`, `RejectWithOptions` |
|
|
345
|
-
| `
|
|
346
|
-
| `rejectionDecoding.ts`, `
|
|
347
|
-
| `testing/caller.ts` | `makeEffectCaller`, `makeEffectCallerFactory`, `EffectCaller`, `EffectCallerFactory` |
|
|
348
|
-
| `testing/vitest.ts` | `makeTrpcIt`, `makeTrpcHarnessIt` |
|
|
349
|
-
| `testing/types.ts` | `CallerOptions`, `CallerResult`, `MakeTrpcItOptions`, `MakeTrpcHarnessItOptions`, `TrpcIt`, `TrpcTest`, `TrpcTester`, `TrpcHarnessIt`, `TrpcHarnessTest`, `TrpcHarnessTester` |
|
|
350
|
-
| `testing/
|
|
340
|
+
| `server/adapter.ts` | `makeEffectTRPC`, `EffectTRPCAdapter` (`procedure`, `runWithServices`), `EffectTRPCRuntime`, `MakeEffectTRPCOptions` |
|
|
341
|
+
| `server/EffectProcedureBuilder.ts` | `EffectProcedureBuilder`: `input`, `output`, `query`, `mutation`, `subscription` |
|
|
342
|
+
| `server/requestServices.ts` | `makeRequestServices`, `extendRequestServices`, `EffectProcedureRequestServices` |
|
|
343
|
+
| `server/RequestSignal.ts` | `RequestSignal`, an Effect reference typed as `AbortSignal \| undefined` |
|
|
344
|
+
| `server/types.ts` | `ProcedureKind`, `ProcedureInfo`, `EffectTRPCErrorContext`, `EffectTRPCErrorMapper`, `EffectTRPCInstrument`, `EffectTRPCStreamInstrument` |
|
|
345
|
+
| `server/errors.ts` | `fail`, `badRequest`, `unauthorized`, `forbidden`, `notFound`, `conflict`, `preconditionFailed`, `internalServerError` |
|
|
346
|
+
| `server/rejection.ts` | `rejectWith`, `rejectionCode`, `RejectionError`, `DeclaredRejection`, `RejectWithOptions` |
|
|
347
|
+
| `server/rejectionFormatter.ts` | `rejectionFormatter`, `withRejection`, `RejectionData`, `RejectionErrorShape` |
|
|
348
|
+
| `rejectionDecoding.ts`, `rejectionDecoding.ts` | `rejectionOf`, `decodeRejection`, `EncodedRejection` |
|
|
349
|
+
| `server/testing/caller.ts` | `makeEffectCaller`, `makeEffectCallerFactory`, `EffectCaller`, `EffectCallerFactory` |
|
|
350
|
+
| `server/testing/vitest.ts` | `makeTrpcIt`, `makeTrpcHarnessIt` |
|
|
351
|
+
| `server/testing/types.ts` | `CallerOptions`, `CallerResult`, `MakeTrpcItOptions`, `MakeTrpcHarnessItOptions`, `TrpcIt`, `TrpcTest`, `TrpcTester`, `TrpcHarnessIt`, `TrpcHarnessTest`, `TrpcHarnessTester` |
|
|
352
|
+
| `server/testing/AnyTestLayer.ts` | `AnyTestLayer` |
|
|
351
353
|
|
|
352
354
|
`rejectWith` removes the declared schema types from the Effect's error channel and adds `RejectionError`.
|
|
353
355
|
|
|
354
356
|
### Install, runtime ownership and limits
|
|
355
357
|
|
|
356
358
|
```sh
|
|
357
|
-
pnpm add @shivaedev/effect-trpc @trpc/server@11.
|
|
359
|
+
pnpm add @shivaedev/effect-trpc @trpc/server@11.19.0 effect@4.0.4
|
|
358
360
|
```
|
|
359
361
|
|
|
360
362
|
Use the exact peer versions in this package's `package.json`. Node.js 24 or later is required. The rejection example also uses `superjson`; configure the same transformer on the tRPC client.
|
|
361
363
|
|
|
362
364
|
```sh
|
|
363
|
-
pnpm add @trpc/client@11.
|
|
365
|
+
pnpm add @trpc/client@11.19.0 superjson@2.2.6
|
|
364
366
|
pnpm add --save-dev @effect/vitest@4.0.4 vitest@5.0.3
|
|
365
367
|
```
|
|
366
368
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TRPCMutationProcedure, TRPCQueryProcedure, TRPCSubscriptionProcedure } from "@trpc/server";
|
|
2
2
|
import { Schema } from "effect";
|
|
3
|
-
import type { DefaultValue, EffectProcedureResolver, EffectSubscriptionResolver, IntersectIfDefined, ProcedureBuilderSurface, ResolverContext } from "#internal/
|
|
4
|
-
import type { RuntimeBridge } from "#internal/runtime.ts";
|
|
3
|
+
import type { DefaultValue, EffectProcedureResolver, EffectSubscriptionResolver, IntersectIfDefined, ProcedureBuilderSurface, ResolverContext } from "#server/internal/procedureTypes.ts";
|
|
4
|
+
import type { RuntimeBridge } from "#server/internal/runtime.ts";
|
|
5
5
|
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
6
6
|
interface ProcedureParts<TContext, TMeta, TContextOverrides, TProvidedServices, TLayerError, TRuntimeRequirements> {
|
|
7
7
|
readonly builder: ProcedureBuilderSurface<ResolverContext<TContext, TMeta, TContextOverrides>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EffectProcedureBuilder.d.ts","sourceRoot":"","sources":["../../src/server/EffectProcedureBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"EffectProcedureBuilder.d.ts","sourceRoot":"","sources":["../../src/server/EffectProcedureBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { makeSubscriptionHandler } from "#internal/
|
|
2
|
+
import { captureStackTrace } from "#server/internal/captureStackTrace.ts";
|
|
3
|
+
import { makeProcedureHandler } from "#server/internal/makeProcedureHandler.ts";
|
|
4
|
+
import { makeSubscriptionHandler } from "#server/internal/makeSubscriptionHandler.ts";
|
|
5
5
|
export class EffectProcedureBuilder {
|
|
6
6
|
#parts;
|
|
7
7
|
constructor(parts) {
|
|
@@ -1 +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,
|
|
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,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAmBtF,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"}
|
package/dist/server/adapter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TRPCProcedureBuilder } from "@trpc/server";
|
|
2
2
|
import type { Context, Effect, Exit } from "effect";
|
|
3
|
-
import type { ResolverContext } from "#internal/
|
|
3
|
+
import type { ResolverContext } from "#server/internal/procedureTypes.ts";
|
|
4
4
|
import { EffectProcedureBuilder } from "./EffectProcedureBuilder.ts";
|
|
5
5
|
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
6
6
|
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, EffectTRPCStreamInstrument } from "./types.ts";
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/server/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/server/adapter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { makeContextBridge } from "#internal/
|
|
2
|
-
import { looseBuilder } from "#internal/loose.ts";
|
|
3
|
-
import { makeRuntimeBridge } from "#internal/runtime.ts";
|
|
1
|
+
import { makeContextBridge } from "#server/internal/contextBridge.ts";
|
|
2
|
+
import { looseBuilder } from "#server/internal/loose.ts";
|
|
3
|
+
import { makeRuntimeBridge } from "#server/internal/runtime.ts";
|
|
4
4
|
import { EffectProcedureBuilder } from "./EffectProcedureBuilder.js";
|
|
5
5
|
export function makeEffectTRPC(options) {
|
|
6
6
|
const contextBridge = makeContextBridge(options.runtime);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/server/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/server/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { EffectProcedureRequestServices } from "#
|
|
2
|
-
import type { ProcedureInfo } from "#types.ts";
|
|
1
|
+
import type { EffectProcedureRequestServices } from "#server/requestServices.ts";
|
|
2
|
+
import type { ProcedureInfo } from "#server/types.ts";
|
|
3
3
|
import type { EffectProcedureResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
4
4
|
import type { RuntimeBridge } from "./runtime.ts";
|
|
5
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>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeProcedureHandler.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeProcedureHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"makeProcedureHandler.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeProcedureHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,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 { Schema } from "effect";
|
|
2
|
-
import type { EffectProcedureRequestServices } from "#
|
|
3
|
-
import type { ProcedureInfo } from "#types.ts";
|
|
2
|
+
import type { EffectProcedureRequestServices } from "#server/requestServices.ts";
|
|
3
|
+
import type { ProcedureInfo } from "#server/types.ts";
|
|
4
4
|
import type { EffectSubscriptionResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
5
5
|
import type { RuntimeBridge } from "./runtime.ts";
|
|
6
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>>;
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"makeSubscriptionHandler.d.ts","sourceRoot":"","sources":["../../../src/server/internal/makeSubscriptionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAU,MAAM,QAAQ,CAAC;AAEvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect, Layer, Schema, Stream } from "effect";
|
|
2
|
-
import { RequestSignal } from "#
|
|
2
|
+
import { RequestSignal } from "#server/RequestSignal.ts";
|
|
3
3
|
import { acceptParsedInput } from "./loose.js";
|
|
4
4
|
export function makeSubscriptionHandler(runtime, resolver, requestServices, procedure, outputSchema) {
|
|
5
5
|
const tracedResolver = Effect.fnUntraced(acceptParsedInput(resolver));
|
|
@@ -1 +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;
|
|
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;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect, Stream } from "effect";
|
|
2
|
-
import type { EffectTRPCRuntime } from "#adapter.ts";
|
|
3
|
-
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, ProcedureInfo } from "#types.ts";
|
|
2
|
+
import type { EffectTRPCRuntime } from "#server/adapter.ts";
|
|
3
|
+
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, EffectTRPCStreamInstrument, ProcedureInfo } from "#server/types.ts";
|
|
4
4
|
import type { ContextBridge } from "./contextBridge.ts";
|
|
5
5
|
interface RunEffectOptions {
|
|
6
6
|
readonly procedure: ProcedureInfo;
|
|
@@ -13,7 +13,7 @@ export interface RuntimeBridge<TRequirements> {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function makeRuntimeBridge<TRequirements, TRuntimeError>(runtime: EffectTRPCRuntime<TRequirements, TRuntimeError>, contextBridge: ContextBridge, options: {
|
|
15
15
|
readonly instrument?: EffectTRPCInstrument;
|
|
16
|
-
readonly instrumentStream?:
|
|
16
|
+
readonly instrumentStream?: EffectTRPCStreamInstrument;
|
|
17
17
|
readonly mapError?: EffectTRPCErrorMapper;
|
|
18
18
|
}): RuntimeBridge<TRequirements>;
|
|
19
19
|
export {};
|
|
@@ -1 +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,
|
|
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,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/H,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,0BAA0B,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC1C,GACC,aAAa,CAAC,aAAa,CAAC,CAoD9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnyTestLayer.d.ts","sourceRoot":"","sources":["../../../src/server/testing/AnyTestLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"AnyTestLayer.d.ts","sourceRoot":"","sources":["../../../src/server/testing/AnyTestLayer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TRPCError } from "@trpc/server";
|
|
2
2
|
import { type Context, Effect } from "effect";
|
|
3
|
-
import type { EffectTRPCAdapter } from "#adapter.ts";
|
|
3
|
+
import type { EffectTRPCAdapter } from "#server/adapter.ts";
|
|
4
4
|
export type EffectCaller<TCaller> = {
|
|
5
5
|
readonly [TKey in keyof TCaller]: TCaller[TKey] extends (...arguments_: infer TArguments) => Promise<infer TResult> ? (...arguments_: TArguments) => Effect.Effect<TResult, TRPCError> : TCaller[TKey] extends (...arguments_: infer TArguments) => infer TResult ? (...arguments_: TArguments) => TResult : TCaller[TKey] extends Record<string, unknown> ? EffectCaller<TCaller[TKey]> : TCaller[TKey];
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/server/testing/caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/server/testing/caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,MAAM,MAAM,YAAY,CAAC,OAAO,IAAI;IACnC,QAAQ,EAAE,IAAI,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,EAAE,MAAM,UAAU,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC,GAChH,CAAC,GAAG,UAAU,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAChE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,UAAU,EAAE,MAAM,UAAU,KAAK,MAAM,OAAO,GACvE,CAAC,GAAG,UAAU,EAAE,UAAU,KAAK,OAAO,GACtC,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7H,KAAK,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAUjE,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,EACjE,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAClC,YAAY,CAAC,OAAO,CAAC,CAAC;AAuBzB,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,SAAS,MAAM,EAAE,SAAS,EAClF,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,EAC7C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAClC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { TestContext, Vitest } from "@effect/vitest";
|
|
2
2
|
import type { Effect, Layer, Scope } from "effect";
|
|
3
|
+
import type { AnyTestLayer } from "@shivaedev/effect-test/anyTestLayer.ts";
|
|
3
4
|
import type { EffectClock, EffectTestOptions } from "@shivaedev/effect-test/types.ts";
|
|
4
|
-
import type { EffectTRPCAdapter } from "#adapter.ts";
|
|
5
|
-
import type { AnyTestLayer } from "./AnyTestLayer.ts";
|
|
5
|
+
import type { EffectTRPCAdapter } from "#server/adapter.ts";
|
|
6
6
|
import type { EffectCallerFactory } from "./caller.ts";
|
|
7
7
|
export type TrpcHarnessTest<THarness, TProvided> = <A, TEff extends Effect.Effect<unknown, unknown, TProvided>>(name: string, body: (harness: THarness, context: TestContext) => Generator<TEff, A, never>, options?: number | EffectTestOptions) => void;
|
|
8
8
|
export interface TrpcHarnessTester<THarness, TProvided> extends TrpcHarnessTest<THarness, TProvided> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/testing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/testing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,MAAM,MAAM,eAAe,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAC7G,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;AACV,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAE,SAAQ,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;IACnG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EACpB,KAAK,EAAE,SAAS,KAAK,EAAE,KACnB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAC/D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EACzF,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,KAChC,IAAI,CAAC;IACV,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7E,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;CAC9E;AACD,MAAM,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,eAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AACxH,MAAM,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5H,MAAM,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,OAAO,GAAG;IACnE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;CAChE,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,QAAQ,EAAE,SAAS,IAAI,MAAM,CAAC,OAAO,GAAG;IACjE,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;CAC9D,CAAC;AACF,MAAM,WAAW,iBAAiB,CAAC,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,UAAU,SAAS,YAAY;IAC3H,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC3B;AACD,MAAM,WAAW,wBAAwB,CAAC,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,UAAU,SAAS,YAAY,EAAE,QAAQ,CAC5I,SAAQ,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,CACrB,IAAI,EAAE,mBAAmB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,EACpF,OAAO,EAAE,WAAW,KAChB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;CACjE;AACD,MAAM,MAAM,aAAa,CAAC,aAAa,IAAI,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,MAAM,UAAU,KAAK,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrI,MAAM,MAAM,YAAY,CAAC,aAAa,IAAI,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,MAAM,WAAW,KAAK,MAAM,OAAO,GAChH,OAAO,SAAS,MAAM,GACrB,OAAO,GACP,KAAK,GACN,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Layer } from "effect";
|
|
2
|
-
import type { AnyTestLayer } from "
|
|
2
|
+
import type { AnyTestLayer } from "@shivaedev/effect-test/anyTestLayer.ts";
|
|
3
3
|
import type { CallerOptions, CallerResult, MakeTrpcHarnessItOptions, MakeTrpcItOptions, TrpcHarnessIt, TrpcIt } from "./types.ts";
|
|
4
4
|
export declare function makeTrpcHarnessIt<TCreateCaller extends (...arguments_: never[]) => object, TTestLayer extends AnyTestLayer, THarness>(options: MakeTrpcHarnessItOptions<TCreateCaller, TTestLayer, THarness>): TrpcHarnessIt<THarness, Layer.Success<TTestLayer>>;
|
|
5
5
|
export declare function makeTrpcIt<TCreateCaller extends (...arguments_: never[]) => object, TTestLayer extends AnyTestLayer>(options: MakeTrpcItOptions<TCreateCaller, TTestLayer>): TrpcIt<CallerOptions<TCreateCaller>, CallerResult<TCreateCaller>, Layer.Success<TTestLayer>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../src/server/testing/vitest.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../src/server/testing/vitest.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAG3E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAelI,wBAAgB,iBAAiB,CAAC,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,UAAU,SAAS,YAAY,EAAE,QAAQ,EACpI,OAAO,EAAE,wBAAwB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,GACpE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAiBtD,wBAAgB,UAAU,CAAC,aAAa,SAAS,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,UAAU,SAAS,YAAY,EACnH,OAAO,EAAE,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,GACnD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAK9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../src/server/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../../../src/server/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAMtD,SAAS,cAAc,CAAC,MAAe;IACtC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC1B,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;YAC7B,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC;YACf,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,iBAAiB,CAChC,OAAsF;IAEtF,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAA6B,CAAC;YACpE,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC;KACH,CAAC,CAAC;IACH,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AACD,MAAM,UAAU,UAAU,CACzB,OAAqD;IAErD,OAAO,iBAAiB,CAAC;QACxB,GAAG,OAAO;QACV,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;KAC3C,CAAC,CAAC;AACJ,CAAC"}
|
package/docs/roadmap.md
CHANGED
|
@@ -7,6 +7,7 @@ This file owns `effect-trpc` implementation status and local next work. The [fra
|
|
|
7
7
|
- Generator queries and mutations over an application runtime and request services, including context supplied by tRPC middleware and request-Layer extensions that consume base services. `src/server/adapter.test.ts` covers runtime execution; `src/server/EffectProcedureBuilder.typecheck.test.ts` rejects missing services.
|
|
8
8
|
- Effect Schema input and output decoding with encoded/decoded caller and resolver types. Adapter runtime tests and procedure type tests cover the distinction, including subscription output decoding.
|
|
9
9
|
- Stream subscriptions with request services, scoped finalizers and interruption when a caller signal aborts. `src/server/adapter.test.ts` observes values, stream instrumentation and finalization; `src/server/internal/runtime.test.ts` covers pure interruption's transport error.
|
|
10
|
+
- Procedure spans named after the full path with `rpc.method`, `rpc.system: "trpc"` and `trpc.type`, including resolver-child parenting for queries, mutations and subscriptions. The [procedure evidence tests](../src/server/procedureEvidence.spec.ts) use a recording Tracer and also observe the exact caller signal through `RequestSignal`, its aborted state and subscription finalization. The [adapter tests](../src/server/adapter.test.ts) observe Effect instrumentation with request services and stream instrumentation with procedure path and kind.
|
|
10
11
|
- Explicit tRPC errors, application error mapping and redaction of unmapped failures and defects. Adapter/runtime tests cover resolver, request-Layer, mapper and Effect-instrumentation defects; `src/server/httpRejections.spec.ts` checks opaque serialized failures.
|
|
11
12
|
- Tagged declared rejection encoding, taxonomy code mapping, custom code selection and formatter composition. `src/server/rejection.test.ts` and `src/server/httpRejections.spec.ts` cover fields, messages, encodings, HTTP statuses and mixed batches.
|
|
12
13
|
- Input-validation field paths and the reserved `invalidInput` mark. `src/server/inputRejections.spec.ts` covers dotted paths, array indexes, whole-input issues and stripping forged marks; `src/server/rejection.typecheck.test.ts` rejects reserved fields.
|
|
@@ -16,9 +17,8 @@ This file owns `effect-trpc` implementation status and local next work. The [fra
|
|
|
16
17
|
|
|
17
18
|
## Next
|
|
18
19
|
|
|
19
|
-
1. Add
|
|
20
|
-
2.
|
|
21
|
-
3. Exercise test-harness setup inside the `around` wrapper and Layer acquisition lifetime through this adapter if consumers rely on that composition. The shared runner owns the implementation; adapter tests should observe the composition they promise.
|
|
20
|
+
1. Add a representative real-host transport cancellation fixture when a consumer selects that transport. Observe query and subscription interruption and resource release; keep proxy/deployment acceptance with the consuming application.
|
|
21
|
+
2. Exercise test-harness setup inside the `around` wrapper and Layer acquisition lifetime through this adapter if consumers rely on that composition. The shared runner owns the implementation; adapter tests should observe the composition they promise.
|
|
22
22
|
|
|
23
23
|
These are draft priorities, subject to the maintainer's investment decision below.
|
|
24
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shivaedev/effect-trpc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Effect-native procedures and testing for tRPC",
|
|
5
5
|
"homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/effect-trpc#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -20,189 +20,16 @@
|
|
|
20
20
|
"source": "./src/*.ts",
|
|
21
21
|
"types": "./dist/*.d.ts",
|
|
22
22
|
"default": "./dist/*.js"
|
|
23
|
-
},
|
|
24
|
-
"#adapter.ts": {
|
|
25
|
-
"source": "./src/server/adapter.ts",
|
|
26
|
-
"types": "./dist/server/adapter.d.ts",
|
|
27
|
-
"default": "./dist/server/adapter.js"
|
|
28
|
-
},
|
|
29
|
-
"#errors.ts": {
|
|
30
|
-
"source": "./src/server/errors.ts",
|
|
31
|
-
"types": "./dist/server/errors.d.ts",
|
|
32
|
-
"default": "./dist/server/errors.js"
|
|
33
|
-
},
|
|
34
|
-
"#internal/context-bridge.ts": {
|
|
35
|
-
"source": "./src/server/internal/contextBridge.ts",
|
|
36
|
-
"types": "./dist/server/internal/contextBridge.d.ts",
|
|
37
|
-
"default": "./dist/server/internal/contextBridge.js"
|
|
38
|
-
},
|
|
39
|
-
"#internal/loose.ts": {
|
|
40
|
-
"source": "./src/server/internal/loose.ts",
|
|
41
|
-
"types": "./dist/server/internal/loose.d.ts",
|
|
42
|
-
"default": "./dist/server/internal/loose.js"
|
|
43
|
-
},
|
|
44
|
-
"#internal/procedure-handler.ts": {
|
|
45
|
-
"source": "./src/server/internal/makeProcedureHandler.ts",
|
|
46
|
-
"types": "./dist/server/internal/makeProcedureHandler.d.ts",
|
|
47
|
-
"default": "./dist/server/internal/makeProcedureHandler.js"
|
|
48
|
-
},
|
|
49
|
-
"#internal/procedure-types.ts": {
|
|
50
|
-
"source": "./src/server/internal/procedureTypes.ts",
|
|
51
|
-
"types": "./dist/server/internal/procedureTypes.d.ts",
|
|
52
|
-
"default": "./dist/server/internal/procedureTypes.js"
|
|
53
|
-
},
|
|
54
|
-
"#internal/runtime.ts": {
|
|
55
|
-
"source": "./src/server/internal/runtime.ts",
|
|
56
|
-
"types": "./dist/server/internal/runtime.d.ts",
|
|
57
|
-
"default": "./dist/server/internal/runtime.js"
|
|
58
|
-
},
|
|
59
|
-
"#internal/stack-trace.ts": {
|
|
60
|
-
"source": "./src/server/internal/captureStackTrace.ts",
|
|
61
|
-
"types": "./dist/server/internal/captureStackTrace.d.ts",
|
|
62
|
-
"default": "./dist/server/internal/captureStackTrace.js"
|
|
63
|
-
},
|
|
64
|
-
"#internal/subscription-handler.ts": {
|
|
65
|
-
"source": "./src/server/internal/makeSubscriptionHandler.ts",
|
|
66
|
-
"types": "./dist/server/internal/makeSubscriptionHandler.d.ts",
|
|
67
|
-
"default": "./dist/server/internal/makeSubscriptionHandler.js"
|
|
68
|
-
},
|
|
69
|
-
"#procedure.ts": {
|
|
70
|
-
"source": "./src/server/EffectProcedureBuilder.ts",
|
|
71
|
-
"types": "./dist/server/EffectProcedureBuilder.d.ts",
|
|
72
|
-
"default": "./dist/server/EffectProcedureBuilder.js"
|
|
73
|
-
},
|
|
74
|
-
"#rejection-formatter.ts": {
|
|
75
|
-
"source": "./src/server/rejectionFormatter.ts",
|
|
76
|
-
"types": "./dist/server/rejectionFormatter.d.ts",
|
|
77
|
-
"default": "./dist/server/rejectionFormatter.js"
|
|
78
|
-
},
|
|
79
|
-
"#rejection.ts": {
|
|
80
|
-
"source": "./src/server/rejection.ts",
|
|
81
|
-
"types": "./dist/server/rejection.d.ts",
|
|
82
|
-
"default": "./dist/server/rejection.js"
|
|
83
|
-
},
|
|
84
|
-
"#request-services.ts": {
|
|
85
|
-
"source": "./src/server/requestServices.ts",
|
|
86
|
-
"types": "./dist/server/requestServices.d.ts",
|
|
87
|
-
"default": "./dist/server/requestServices.js"
|
|
88
|
-
},
|
|
89
|
-
"#request-signal.ts": {
|
|
90
|
-
"source": "./src/server/RequestSignal.ts",
|
|
91
|
-
"types": "./dist/server/RequestSignal.d.ts",
|
|
92
|
-
"default": "./dist/server/RequestSignal.js"
|
|
93
|
-
},
|
|
94
|
-
"#testing/any-test-layer.ts": {
|
|
95
|
-
"source": "./src/server/testing/AnyTestLayer.ts",
|
|
96
|
-
"types": "./dist/server/testing/AnyTestLayer.d.ts",
|
|
97
|
-
"default": "./dist/server/testing/AnyTestLayer.js"
|
|
98
|
-
},
|
|
99
|
-
"#testing/caller.ts": {
|
|
100
|
-
"source": "./src/server/testing/caller.ts",
|
|
101
|
-
"types": "./dist/server/testing/caller.d.ts",
|
|
102
|
-
"default": "./dist/server/testing/caller.js"
|
|
103
|
-
},
|
|
104
|
-
"#testing/types.ts": {
|
|
105
|
-
"source": "./src/server/testing/types.ts",
|
|
106
|
-
"types": "./dist/server/testing/types.d.ts",
|
|
107
|
-
"default": "./dist/server/testing/types.js"
|
|
108
|
-
},
|
|
109
|
-
"#testing/vitest.ts": {
|
|
110
|
-
"source": "./src/server/testing/vitest.ts",
|
|
111
|
-
"types": "./dist/server/testing/vitest.d.ts",
|
|
112
|
-
"default": "./dist/server/testing/vitest.js"
|
|
113
|
-
},
|
|
114
|
-
"#types.ts": {
|
|
115
|
-
"source": "./src/server/types.ts",
|
|
116
|
-
"types": "./dist/server/types.d.ts",
|
|
117
|
-
"default": "./dist/server/types.js"
|
|
118
23
|
}
|
|
119
24
|
},
|
|
120
25
|
"exports": {
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
"types": "./dist
|
|
124
|
-
"
|
|
125
|
-
"import": "./dist/rejectionDecoding.js",
|
|
126
|
-
"default": "./dist/rejectionDecoding.js"
|
|
127
|
-
},
|
|
128
|
-
"./adapter.ts": {
|
|
129
|
-
"types": "./dist/server/adapter.d.ts",
|
|
130
|
-
"source": "./src/server/adapter.ts",
|
|
131
|
-
"import": "./dist/server/adapter.js",
|
|
132
|
-
"default": "./dist/server/adapter.js"
|
|
133
|
-
},
|
|
134
|
-
"./errors.ts": {
|
|
135
|
-
"types": "./dist/server/errors.d.ts",
|
|
136
|
-
"source": "./src/server/errors.ts",
|
|
137
|
-
"import": "./dist/server/errors.js",
|
|
138
|
-
"default": "./dist/server/errors.js"
|
|
139
|
-
},
|
|
140
|
-
"./procedure.ts": {
|
|
141
|
-
"types": "./dist/server/EffectProcedureBuilder.d.ts",
|
|
142
|
-
"source": "./src/server/EffectProcedureBuilder.ts",
|
|
143
|
-
"import": "./dist/server/EffectProcedureBuilder.js",
|
|
144
|
-
"default": "./dist/server/EffectProcedureBuilder.js"
|
|
145
|
-
},
|
|
146
|
-
"./rejection-formatter.ts": {
|
|
147
|
-
"types": "./dist/server/rejectionFormatter.d.ts",
|
|
148
|
-
"source": "./src/server/rejectionFormatter.ts",
|
|
149
|
-
"import": "./dist/server/rejectionFormatter.js",
|
|
150
|
-
"default": "./dist/server/rejectionFormatter.js"
|
|
151
|
-
},
|
|
152
|
-
"./rejection.ts": {
|
|
153
|
-
"types": "./dist/server/rejection.d.ts",
|
|
154
|
-
"source": "./src/server/rejection.ts",
|
|
155
|
-
"import": "./dist/server/rejection.js",
|
|
156
|
-
"default": "./dist/server/rejection.js"
|
|
157
|
-
},
|
|
158
|
-
"./rejectionDecoding.ts": {
|
|
159
|
-
"types": "./dist/rejectionDecoding.d.ts",
|
|
160
|
-
"source": "./src/rejectionDecoding.ts",
|
|
161
|
-
"import": "./dist/rejectionDecoding.js",
|
|
162
|
-
"default": "./dist/rejectionDecoding.js"
|
|
163
|
-
},
|
|
164
|
-
"./request-services.ts": {
|
|
165
|
-
"types": "./dist/server/requestServices.d.ts",
|
|
166
|
-
"source": "./src/server/requestServices.ts",
|
|
167
|
-
"import": "./dist/server/requestServices.js",
|
|
168
|
-
"default": "./dist/server/requestServices.js"
|
|
169
|
-
},
|
|
170
|
-
"./request-signal.ts": {
|
|
171
|
-
"types": "./dist/server/RequestSignal.d.ts",
|
|
172
|
-
"source": "./src/server/RequestSignal.ts",
|
|
173
|
-
"import": "./dist/server/RequestSignal.js",
|
|
174
|
-
"default": "./dist/server/RequestSignal.js"
|
|
175
|
-
},
|
|
176
|
-
"./testing/any-test-layer.ts": {
|
|
177
|
-
"types": "./dist/server/testing/AnyTestLayer.d.ts",
|
|
178
|
-
"source": "./src/server/testing/AnyTestLayer.ts",
|
|
179
|
-
"import": "./dist/server/testing/AnyTestLayer.js",
|
|
180
|
-
"default": "./dist/server/testing/AnyTestLayer.js"
|
|
181
|
-
},
|
|
182
|
-
"./testing/caller.ts": {
|
|
183
|
-
"types": "./dist/server/testing/caller.d.ts",
|
|
184
|
-
"source": "./src/server/testing/caller.ts",
|
|
185
|
-
"import": "./dist/server/testing/caller.js",
|
|
186
|
-
"default": "./dist/server/testing/caller.js"
|
|
187
|
-
},
|
|
188
|
-
"./testing/types.ts": {
|
|
189
|
-
"types": "./dist/server/testing/types.d.ts",
|
|
190
|
-
"source": "./src/server/testing/types.ts",
|
|
191
|
-
"import": "./dist/server/testing/types.js",
|
|
192
|
-
"default": "./dist/server/testing/types.js"
|
|
193
|
-
},
|
|
194
|
-
"./testing/vitest.ts": {
|
|
195
|
-
"types": "./dist/server/testing/vitest.d.ts",
|
|
196
|
-
"source": "./src/server/testing/vitest.ts",
|
|
197
|
-
"import": "./dist/server/testing/vitest.js",
|
|
198
|
-
"default": "./dist/server/testing/vitest.js"
|
|
26
|
+
"./*.ts": {
|
|
27
|
+
"source": "./src/*.ts",
|
|
28
|
+
"types": "./dist/*.d.ts",
|
|
29
|
+
"default": "./dist/*.js"
|
|
199
30
|
},
|
|
200
|
-
"./
|
|
201
|
-
|
|
202
|
-
"source": "./src/server/types.ts",
|
|
203
|
-
"import": "./dist/server/types.js",
|
|
204
|
-
"default": "./dist/server/types.js"
|
|
205
|
-
}
|
|
31
|
+
"./server/internal/*": null,
|
|
32
|
+
"./package.json": "./package.json"
|
|
206
33
|
},
|
|
207
34
|
"files": [
|
|
208
35
|
"dist",
|
|
@@ -215,15 +42,16 @@
|
|
|
215
42
|
"README.md"
|
|
216
43
|
],
|
|
217
44
|
"dependencies": {
|
|
218
|
-
"@shivaedev/effect-test": "0.
|
|
45
|
+
"@shivaedev/effect-test": "0.6.0"
|
|
219
46
|
},
|
|
220
47
|
"devDependencies": {
|
|
221
48
|
"@effect/vitest": "4.0.4",
|
|
222
49
|
"@shivaedev/effect-contract": "0.5.1",
|
|
223
|
-
"@shivaedev/quality": "0.
|
|
50
|
+
"@shivaedev/quality": "0.25.0",
|
|
51
|
+
"@shivaedev/test-story": "0.7.1",
|
|
224
52
|
"@trpc/client": "11.19.0",
|
|
225
53
|
"@trpc/server": "11.19.0",
|
|
226
|
-
"@types/node": "24.19.
|
|
54
|
+
"@types/node": "24.19.2",
|
|
227
55
|
"@typescript/native": "npm:typescript@7.0.2",
|
|
228
56
|
"effect": "4.0.4",
|
|
229
57
|
"superjson": "2.2.6",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { TRPCMutationProcedure, TRPCQueryProcedure, TRPCSubscriptionProcedure } from "@trpc/server";
|
|
2
2
|
import { Schema } from "effect";
|
|
3
|
-
import {
|
|
3
|
+
import { captureStackTrace } from "#server/internal/captureStackTrace.ts";
|
|
4
|
+
import { makeProcedureHandler } from "#server/internal/makeProcedureHandler.ts";
|
|
5
|
+
import { makeSubscriptionHandler } from "#server/internal/makeSubscriptionHandler.ts";
|
|
4
6
|
import type {
|
|
5
7
|
DefaultValue,
|
|
6
8
|
EffectProcedureResolver,
|
|
@@ -8,10 +10,8 @@ import type {
|
|
|
8
10
|
IntersectIfDefined,
|
|
9
11
|
ProcedureBuilderSurface,
|
|
10
12
|
ResolverContext,
|
|
11
|
-
} from "#internal/
|
|
12
|
-
import type { RuntimeBridge } from "#internal/runtime.ts";
|
|
13
|
-
import { captureStackTrace } from "#internal/stack-trace.ts";
|
|
14
|
-
import { makeSubscriptionHandler } from "#internal/subscription-handler.ts";
|
|
13
|
+
} from "#server/internal/procedureTypes.ts";
|
|
14
|
+
import type { RuntimeBridge } from "#server/internal/runtime.ts";
|
|
15
15
|
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
16
16
|
|
|
17
17
|
interface ProcedureParts<TContext, TMeta, TContextOverrides, TProvidedServices, TLayerError, TRuntimeRequirements> {
|
package/src/server/adapter.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TRPCProcedureBuilder } from "@trpc/server";
|
|
2
2
|
import type { Context, Effect, Exit } from "effect";
|
|
3
|
-
import { makeContextBridge } from "#internal/
|
|
4
|
-
import { looseBuilder } from "#internal/loose.ts";
|
|
5
|
-
import type { ResolverContext } from "#internal/
|
|
6
|
-
import { makeRuntimeBridge } from "#internal/runtime.ts";
|
|
3
|
+
import { makeContextBridge } from "#server/internal/contextBridge.ts";
|
|
4
|
+
import { looseBuilder } from "#server/internal/loose.ts";
|
|
5
|
+
import type { ResolverContext } from "#server/internal/procedureTypes.ts";
|
|
6
|
+
import { makeRuntimeBridge } from "#server/internal/runtime.ts";
|
|
7
7
|
import { EffectProcedureBuilder } from "./EffectProcedureBuilder.ts";
|
|
8
8
|
import type { EffectProcedureRequestServices } from "./requestServices.ts";
|
|
9
9
|
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, EffectTRPCStreamInstrument } from "./types.ts";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
-
import type { EffectProcedureRequestServices } from "#
|
|
3
|
-
import type { ProcedureInfo } from "#types.ts";
|
|
2
|
+
import type { EffectProcedureRequestServices } from "#server/requestServices.ts";
|
|
3
|
+
import type { ProcedureInfo } from "#server/types.ts";
|
|
4
4
|
import { acceptParsedInput } from "./loose.ts";
|
|
5
5
|
import type { EffectProcedureResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
6
6
|
import type { RuntimeBridge } from "./runtime.ts";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect, Layer, Schema, Stream } from "effect";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import type { ProcedureInfo } from "#types.ts";
|
|
2
|
+
import { RequestSignal } from "#server/RequestSignal.ts";
|
|
3
|
+
import type { EffectProcedureRequestServices } from "#server/requestServices.ts";
|
|
4
|
+
import type { ProcedureInfo } from "#server/types.ts";
|
|
5
5
|
import { acceptParsedInput } from "./loose.ts";
|
|
6
6
|
import type { EffectSubscriptionResolver, ProcedureInvocation } from "./procedureTypes.ts";
|
|
7
7
|
import type { RuntimeBridge } from "./runtime.ts";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TRPCError } from "@trpc/server";
|
|
2
2
|
import { Cause, Context, Effect, Exit, Option, Result, Stream } from "effect";
|
|
3
|
-
import type { EffectTRPCRuntime } from "#adapter.ts";
|
|
4
|
-
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, ProcedureInfo } from "#types.ts";
|
|
3
|
+
import type { EffectTRPCRuntime } from "#server/adapter.ts";
|
|
4
|
+
import type { EffectTRPCErrorMapper, EffectTRPCInstrument, EffectTRPCStreamInstrument, ProcedureInfo } from "#server/types.ts";
|
|
5
5
|
import type { ContextBridge } from "./contextBridge.ts";
|
|
6
6
|
|
|
7
7
|
interface RunEffectOptions {
|
|
@@ -73,7 +73,7 @@ export function makeRuntimeBridge<TRequirements, TRuntimeError>(
|
|
|
73
73
|
contextBridge: ContextBridge,
|
|
74
74
|
options: {
|
|
75
75
|
readonly instrument?: EffectTRPCInstrument;
|
|
76
|
-
readonly instrumentStream?:
|
|
76
|
+
readonly instrumentStream?: EffectTRPCStreamInstrument;
|
|
77
77
|
readonly mapError?: EffectTRPCErrorMapper;
|
|
78
78
|
},
|
|
79
79
|
): RuntimeBridge<TRequirements> {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Layer } from "effect";
|
|
2
|
-
export type AnyTestLayer = Layer.Layer<any, any, never>;
|
|
2
|
+
export type AnyTestLayer = Layer.Layer<any, any, never> | Layer.Layer<never, any, never>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTRPCErrorFromUnknown, type TRPCError } from "@trpc/server";
|
|
2
2
|
import { type Context, Effect } from "effect";
|
|
3
|
-
import type { EffectTRPCAdapter } from "#adapter.ts";
|
|
3
|
+
import type { EffectTRPCAdapter } from "#server/adapter.ts";
|
|
4
4
|
export type EffectCaller<TCaller> = {
|
|
5
5
|
readonly [TKey in keyof TCaller]: TCaller[TKey] extends (...arguments_: infer TArguments) => Promise<infer TResult>
|
|
6
6
|
? (...arguments_: TArguments) => Effect.Effect<TResult, TRPCError>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { TestContext, Vitest } from "@effect/vitest";
|
|
2
2
|
import type { Effect, Layer, Scope } from "effect";
|
|
3
|
+
import type { AnyTestLayer } from "@shivaedev/effect-test/anyTestLayer.ts";
|
|
3
4
|
import type { EffectClock, EffectTestOptions } from "@shivaedev/effect-test/types.ts";
|
|
4
|
-
import type { EffectTRPCAdapter } from "#adapter.ts";
|
|
5
|
-
import type { AnyTestLayer } from "./AnyTestLayer.ts";
|
|
5
|
+
import type { EffectTRPCAdapter } from "#server/adapter.ts";
|
|
6
6
|
import type { EffectCallerFactory } from "./caller.ts";
|
|
7
7
|
export type TrpcHarnessTest<THarness, TProvided> = <A, TEff extends Effect.Effect<unknown, unknown, TProvided>>(
|
|
8
8
|
name: string,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { it as effectIt, type Vitest } from "@effect/vitest";
|
|
2
2
|
import { Effect, type Layer } from "effect";
|
|
3
|
+
import type { AnyTestLayer } from "@shivaedev/effect-test/anyTestLayer.ts";
|
|
3
4
|
import { makeEffectIt } from "@shivaedev/effect-test/vitest.ts";
|
|
4
|
-
import type { AnyTestLayer } from "./AnyTestLayer.ts";
|
|
5
5
|
import { makeEffectCallerFactory } from "./caller.ts";
|
|
6
6
|
import type { CallerOptions, CallerResult, MakeTrpcHarnessItOptions, MakeTrpcItOptions, TrpcHarnessIt, TrpcIt } from "./types.ts";
|
|
7
7
|
|