better-effect 0.13.0 → 0.14.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/README.md +337 -88
- package/dist/adapters/iti.d.mts +2 -3
- package/dist/adapters/iti.d.mts.map +1 -1
- package/dist/adapters/iti.mjs +2 -2
- package/dist/bun.d.mts +75 -23
- package/dist/bun.d.mts.map +1 -1
- package/dist/bun.mjs +170 -33
- package/dist/bun.mjs.map +1 -1
- package/dist/{context-BphfFUMO.mjs → context-DSGSqcJj.mjs} +12 -3
- package/dist/context-DSGSqcJj.mjs.map +1 -0
- package/dist/{current-request-DDKNyymv.mjs → current-request-Bc1YHL0w.mjs} +3 -2
- package/dist/{current-request-DDKNyymv.mjs.map → current-request-Bc1YHL0w.mjs.map} +1 -1
- package/dist/{current-request-CIU7AHhF.d.mts → current-request-Dm-QQ3Xr.d.mts} +4 -4
- package/dist/current-request-Dm-QQ3Xr.d.mts.map +1 -0
- package/dist/{effect-CPdV7Yv8.mjs → effect-W0IQXY8P.mjs} +21 -2
- package/dist/effect-W0IQXY8P.mjs.map +1 -0
- package/dist/{errors-BKcsQ0ip.d.mts → errors-CpHMzPiP.d.mts} +6 -2
- package/dist/errors-CpHMzPiP.d.mts.map +1 -0
- package/dist/hono.d.mts +63 -27
- package/dist/hono.d.mts.map +1 -1
- package/dist/hono.mjs +111 -45
- package/dist/hono.mjs.map +1 -1
- package/dist/{index-CCi07kUw.d.mts → index-3Bkl-sxS.d.mts} +7 -2
- package/dist/{index-CCi07kUw.d.mts.map → index-3Bkl-sxS.d.mts.map} +1 -1
- package/dist/{index-cXgyMa0v.d.mts → index-C2ed9Ilq.d.mts} +32 -7
- package/dist/index-C2ed9Ilq.d.mts.map +1 -0
- package/dist/{index-BodMy6rO.d.mts → index-ClNndn2-.d.mts} +93 -63
- package/dist/index-ClNndn2-.d.mts.map +1 -0
- package/dist/{index-DAKn0qHk.d.mts → index-Cy1VsU-u.d.mts} +2 -4
- package/dist/index-Cy1VsU-u.d.mts.map +1 -0
- package/dist/index.d.mts +6 -8
- package/dist/index.mjs +8 -9
- package/dist/index.mjs.map +1 -1
- package/dist/{internal-identity-CbXoZIfw.mjs → internal-identity-BuHBtP0k.mjs} +2 -2
- package/dist/{internal-identity-CbXoZIfw.mjs.map → internal-identity-BuHBtP0k.mjs.map} +1 -1
- package/dist/layer-2kjHVv4N.mjs +343 -0
- package/dist/layer-2kjHVv4N.mjs.map +1 -0
- package/dist/layer-C2OaqTmB.d.mts +987 -0
- package/dist/layer-C2OaqTmB.d.mts.map +1 -0
- package/dist/next.d.mts +102 -26
- package/dist/next.d.mts.map +1 -1
- package/dist/next.mjs +157 -40
- package/dist/next.mjs.map +1 -1
- package/dist/{node-context-DczjAcrX.d.mts → node-context-1YEjrU9g.d.mts} +2 -2
- package/dist/{node-context-DczjAcrX.d.mts.map → node-context-1YEjrU9g.d.mts.map} +1 -1
- package/dist/{node-context-Ca18oNSg.mjs → node-context-g3bCcY9t.mjs} +2 -2
- package/dist/{node-context-Ca18oNSg.mjs.map → node-context-g3bCcY9t.mjs.map} +1 -1
- package/dist/node.d.mts +11 -6
- package/dist/node.d.mts.map +1 -1
- package/dist/node.mjs +156 -10
- package/dist/node.mjs.map +1 -1
- package/dist/opentelemetry.d.mts +20 -2
- package/dist/opentelemetry.d.mts.map +1 -1
- package/dist/opentelemetry.mjs +423 -5
- package/dist/opentelemetry.mjs.map +1 -1
- package/dist/{registration-drnZk0SY.mjs → registration-Bwe2GbVu.mjs} +8 -2
- package/dist/registration-Bwe2GbVu.mjs.map +1 -0
- package/dist/runtime/explicit.d.mts +2 -2
- package/dist/runtime/explicit.mjs +1 -1
- package/dist/runtime/node.d.mts +3 -3
- package/dist/runtime/node.mjs +2 -2
- package/dist/runtime-qpcVwaz_.mjs +1680 -0
- package/dist/runtime-qpcVwaz_.mjs.map +1 -0
- package/dist/service-CO9VJQYa.mjs +74 -0
- package/dist/service-CO9VJQYa.mjs.map +1 -0
- package/dist/{signal-nfgFyNCk.mjs → signal-5Rg9bUUe.mjs} +2 -2
- package/dist/{signal-nfgFyNCk.mjs.map → signal-5Rg9bUUe.mjs.map} +1 -1
- package/dist/{standard-services-vnGIafkS.mjs → standard-services-B-iMM_W7.mjs} +38 -4
- package/dist/standard-services-B-iMM_W7.mjs.map +1 -0
- package/dist/standard-services.d.mts +4 -4
- package/dist/standard-services.mjs +3 -3
- package/dist/testing.d.mts +25 -7
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.mjs +51 -7
- package/dist/testing.mjs.map +1 -1
- package/dist/{types-oihI-ESv.d.mts → types-BFTqCCcw.d.mts} +32 -5
- package/dist/types-BFTqCCcw.d.mts.map +1 -0
- package/dist/web-effect-B9hp9jIe.mjs +380 -0
- package/dist/web-effect-B9hp9jIe.mjs.map +1 -0
- package/dist/web.d.mts +22 -13
- package/dist/web.d.mts.map +1 -1
- package/dist/web.mjs +1 -1
- package/package.json +10 -16
- package/dist/context-BphfFUMO.mjs.map +0 -1
- package/dist/current-request-CIU7AHhF.d.mts.map +0 -1
- package/dist/disposable-CP-Q2H3l.mjs +0 -57
- package/dist/disposable-CP-Q2H3l.mjs.map +0 -1
- package/dist/effect-CPdV7Yv8.mjs.map +0 -1
- package/dist/errors-BKcsQ0ip.d.mts.map +0 -1
- package/dist/index-AiKM71-u.d.mts +0 -376
- package/dist/index-AiKM71-u.d.mts.map +0 -1
- package/dist/index-BodMy6rO.d.mts.map +0 -1
- package/dist/index-DAKn0qHk.d.mts.map +0 -1
- package/dist/index-cXgyMa0v.d.mts.map +0 -1
- package/dist/layer-D16GKxuX.mjs +0 -269
- package/dist/layer-D16GKxuX.mjs.map +0 -1
- package/dist/observer-9nhbL7Pr.d.mts +0 -68
- package/dist/observer-9nhbL7Pr.d.mts.map +0 -1
- package/dist/outcome-DI8LPIQ4.d.mts +0 -387
- package/dist/outcome-DI8LPIQ4.d.mts.map +0 -1
- package/dist/program-metadata-BxjGkT17.mjs +0 -260
- package/dist/program-metadata-BxjGkT17.mjs.map +0 -1
- package/dist/registration-drnZk0SY.mjs.map +0 -1
- package/dist/runtime-C_55ofnL.mjs +0 -791
- package/dist/runtime-C_55ofnL.mjs.map +0 -1
- package/dist/standard-services-vnGIafkS.mjs.map +0 -1
- package/dist/types-oihI-ESv.d.mts.map +0 -1
- package/dist/web-Bq3MfMrj.mjs +0 -147
- package/dist/web-Bq3MfMrj.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-C2OaqTmB.d.mts","names":[],"sources":["../src/service/types.ts","../src/effect/types.ts","../src/service/service.ts","../src/scope/errors.ts","../src/scope/types.ts","../src/scope/scope.ts","../src/internal/missing-dependencies.ts","../src/layer/metadata.ts","../src/layer/inference.ts","../src/layer/errors.ts","../src/utils/types.ts","../src/layer/types.ts","../src/layer/backend.ts","../src/effect/task.ts","../src/runtime/observer.ts","../src/runtime/outcome.ts","../src/runtime/executor.ts","../src/runtime/context.ts","../src/service/runtime.ts","../src/service/errors.ts","../src/internal/variance.ts","../src/layer/layer.ts"],"mappings":"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"}
|
package/dist/next.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { c as WebJsonValue, u as WebRequestLayerChecks } from "./types-oihI-ESv.mjs";
|
|
1
|
+
import { $ as CompleteInput, At as EffectRequirements, Ft as ProgramFromGenerator, It as ServiceRequirement, Lt as AnyService, Mt as EffectYield, Ot as EffectError, Pt as Program, ct as ValidateLayerInput, et as ExecutionMissing, g as RuntimeOptions, h as RuntimeDisposeOptions, it as MissingServices, jt as EffectSuccess, lt as ValidateOneOverride, ot as ProvidedEnvironment, pt as MissingDependencies, st as RequiredEnvironment, tt as LayerInput } from "./layer-C2OaqTmB.mjs";
|
|
2
|
+
import { a as RuntimeInspection } from "./index-ClNndn2-.mjs";
|
|
3
|
+
import { t as CurrentRequest } from "./current-request-Dm-QQ3Xr.mjs";
|
|
4
|
+
import { h as WebRequestLayerChecks, p as WebJsonValue } from "./types-BFTqCCcw.mjs";
|
|
6
5
|
import { Result } from "better-result";
|
|
7
6
|
//#region src/next/types.d.ts
|
|
8
7
|
/** Route parameters exposed by Next.js App Router contexts. */
|
|
@@ -31,8 +30,10 @@ type AnyResult = Result<any, any>;
|
|
|
31
30
|
type DefaultRequestLayer = ReturnType<typeof CurrentRequest.layer>;
|
|
32
31
|
/** Services available to a route Program after its request Layer is installed. */
|
|
33
32
|
type AvailableServices<Provided extends AnyService, RequestLayer extends LayerInput> = Provided | InstanceType<typeof CurrentRequest> | ProvidedEnvironment<RequestLayer>;
|
|
34
|
-
/** Validate a request Layer against a Runtime and
|
|
33
|
+
/** Validate a request Layer against a managed Runtime and CurrentRequest. */
|
|
35
34
|
type NextRequestLayerChecks<Provided extends AnyService, RequestLayer extends LayerInput> = WebRequestLayerChecks<Provided, RequestLayer>;
|
|
35
|
+
/** Validate a request Layer for the embedded mode, whose root environment is external. */
|
|
36
|
+
type FromCurrentRequestLayerChecks<RequestLayer extends LayerInput> = ValidateLayerInput<RequestLayer> & ValidateOneOverride<DefaultRequestLayer, RequestLayer>;
|
|
36
37
|
type InvalidFailure<Actual, Expected> = {
|
|
37
38
|
readonly __betterEffectInvalidNextFailure: {
|
|
38
39
|
readonly actual: Actual;
|
|
@@ -40,12 +41,18 @@ type InvalidFailure<Actual, Expected> = {
|
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
43
|
type FailureCheck<Failure, Actual> = [Actual] extends [Failure] ? unknown : InvalidFailure<Actual, Failure>;
|
|
43
|
-
/** Services
|
|
44
|
+
/** Services supplied by the embedded request boundary itself. */
|
|
45
|
+
type RequestBoundaryServices<RequestLayer extends LayerInput> = Extract<InstanceType<typeof CurrentRequest> | ProvidedEnvironment<RequestLayer>, AnyService>;
|
|
46
|
+
/** Requirements that must be supplied by the Runtime containing a fromCurrent builder. */
|
|
47
|
+
type FromCurrentRequirements<Program extends AnyProgram, RequestLayer extends LayerInput> = MissingServices<Extract<EffectRequirements<Program> | RequiredEnvironment<RequestLayer>, AnyService>, RequestBoundaryServices<RequestLayer>>;
|
|
48
|
+
/** Services and failures checked for one managed route Program. */
|
|
44
49
|
type NextProgramChecks<Provided extends AnyService, RequestLayer extends LayerInput, Program extends AnyProgram, Failure = unknown> = (ExecutionMissing<AvailableServices<Provided, RequestLayer>, Program> extends never ? unknown : MissingDependencies<ExecutionMissing<AvailableServices<Provided, RequestLayer>, Program>>) & FailureCheck<Failure, EffectError<Program>>;
|
|
45
50
|
/** A route Program after its Service and Failure channels have been checked. */
|
|
46
51
|
type CompleteNextProgram<Provided extends AnyService, RequestLayer extends LayerInput, Program extends AnyProgram, Failure = unknown> = Program & NextProgramChecks<Provided, RequestLayer, Program, Failure>;
|
|
47
|
-
/** Convert a route Program factory into a checked factory
|
|
52
|
+
/** Convert a managed route Program factory into a checked factory. */
|
|
48
53
|
type NextHandlerFactory<Context extends object, Provided extends AnyService, RequestLayer extends LayerInput, Failure, ProgramFactory extends (request: Request, context: Context) => AnyProgram> = ProgramFactory & ([ReturnType<ProgramFactory>] extends [CompleteNextProgram<Provided, RequestLayer, ReturnType<ProgramFactory>, Failure>] ? unknown : (request: Request, context: Context) => CompleteNextProgram<Provided, RequestLayer, ReturnType<ProgramFactory>, Failure>);
|
|
54
|
+
/** Convert an embedded route Program factory into a failure-checked factory. */
|
|
55
|
+
type FromCurrentHandlerFactory<Context extends object, Failure, ProgramFactory extends (request: Request, context: Context) => AnyProgram> = ProgramFactory & ([ReturnType<ProgramFactory>] extends [ReturnType<ProgramFactory> & FailureCheck<Failure, EffectError<ReturnType<ProgramFactory>>>] ? unknown : (request: Request, context: Context) => ReturnType<ProgramFactory> & FailureCheck<Failure, EffectError<ReturnType<ProgramFactory>>>);
|
|
49
56
|
/** A generator body used by `NextEffect.gen`. */
|
|
50
57
|
type GeneratorBody<Context extends object, Yield extends EffectYield, Returned extends AnyResult> = (request: Request, context: Context) => Generator<Yield, Returned, unknown> | AsyncGenerator<Yield, Returned, unknown>;
|
|
51
58
|
/** Options shared by every Route Handler created by a NextEffect instance. */
|
|
@@ -57,6 +64,23 @@ type NextEffectOptions<Failure = unknown, RequestLayer extends LayerInput = Retu
|
|
|
57
64
|
/** Convert a typed Program failure to a native Response. */
|
|
58
65
|
readonly onFailure?: (error: Failure, request: Request, context: Context) => ResponseLike;
|
|
59
66
|
};
|
|
67
|
+
/** Runtime options accepted by a managed NextEffect, excluding backend ownership. */
|
|
68
|
+
type NextEffectManagedRuntimeOptions = Omit<RuntimeOptions, 'backend'>;
|
|
69
|
+
/** Options for `NextEffect.managed`. */
|
|
70
|
+
type NextEffectManagedOptions<Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext> = NextEffectOptions<Failure, RequestLayer, Context> & {
|
|
71
|
+
/** Runtime warmup, observers and host-specific context options. */
|
|
72
|
+
readonly runtime?: NextEffectManagedRuntimeOptions;
|
|
73
|
+
};
|
|
74
|
+
/** A detached diagnostic snapshot of a managed NextEffect manager. */
|
|
75
|
+
type NextEffectManagedInspection = {
|
|
76
|
+
readonly state: 'idle' | 'initializing' | 'ready' | 'failed' | 'disposing' | 'disposed';
|
|
77
|
+
readonly runtime?: RuntimeInspection;
|
|
78
|
+
};
|
|
79
|
+
/** A yieldable value returned by fromCurrent route materialization. */
|
|
80
|
+
type NextEffectYieldable<Value, Required extends AnyService = never> = {
|
|
81
|
+
[Symbol.iterator](): Generator<ServiceRequirement<Required>, Value, unknown>;
|
|
82
|
+
[Symbol.asyncIterator](): AsyncGenerator<ServiceRequirement<Required>, Value, unknown>;
|
|
83
|
+
};
|
|
60
84
|
/** Options for one typed route success policy. */
|
|
61
85
|
type NextEffectRouteSuccessPolicy<A, Context extends object> = {
|
|
62
86
|
/** Handle the success value directly and return a native Response. */
|
|
@@ -80,37 +104,89 @@ type NextEffectRouteSuccessPolicy<A, Context extends object> = {
|
|
|
80
104
|
readonly onSuccess?: never;
|
|
81
105
|
};
|
|
82
106
|
type NextEffectRouteOptions<A, Context extends object = NextEffectContext> = NextEffectRouteSuccessPolicy<A, Context>;
|
|
83
|
-
/** Service and Failure checks for a generator-created route Program. */
|
|
107
|
+
/** Service and Failure checks for a managed generator-created route Program. */
|
|
84
108
|
type NextGeneratorChecks<Provided extends AnyService, RequestLayer extends LayerInput, Yield extends EffectYield, Returned extends AnyResult, Failure = unknown> = NextProgramChecks<Provided, RequestLayer, ProgramFromGenerator<Yield, Returned>, Failure>;
|
|
109
|
+
/** Failure checks for an embedded generator-created route Program. */
|
|
110
|
+
type FromCurrentGeneratorChecks<Yield extends EffectYield, Returned extends AnyResult, Failure = unknown> = FailureCheck<Failure, EffectError<ProgramFromGenerator<Yield, Returned>>>;
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/next/lifecycle.d.ts
|
|
113
|
+
/** Thrown when a managed NextEffect no longer accepts new requests. */
|
|
114
|
+
declare class NextEffectDisposedError extends Error {
|
|
115
|
+
constructor();
|
|
116
|
+
}
|
|
117
|
+
/** Own one lazy Runtime for a Next host without exposing that Runtime publicly. */
|
|
118
|
+
declare class ManagedNextEffect<Layer extends LayerInput, Failure = unknown, RequestLayer extends LayerInput = ReturnType<typeof CurrentRequest.layer>, Context extends object = NextEffectContext> {
|
|
119
|
+
private readonly layer;
|
|
120
|
+
private readonly options;
|
|
121
|
+
private state;
|
|
122
|
+
private runtimePromise;
|
|
123
|
+
private runtime;
|
|
124
|
+
private disposePromise;
|
|
125
|
+
private readonly activeHandlers;
|
|
126
|
+
constructor(layer: Layer & CompleteInput<Layer>, options: NextEffectManagedOptions<Failure, RequestLayer, Context>);
|
|
127
|
+
/** Create a native Route Handler from a checked Program factory. */
|
|
128
|
+
handler<Program extends AnyProgram>(makeProgram: (request: Request, context: Context) => CompleteNextProgram<ProvidedEnvironment<Layer>, RequestLayer, Program, Failure>, options?: NextEffectRouteOptions<EffectSuccess<Program>, Context>): NextRouteHandler<Context>;
|
|
129
|
+
handler<const HandlerContext extends object, const ProgramFactory extends (request: Request, context: HandlerContext) => AnyProgram>(makeProgram: NextHandlerFactory<HandlerContext, ProvidedEnvironment<Layer>, RequestLayer, Failure, ProgramFactory>, options?: NextEffectRouteOptions<EffectSuccess<ReturnType<ProgramFactory>>, HandlerContext>): NextRouteHandler<HandlerContext>;
|
|
130
|
+
/** Create a native Route Handler from a checked generator body. */
|
|
131
|
+
gen<const HandlerContext extends object = Context, const Yield extends EffectYield = EffectYield, const Returned extends AnyResult = AnyResult>(body: GeneratorBody<HandlerContext, Yield, Returned> & NextGeneratorChecks<ProvidedEnvironment<Layer>, RequestLayer, Yield, Returned, Failure>, options?: NextEffectRouteOptions<EffectSuccess<ProgramFromGenerator<Yield, Returned>>, HandlerContext>): NextRouteHandler<HandlerContext>;
|
|
132
|
+
gen<const CustomContext extends object, const CustomYield extends EffectYield, const CustomReturned extends AnyResult>(body: GeneratorBody<CustomContext, CustomYield, CustomReturned> & NextGeneratorChecks<ProvidedEnvironment<Layer>, RequestLayer, CustomYield, CustomReturned, Failure>, options?: NextEffectRouteOptions<EffectSuccess<ProgramFromGenerator<CustomYield, CustomReturned>>, CustomContext>): NextRouteHandler<CustomContext>;
|
|
133
|
+
/** Eagerly initialize the manager's single Runtime. */
|
|
134
|
+
initialize(): Promise<void>;
|
|
135
|
+
/** Return a detached lifecycle snapshot without exposing the owned Runtime. */
|
|
136
|
+
inspect(): NextEffectManagedInspection;
|
|
137
|
+
/** Stop admitting requests, drain admitted handlers, and dispose the owned Runtime. */
|
|
138
|
+
dispose(options?: RuntimeDisposeOptions): Promise<void>;
|
|
139
|
+
/** Release the owned Runtime through JavaScript's async disposal protocol. */
|
|
140
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
141
|
+
/** Wrap a materialized route so requests admitted before disposal are drained. */
|
|
142
|
+
private protect;
|
|
143
|
+
/** Resolve the non-owning executor for an already admitted request. */
|
|
144
|
+
private executor;
|
|
145
|
+
private ensureRuntime;
|
|
146
|
+
private runAdmitted;
|
|
147
|
+
private performDispose;
|
|
148
|
+
}
|
|
85
149
|
//#endregion
|
|
86
150
|
//#region src/next/next-effect.d.ts
|
|
87
|
-
/**
|
|
88
|
-
declare class NextEffect
|
|
89
|
-
readonly runtime: Runtime<Provided>;
|
|
90
|
-
private readonly onSuccess;
|
|
91
|
-
private readonly onFailure;
|
|
92
|
-
private readonly requestLayer;
|
|
151
|
+
/** The two explicit ownership modes for the Next.js adapter. */
|
|
152
|
+
declare class NextEffect {
|
|
93
153
|
private constructor();
|
|
94
|
-
/**
|
|
95
|
-
static
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
154
|
+
/** Build an inert adapter whose handlers capture the current Runtime executor when yielded. */
|
|
155
|
+
static fromCurrent<Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext>(options?: NextEffectOptions<Failure, RequestLayer, Context> & FromCurrentRequestLayerChecks<RequestLayer>): NextEffect.FromCurrent<Failure, RequestLayer, Context>;
|
|
156
|
+
/** Build a host-owned adapter with one lazy Runtime for the supplied complete Layer. */
|
|
157
|
+
static managed<Layer extends LayerInput, Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext>(layer: Layer & CompleteInput<Layer>, options?: NextEffectManagedOptions<Failure, RequestLayer, Context> & NextRequestLayerChecks<ProvidedEnvironment<Layer>, RequestLayer>): NextEffect.Managed<Layer, Failure, RequestLayer, Context>;
|
|
158
|
+
}
|
|
159
|
+
declare class FromCurrentNextEffect<Failure, RequestLayer extends LayerInput, Context extends object> {
|
|
160
|
+
private readonly options;
|
|
161
|
+
constructor(options: NextEffectOptions<Failure, RequestLayer, Context>);
|
|
162
|
+
/** Materialize a route while resolving only the current Runtime executor. */
|
|
163
|
+
handler<Program extends AnyProgram>(makeProgram: FromCurrentHandlerFactory<Context, Failure, (request: Request, context: Context) => Program>, options?: NextEffectRouteOptions<EffectSuccess<Program>, Context>): NextEffectYieldable<NextRouteHandler<Context>, FromCurrentRequirements<Program, RequestLayer>>;
|
|
164
|
+
handler<const HandlerContext extends object, const ProgramFactory extends (request: Request, context: HandlerContext) => AnyProgram>(makeProgram: FromCurrentHandlerFactory<HandlerContext, Failure, ProgramFactory>, options?: NextEffectRouteOptions<EffectSuccess<ReturnType<ProgramFactory>>, HandlerContext>): NextEffectYieldable<NextRouteHandler<HandlerContext>, FromCurrentRequirements<ReturnType<ProgramFactory>, RequestLayer>>;
|
|
165
|
+
/** Materialize a generator route while preserving its external Service requirements. */
|
|
166
|
+
gen<const HandlerContext extends object = Context, const Yield extends EffectYield = EffectYield, const Returned extends AnyResult = AnyResult>(body: GeneratorBody<HandlerContext, Yield, Returned> & FromCurrentGeneratorChecks<Yield, Returned, Failure>, options?: NextEffectRouteOptions<EffectSuccess<ProgramFromGenerator<Yield, Returned>>, HandlerContext>): NextEffectYieldable<NextRouteHandler<HandlerContext>, FromCurrentRequirements<ProgramFromGenerator<Yield, Returned>, RequestLayer>>;
|
|
167
|
+
gen<const CustomContext extends object, const CustomYield extends EffectYield, const CustomReturned extends AnyResult>(body: GeneratorBody<CustomContext, CustomYield, CustomReturned> & FromCurrentGeneratorChecks<CustomYield, CustomReturned, Failure>, options?: NextEffectRouteOptions<EffectSuccess<ProgramFromGenerator<CustomYield, CustomReturned>>, CustomContext>): NextEffectYieldable<NextRouteHandler<CustomContext>, FromCurrentRequirements<ProgramFromGenerator<CustomYield, CustomReturned>, RequestLayer>>;
|
|
168
|
+
private materialize;
|
|
103
169
|
}
|
|
104
170
|
declare namespace NextEffect {
|
|
105
|
-
/**
|
|
171
|
+
/** The inert embedded adapter returned by `fromCurrent`. */
|
|
172
|
+
type FromCurrent<Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext> = FromCurrentNextEffect<Failure, RequestLayer, Context>;
|
|
173
|
+
/** The host-owned adapter returned by `managed`. */
|
|
174
|
+
type Managed<Layer extends LayerInput, Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext> = ManagedNextEffect<Layer, Failure, RequestLayer, Context>;
|
|
175
|
+
/** Options shared by all handlers created from a NextEffect builder. */
|
|
106
176
|
type Options<Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext> = NextEffectOptions<Failure, RequestLayer, Context>;
|
|
177
|
+
/** Options for a host-owned managed adapter. */
|
|
178
|
+
type ManagedOptions<Failure = unknown, RequestLayer extends LayerInput = DefaultRequestLayer, Context extends object = NextEffectContext> = NextEffectManagedOptions<Failure, RequestLayer, Context>;
|
|
179
|
+
/** The lifecycle inspection returned by a managed adapter. */
|
|
180
|
+
type ManagedInspection = NextEffectManagedInspection;
|
|
107
181
|
/** A typed per-route success policy. */
|
|
108
182
|
type RouteOptions<A, Context extends object = NextEffectContext> = NextEffectRouteOptions<A, Context>;
|
|
109
183
|
/** The explicit App Router context passed to route factories. */
|
|
110
184
|
type Context<Params extends object = NextEffectParams> = NextEffectContext<Params>;
|
|
111
185
|
/** The native handler returned by `handler` and `gen`. */
|
|
112
186
|
type Handler<Context extends object = NextEffectContext> = NextRouteHandler<Context>;
|
|
187
|
+
/** A native success policy value. */
|
|
188
|
+
type Success<A = unknown> = NextEffectSuccess<A>;
|
|
113
189
|
}
|
|
114
190
|
//#endregion
|
|
115
|
-
export { NextEffect, type NextEffectContext, type NextEffectOptions, type NextEffectParams, type NextEffectProgram, type NextEffectRouteOptions, type NextEffectSuccess, type NextRouteHandler, type ResponseLike };
|
|
191
|
+
export { type FromCurrentGeneratorChecks, type FromCurrentHandlerFactory, type FromCurrentRequestLayerChecks, type FromCurrentRequirements, NextEffect, type NextEffectContext, NextEffectDisposedError, type NextEffectManagedInspection, type NextEffectManagedOptions, type NextEffectManagedRuntimeOptions, type NextEffectOptions, type NextEffectParams, type NextEffectProgram, type NextEffectRouteOptions, type NextEffectSuccess, type NextEffectYieldable, type NextRouteHandler, type ResponseLike };
|
|
116
192
|
//# sourceMappingURL=next.d.mts.map
|
package/dist/next.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.d.mts","names":[],"sources":["../src/next/types.ts","../src/next/next-effect.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"next.d.mts","names":[],"sources":["../src/next/types.ts","../src/next/lifecycle.ts","../src/next/next-effect.ts"],"mappings":"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"}
|
package/dist/next.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { t as
|
|
1
|
+
import { t as Runtime } from "./runtime-qpcVwaz_.mjs";
|
|
2
|
+
import { t as Effect } from "./effect-W0IQXY8P.mjs";
|
|
3
|
+
import { t as WebEffect } from "./web-effect-B9hp9jIe.mjs";
|
|
3
4
|
import { Result } from "better-result";
|
|
4
|
-
//#region src/next/
|
|
5
|
+
//#region src/next/route-builder.ts
|
|
5
6
|
const routeSuccessPolicyNames = [
|
|
6
7
|
"respond",
|
|
7
8
|
"serialize",
|
|
@@ -11,58 +12,174 @@ const assertExclusiveRouteSuccessPolicy = (options) => {
|
|
|
11
12
|
const configuredPolicies = routeSuccessPolicyNames.filter((name) => options[name] !== void 0);
|
|
12
13
|
if (configuredPolicies.length > 1) throw new TypeError(`NextEffect route options must configure at most one success policy; received ${configuredPolicies.join(", ")}`);
|
|
13
14
|
};
|
|
14
|
-
/**
|
|
15
|
-
|
|
15
|
+
/** Build the shared Next/WebEffect request boundary for both ownership modes. */
|
|
16
|
+
const makeNextRouteHandler = (getExecutor, instanceOptions, makeProgram, routeOptions) => {
|
|
17
|
+
assertExclusiveRouteSuccessPolicy(routeOptions);
|
|
18
|
+
return async (request, context) => {
|
|
19
|
+
const executor = await getExecutor(request, context);
|
|
20
|
+
const program = makeProgram(request, context);
|
|
21
|
+
const effectiveProgram = routeOptions.serialize === void 0 ? program : async () => {
|
|
22
|
+
const result = await program();
|
|
23
|
+
if (Result.isError(result)) return result;
|
|
24
|
+
return Result.ok(routeOptions.serialize(result.value, request, context));
|
|
25
|
+
};
|
|
26
|
+
const webOptions = {};
|
|
27
|
+
if (instanceOptions.requestLayer !== void 0) webOptions.requestLayer = () => instanceOptions.requestLayer(request, context);
|
|
28
|
+
if (routeOptions.respond !== void 0) webOptions.onSuccess = ({ value }) => routeOptions.respond(value, request, context);
|
|
29
|
+
else if (routeOptions.onSuccess !== void 0) webOptions.onSuccess = (result) => routeOptions.onSuccess(result, request, context);
|
|
30
|
+
else if (instanceOptions.onSuccess !== void 0) webOptions.onSuccess = (result) => instanceOptions.onSuccess(result, request, context);
|
|
31
|
+
if (instanceOptions.onFailure !== void 0) webOptions.onFailure = (error) => instanceOptions.onFailure(error, request, context);
|
|
32
|
+
return await WebEffect.handleWith(executor, request, effectiveProgram, webOptions);
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/next/lifecycle.ts
|
|
37
|
+
/** Thrown when a managed NextEffect no longer accepts new requests. */
|
|
38
|
+
var NextEffectDisposedError = class extends Error {
|
|
39
|
+
constructor() {
|
|
40
|
+
super("Cannot use a disposed NextEffect manager");
|
|
41
|
+
this.name = "NextEffectDisposedError";
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/** Own one lazy Runtime for a Next host without exposing that Runtime publicly. */
|
|
45
|
+
var ManagedNextEffect = class {
|
|
46
|
+
layer;
|
|
47
|
+
options;
|
|
48
|
+
state = "idle";
|
|
49
|
+
runtimePromise;
|
|
16
50
|
runtime;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.
|
|
22
|
-
this.onSuccess = options.onSuccess;
|
|
23
|
-
this.onFailure = options.onFailure;
|
|
24
|
-
this.requestLayer = options.requestLayer;
|
|
25
|
-
}
|
|
26
|
-
/** Bind an application-owned Runtime to App Router Route Handler factories. */
|
|
27
|
-
static make(runtime, options) {
|
|
28
|
-
return new NextEffect(runtime, options ?? {});
|
|
51
|
+
disposePromise;
|
|
52
|
+
activeHandlers = /* @__PURE__ */ new Set();
|
|
53
|
+
constructor(layer, options) {
|
|
54
|
+
this.layer = layer;
|
|
55
|
+
this.options = options;
|
|
29
56
|
}
|
|
30
57
|
handler(...args) {
|
|
31
58
|
const makeProgram = args[0];
|
|
32
59
|
const options = args[1] ?? {};
|
|
33
|
-
|
|
60
|
+
const route = makeNextRouteHandler((_request, _context) => this.executor().then((executor) => executor), this.options, makeProgram, options);
|
|
61
|
+
return this.protect(route);
|
|
34
62
|
}
|
|
35
63
|
gen(...args) {
|
|
36
64
|
const body = args[0];
|
|
37
65
|
const options = args[1] ?? {};
|
|
38
|
-
|
|
66
|
+
const route = makeNextRouteHandler((_request, _context) => this.executor().then((executor) => executor), this.options, (request, context) => {
|
|
39
67
|
return Effect.fn(() => body(request, context));
|
|
40
68
|
}, options);
|
|
69
|
+
return this.protect(route);
|
|
70
|
+
}
|
|
71
|
+
/** Eagerly initialize the manager's single Runtime. */
|
|
72
|
+
async initialize() {
|
|
73
|
+
await this.ensureRuntime(false);
|
|
74
|
+
}
|
|
75
|
+
/** Return a detached lifecycle snapshot without exposing the owned Runtime. */
|
|
76
|
+
inspect() {
|
|
77
|
+
const runtime = this.runtime?.inspect();
|
|
78
|
+
if (runtime === void 0) return Object.freeze({ state: this.state });
|
|
79
|
+
return Object.freeze({
|
|
80
|
+
state: this.state,
|
|
81
|
+
runtime
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/** Stop admitting requests, drain admitted handlers, and dispose the owned Runtime. */
|
|
85
|
+
dispose(options) {
|
|
86
|
+
if (this.disposePromise !== void 0) return this.disposePromise;
|
|
87
|
+
this.state = "disposing";
|
|
88
|
+
const activeHandlers = [...this.activeHandlers];
|
|
89
|
+
const disposal = this.performDispose(activeHandlers, options);
|
|
90
|
+
this.disposePromise = disposal;
|
|
91
|
+
return disposal;
|
|
92
|
+
}
|
|
93
|
+
/** Release the owned Runtime through JavaScript's async disposal protocol. */
|
|
94
|
+
async [Symbol.asyncDispose]() {
|
|
95
|
+
await this.dispose();
|
|
96
|
+
}
|
|
97
|
+
/** Wrap a materialized route so requests admitted before disposal are drained. */
|
|
98
|
+
protect(handler) {
|
|
99
|
+
return async (request, context) => await this.runAdmitted(() => handler(request, context));
|
|
100
|
+
}
|
|
101
|
+
/** Resolve the non-owning executor for an already admitted request. */
|
|
102
|
+
executor() {
|
|
103
|
+
return this.ensureRuntime(true).then((runtime) => runtime.executor);
|
|
104
|
+
}
|
|
105
|
+
ensureRuntime(allowDisposing) {
|
|
106
|
+
if (this.state === "disposed" || this.state === "disposing" && !allowDisposing) return Promise.reject(new NextEffectDisposedError());
|
|
107
|
+
if (this.runtimePromise !== void 0) return this.runtimePromise;
|
|
108
|
+
this.state = "initializing";
|
|
109
|
+
const runtimePromise = Runtime.make(this.layer, this.options.runtime);
|
|
110
|
+
this.runtimePromise = runtimePromise;
|
|
111
|
+
runtimePromise.then((runtime) => {
|
|
112
|
+
this.runtime = runtime;
|
|
113
|
+
if (this.state === "initializing") this.state = "ready";
|
|
114
|
+
}, () => {
|
|
115
|
+
if (this.state === "initializing") this.state = "failed";
|
|
116
|
+
});
|
|
117
|
+
return runtimePromise;
|
|
118
|
+
}
|
|
119
|
+
async runAdmitted(run) {
|
|
120
|
+
if (this.state === "disposing" || this.state === "disposed") throw new NextEffectDisposedError();
|
|
121
|
+
const execution = Promise.resolve().then(run);
|
|
122
|
+
this.activeHandlers.add(execution);
|
|
123
|
+
execution.then(() => this.activeHandlers.delete(execution), () => this.activeHandlers.delete(execution));
|
|
124
|
+
return await execution;
|
|
125
|
+
}
|
|
126
|
+
async performDispose(activeHandlers, options) {
|
|
127
|
+
await Promise.allSettled(activeHandlers);
|
|
128
|
+
let runtime;
|
|
129
|
+
if (this.runtimePromise !== void 0) try {
|
|
130
|
+
runtime = await this.runtimePromise;
|
|
131
|
+
} catch {}
|
|
132
|
+
let disposalFailure;
|
|
133
|
+
if (runtime !== void 0) try {
|
|
134
|
+
await runtime.dispose(options);
|
|
135
|
+
} catch (cause) {
|
|
136
|
+
disposalFailure = cause;
|
|
137
|
+
}
|
|
138
|
+
this.state = "disposed";
|
|
139
|
+
if (disposalFailure !== void 0) throw disposalFailure;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
//#endregion
|
|
143
|
+
//#region src/next/next-effect.ts
|
|
144
|
+
/** The two explicit ownership modes for the Next.js adapter. */
|
|
145
|
+
var NextEffect = class {
|
|
146
|
+
constructor() {}
|
|
147
|
+
/** Build an inert adapter whose handlers capture the current Runtime executor when yielded. */
|
|
148
|
+
static fromCurrent(options) {
|
|
149
|
+
return new FromCurrentNextEffect(options ?? {});
|
|
150
|
+
}
|
|
151
|
+
/** Build a host-owned adapter with one lazy Runtime for the supplied complete Layer. */
|
|
152
|
+
static managed(layer, options) {
|
|
153
|
+
return new ManagedNextEffect(layer, options ?? {});
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
var FromCurrentNextEffect = class {
|
|
157
|
+
options;
|
|
158
|
+
constructor(options) {
|
|
159
|
+
this.options = options;
|
|
160
|
+
}
|
|
161
|
+
handler(...args) {
|
|
162
|
+
const makeProgram = args[0];
|
|
163
|
+
const options = args[1] ?? {};
|
|
164
|
+
return this.materialize((executor) => makeNextRouteHandler(() => executor, this.options, makeProgram, options));
|
|
165
|
+
}
|
|
166
|
+
gen(...args) {
|
|
167
|
+
const body = args[0];
|
|
168
|
+
const options = args[1] ?? {};
|
|
169
|
+
return this.materialize((executor) => makeNextRouteHandler(() => executor, this.options, (request, context) => Effect.fn(() => body(request, context)), options));
|
|
41
170
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
} : program;
|
|
51
|
-
const webOptions = {};
|
|
52
|
-
if (this.requestLayer !== void 0) webOptions.requestLayer = () => this.requestLayer(request, context);
|
|
53
|
-
if (routeOptions.respond !== void 0) webOptions.onSuccess = ({ value }) => routeOptions.respond(value, request, context);
|
|
54
|
-
else if (routeOptions.onSuccess !== void 0) webOptions.onSuccess = (result) => routeOptions.onSuccess(result, request, context);
|
|
55
|
-
else if (this.onSuccess !== void 0) webOptions.onSuccess = (result) => {
|
|
56
|
-
return this.onSuccess(result, request, context);
|
|
57
|
-
};
|
|
58
|
-
if (this.onFailure !== void 0) webOptions.onFailure = (error) => {
|
|
59
|
-
return this.onFailure(error, request, context);
|
|
60
|
-
};
|
|
61
|
-
return await WebEffect.handle(this.runtime, request, effectiveProgram, webOptions);
|
|
171
|
+
materialize(build) {
|
|
172
|
+
return {
|
|
173
|
+
*[Symbol.iterator]() {
|
|
174
|
+
return build(yield* Runtime.executor());
|
|
175
|
+
},
|
|
176
|
+
async *[Symbol.asyncIterator]() {
|
|
177
|
+
return build(yield* Runtime.executor());
|
|
178
|
+
}
|
|
62
179
|
};
|
|
63
180
|
}
|
|
64
181
|
};
|
|
65
182
|
//#endregion
|
|
66
|
-
export { NextEffect };
|
|
183
|
+
export { NextEffect, NextEffectDisposedError };
|
|
67
184
|
|
|
68
185
|
//# sourceMappingURL=next.mjs.map
|
package/dist/next.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.mjs","names":[],"sources":["../src/next/next-effect.ts"],"sourcesContent":["/* oxlint-disable anti-slop/no-object-parameters -- the private boundary erases arbitrary framework context types after public overload validation. */\n/* oxlint-disable anti-slop/no-unknown-parameters -- response policy values are opaque until WebEffect validates them. */\n/* oxlint-disable anti-slop/no-unsafe-dictionary-type -- the private WebEffect options object is populated only by checked policies. */\n\nimport { Result } from 'better-result'\n\nimport { Effect } from '../effect'\nimport type { EffectSuccess, EffectYield, ProgramFromGenerator } from '../effect/types'\nimport type { LayerInput } from '../layer/inference'\nimport type { Runtime } from '../runtime'\nimport type { AnyService } from '../service'\nimport { WebEffect } from '../web'\nimport type {\n AnyProgram,\n AnyResult,\n DefaultRequestLayer,\n GeneratorBody,\n NextEffectContext,\n NextEffectOptions,\n NextEffectParams,\n NextEffectRouteOptions,\n NextGeneratorChecks,\n CompleteNextProgram,\n NextHandlerFactory,\n NextRequestLayerChecks,\n NextRouteHandler\n} from './types'\n\nconst routeSuccessPolicyNames = ['respond', 'serialize', 'onSuccess'] as const\n\nconst assertExclusiveRouteSuccessPolicy = (\n options: NextEffectRouteOptions<unknown, object>\n): void => {\n const configuredPolicies = routeSuccessPolicyNames.filter((name) => options[name] !== undefined)\n\n if (configuredPolicies.length > 1) {\n throw new TypeError(\n `NextEffect route options must configure at most one success policy; received ${configuredPolicies.join(', ')}`\n )\n }\n}\n\n/** Run Result-valued Programs inside one Runtime boundary per Next request. */\nexport class NextEffect<\n Provided extends AnyService = AnyService,\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n> {\n readonly runtime: Runtime<Provided>\n\n private readonly onSuccess: NextEffectOptions<Failure, RequestLayer, Context>['onSuccess']\n\n private readonly onFailure: NextEffectOptions<Failure, RequestLayer, Context>['onFailure']\n\n private readonly requestLayer: NextEffectOptions<Failure, RequestLayer, Context>['requestLayer']\n\n private constructor(\n runtime: Runtime<Provided>,\n options: NextEffectOptions<Failure, RequestLayer, Context>\n ) {\n this.runtime = runtime\n this.onSuccess = options.onSuccess\n this.onFailure = options.onFailure\n this.requestLayer = options.requestLayer\n }\n\n /** Bind an application-owned Runtime to App Router Route Handler factories. */\n static make<\n Provided extends AnyService,\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n >(\n runtime: Runtime<Provided>,\n options?: NextEffectOptions<Failure, RequestLayer, Context> &\n NextRequestLayerChecks<Provided, RequestLayer>\n ): NextEffect<Provided, Failure, RequestLayer, Context> {\n return new NextEffect(runtime, options ?? {})\n }\n\n /** Create a native Route Handler from an explicit Request/context Program factory. */\n handler<Program extends AnyProgram>(\n makeProgram: (\n request: Request,\n context: Context\n ) => CompleteNextProgram<Provided, RequestLayer, Program, Failure>,\n options?: NextEffectRouteOptions<EffectSuccess<Program>, Context>\n ): NextRouteHandler<Context>\n handler<\n const HandlerContext extends object,\n const ProgramFactory extends (request: Request, context: HandlerContext) => AnyProgram\n >(\n makeProgram: NextHandlerFactory<\n HandlerContext,\n Provided,\n RequestLayer,\n Failure,\n ProgramFactory\n >,\n options?: NextEffectRouteOptions<EffectSuccess<ReturnType<ProgramFactory>>, HandlerContext>\n ): NextRouteHandler<HandlerContext>\n handler(...args: unknown[]): NextRouteHandler<object> {\n // SAFETY: The public overloads restrict the first argument to a checked Program factory.\n const makeProgram = args[0] as (request: Request, context: object) => AnyProgram\n // SAFETY: The public overloads restrict the optional second argument to route options.\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n\n return this.makeHandler(makeProgram, options)\n }\n\n /** Create a native Route Handler from a Request/context generator body. */\n gen<\n const HandlerContext extends object = Context,\n const Yield extends EffectYield = EffectYield,\n const Returned extends AnyResult = AnyResult\n >(\n body: GeneratorBody<HandlerContext, Yield, Returned> &\n NextGeneratorChecks<Provided, RequestLayer, Yield, Returned, Failure>,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<Yield, Returned>>,\n HandlerContext\n >\n ): NextRouteHandler<HandlerContext>\n gen<\n const CustomContext extends object,\n const CustomYield extends EffectYield,\n const CustomReturned extends AnyResult\n >(\n body: GeneratorBody<CustomContext, CustomYield, CustomReturned> &\n NextGeneratorChecks<Provided, RequestLayer, CustomYield, CustomReturned, Failure>,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<CustomYield, CustomReturned>>,\n CustomContext\n >\n ): NextRouteHandler<CustomContext>\n gen(...args: unknown[]): NextRouteHandler<object> {\n // SAFETY: The public overloads restrict the first argument to a checked generator body.\n const body = args[0] as GeneratorBody<object, EffectYield, AnyResult>\n // SAFETY: The public overloads restrict the optional second argument to route options.\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n\n return this.makeHandler((request, context) => {\n // SAFETY: Effect.fn accepts the sync or async generator supplied by the public overload.\n const program = Effect.fn(\n // SAFETY: The public overloads accept both sync and async generator bodies; the runtime invokes the resulting Program asynchronously.\n () => body(request, context) as AsyncGenerator<EffectYield, AnyResult, unknown>\n )\n\n // SAFETY: The public overloads validate the generator's Result, failure, and Service channels.\n return program as AnyProgram\n }, options)\n }\n\n private makeHandler(\n makeProgram: (request: Request, context: object) => AnyProgram,\n routeOptions: NextEffectRouteOptions<unknown, object>\n ): NextRouteHandler<object> {\n assertExclusiveRouteSuccessPolicy(routeOptions)\n\n return async (request, context) => {\n const program = makeProgram(request, context)\n const shouldSerialize = routeOptions.serialize !== undefined\n const effectiveProgram = shouldSerialize\n ? async () => {\n const result = await program()\n\n if (Result.isError(result)) {\n return result\n }\n\n return Result.ok(routeOptions.serialize!(result.value, request, context))\n }\n : program\n const webOptions: Record<string, unknown> = {}\n\n if (this.requestLayer !== undefined) {\n // SAFETY: The public handler overloads pair this runtime context with the configured Context type.\n webOptions.requestLayer = () => this.requestLayer!(request, context as Context)\n }\n\n if (routeOptions.respond !== undefined) {\n webOptions.onSuccess = ({ value }: { readonly value: unknown }) =>\n routeOptions.respond!(value, request, context)\n } else if (routeOptions.onSuccess !== undefined) {\n webOptions.onSuccess = (result: { readonly value: unknown }) =>\n routeOptions.onSuccess!(result, request, context)\n } else if (this.onSuccess !== undefined) {\n webOptions.onSuccess = (result: { readonly value: unknown }) => {\n // SAFETY: The public handler overloads pair this runtime context with the configured Context type.\n return this.onSuccess!(result, request, context as Context)\n }\n }\n\n if (this.onFailure !== undefined) {\n webOptions.onFailure = (error: unknown) => {\n // SAFETY: Runtime WebEffect failures are the checked Failure channel of the route Program.\n return this.onFailure!(error as Failure, request, context as Context)\n }\n }\n\n // SAFETY: Public overloads validate the Program, request Layer, Failure, and Response policy before this erased WebEffect call.\n return await WebEffect.handle(\n // SAFETY: The Runtime's concrete Service union is intentionally erased for WebEffect's internal heterogeneous boundary.\n // oxlint-disable-next-line anti-slop/no-chained-type-assertions -- this is the adapter's single generic erasure.\n this.runtime as unknown as Runtime<AnyService>,\n request,\n // SAFETY: The effective Program is either the checked Program or a private serializer wrapper that preserves its Result error channel.\n effectiveProgram as AnyProgram,\n // SAFETY: The erased WebEffect options are built exclusively from the validated route policies above.\n webOptions as never\n )\n }\n }\n}\n\nexport declare namespace NextEffect {\n /** Options shared by all handlers created from a bound Runtime. */\n export type Options<\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n > = NextEffectOptions<Failure, RequestLayer, Context>\n\n /** A typed per-route success policy. */\n export type RouteOptions<A, Context extends object = NextEffectContext> = NextEffectRouteOptions<\n A,\n Context\n >\n\n /** The explicit App Router context passed to route factories. */\n export type Context<Params extends object = NextEffectParams> = NextEffectContext<Params>\n\n /** The native handler returned by `handler` and `gen`. */\n export type Handler<Context extends object = NextEffectContext> = NextRouteHandler<Context>\n}\n"],"mappings":";;;;AA4BA,MAAM,0BAA0B;CAAC;CAAW;CAAa;AAAW;AAEpE,MAAM,qCACJ,YACS;CACT,MAAM,qBAAqB,wBAAwB,QAAQ,SAAS,QAAQ,UAAU,KAAA,CAAS;CAE/F,IAAI,mBAAmB,SAAS,GAC9B,MAAM,IAAI,UACR,gFAAgF,mBAAmB,KAAK,IAAI,GAC9G;AAEJ;;AAGA,IAAa,aAAb,MAAa,WAKX;CACA;CAEA;CAEA;CAEA;CAEA,YACE,SACA,SACA;EACA,KAAK,UAAU;EACf,KAAK,YAAY,QAAQ;EACzB,KAAK,YAAY,QAAQ;EACzB,KAAK,eAAe,QAAQ;CAC9B;;CAGA,OAAO,KAML,SACA,SAEsD;EACtD,OAAO,IAAI,WAAW,SAAS,WAAW,CAAC,CAAC;CAC9C;CAuBA,QAAQ,GAAG,MAA2C;EAEpD,MAAM,cAAc,KAAK;EAEzB,MAAM,UAAW,KAAK,MAAM,CAAC;EAE7B,OAAO,KAAK,YAAY,aAAa,OAAO;CAC9C;CA2BA,IAAI,GAAG,MAA2C;EAEhD,MAAM,OAAO,KAAK;EAElB,MAAM,UAAW,KAAK,MAAM,CAAC;EAE7B,OAAO,KAAK,aAAa,SAAS,YAAY;GAQ5C,OANgB,OAAO,SAEf,KAAK,SAAS,OAAO,CAIhB;EACf,GAAG,OAAO;CACZ;CAEA,YACE,aACA,cAC0B;EAC1B,kCAAkC,YAAY;EAE9C,OAAO,OAAO,SAAS,YAAY;GACjC,MAAM,UAAU,YAAY,SAAS,OAAO;GAE5C,MAAM,mBADkB,aAAa,cAAc,KAAA,IAE/C,YAAY;IACV,MAAM,SAAS,MAAM,QAAQ;IAE7B,IAAI,OAAO,QAAQ,MAAM,GACvB,OAAO;IAGT,OAAO,OAAO,GAAG,aAAa,UAAW,OAAO,OAAO,SAAS,OAAO,CAAC;GAC1E,IACA;GACJ,MAAM,aAAsC,CAAC;GAE7C,IAAI,KAAK,iBAAiB,KAAA,GAExB,WAAW,qBAAqB,KAAK,aAAc,SAAS,OAAkB;GAGhF,IAAI,aAAa,YAAY,KAAA,GAC3B,WAAW,aAAa,EAAE,YACxB,aAAa,QAAS,OAAO,SAAS,OAAO;QAC1C,IAAI,aAAa,cAAc,KAAA,GACpC,WAAW,aAAa,WACtB,aAAa,UAAW,QAAQ,SAAS,OAAO;QAC7C,IAAI,KAAK,cAAc,KAAA,GAC5B,WAAW,aAAa,WAAwC;IAE9D,OAAO,KAAK,UAAW,QAAQ,SAAS,OAAkB;GAC5D;GAGF,IAAI,KAAK,cAAc,KAAA,GACrB,WAAW,aAAa,UAAmB;IAEzC,OAAO,KAAK,UAAW,OAAkB,SAAS,OAAkB;GACtE;GAIF,OAAO,MAAM,UAAU,OAGrB,KAAK,SACL,SAEA,kBAEA,UACF;EACF;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"next.mjs","names":[],"sources":["../src/next/route-builder.ts","../src/next/lifecycle.ts","../src/next/next-effect.ts"],"sourcesContent":["/* oxlint-disable anti-slop/no-object-parameters -- the private boundary erases arbitrary framework context types after public overload validation. */\n/* oxlint-disable anti-slop/no-unknown-parameters -- response policy values are opaque until WebEffect validates them. */\n/* oxlint-disable anti-slop/no-unsafe-dictionary-type -- the private WebEffect options object is populated only by checked policies. */\n\nimport { Result } from 'better-result'\n\nimport type { LayerInput } from '../layer/inference'\nimport type { RuntimeExecutor } from '../runtime'\nimport type { AnyService } from '../service'\nimport { WebEffect } from '../web'\nimport type {\n AnyProgram,\n NextEffectOptions,\n NextEffectRouteOptions,\n NextRouteHandler\n} from './types'\n\nconst routeSuccessPolicyNames = ['respond', 'serialize', 'onSuccess'] as const\n\nconst assertExclusiveRouteSuccessPolicy = (\n options: NextEffectRouteOptions<unknown, object>\n): void => {\n const configuredPolicies = routeSuccessPolicyNames.filter((name) => options[name] !== undefined)\n\n if (configuredPolicies.length > 1) {\n throw new TypeError(\n `NextEffect route options must configure at most one success policy; received ${configuredPolicies.join(', ')}`\n )\n }\n}\n\ntype AnyNextEffectOptions = NextEffectOptions<unknown, LayerInput, object>\n\ntype ExecutorProvider = (\n request: Request,\n context: object\n) => RuntimeExecutor<AnyService> | PromiseLike<RuntimeExecutor<AnyService>>\n\n/** Build the shared Next/WebEffect request boundary for both ownership modes. */\nexport const makeNextRouteHandler = (\n getExecutor: ExecutorProvider,\n instanceOptions: AnyNextEffectOptions,\n makeProgram: (request: Request, context: object) => AnyProgram,\n routeOptions: NextEffectRouteOptions<unknown, object>\n): NextRouteHandler<object> => {\n assertExclusiveRouteSuccessPolicy(routeOptions)\n\n return async (request, context) => {\n const executor = await getExecutor(request, context)\n const program = makeProgram(request, context)\n const effectiveProgram =\n routeOptions.serialize === undefined\n ? program\n : async () => {\n const result = await program()\n\n if (Result.isError(result)) {\n return result\n }\n\n return Result.ok(routeOptions.serialize!(result.value, request, context))\n }\n const webOptions: Record<string, unknown> = {}\n\n if (instanceOptions.requestLayer !== undefined) {\n webOptions.requestLayer = () => instanceOptions.requestLayer!(request, context)\n }\n\n if (routeOptions.respond !== undefined) {\n webOptions.onSuccess = ({ value }: { readonly value: unknown }) =>\n routeOptions.respond!(value, request, context)\n } else if (routeOptions.onSuccess !== undefined) {\n webOptions.onSuccess = (result: { readonly value: unknown }) =>\n routeOptions.onSuccess!(result, request, context)\n } else if (instanceOptions.onSuccess !== undefined) {\n webOptions.onSuccess = (result: { readonly value: unknown }) =>\n instanceOptions.onSuccess!(result, request, context)\n }\n\n if (instanceOptions.onFailure !== undefined) {\n webOptions.onFailure = (error: unknown) => instanceOptions.onFailure!(error, request, context)\n }\n\n // SAFETY: Public overloads validated the Program, request Layer, and policies before this erased WebEffect boundary.\n return await WebEffect.handleWith(\n executor,\n request,\n // SAFETY: Serialization preserves the original Result error and Service channels.\n effectiveProgram as AnyProgram,\n // SAFETY: This private options object is populated only from the checked policy unions above.\n webOptions as never\n )\n }\n}\n","/* oxlint-disable anti-slop/no-object-parameters -- private route boundaries erase framework context after public overload validation. */\n/* oxlint-disable anti-slop/no-chained-type-assertions -- these are localized adapter erasures after overload checks. */\n/* oxlint-disable anti-slop/require-safety-comment-for-type-assertion -- assertions below are confined to checked overload implementations. */\n\nimport type { CompleteInput, LayerInput, ProvidedEnvironment } from '../layer/inference'\nimport { Effect } from '../effect'\nimport type { EffectSuccess, EffectYield, ProgramFromGenerator } from '../effect/types'\nimport { Runtime } from '../runtime'\nimport type { RuntimeDisposeOptions, RuntimeExecutor } from '../runtime'\nimport type { AnyService } from '../service'\nimport type {\n AnyProgram,\n AnyResult,\n CompleteNextProgram,\n GeneratorBody,\n NextEffectManagedInspection,\n NextEffectManagedOptions,\n NextEffectRouteOptions,\n NextGeneratorChecks,\n NextHandlerFactory,\n NextRouteHandler\n} from './types'\nimport { makeNextRouteHandler } from './route-builder'\n\n/** Thrown when a managed NextEffect no longer accepts new requests. */\nexport class NextEffectDisposedError extends Error {\n constructor() {\n super('Cannot use a disposed NextEffect manager')\n this.name = 'NextEffectDisposedError'\n }\n}\n\ntype RuntimeForLayer<Layer extends LayerInput> = Runtime<ProvidedEnvironment<Layer>>\n\ntype AnyManagedOptions = NextEffectManagedOptions<any, LayerInput, object>\n\ntype RouteHandler = ReturnType<typeof makeNextRouteHandler>\n\n/** Own one lazy Runtime for a Next host without exposing that Runtime publicly. */\nexport class ManagedNextEffect<\n Layer extends LayerInput,\n Failure = unknown,\n RequestLayer extends LayerInput = ReturnType<\n typeof import('../standard-services/current-request').CurrentRequest.layer\n >,\n Context extends object = import('./types').NextEffectContext\n> {\n private state: NextEffectManagedInspection['state'] = 'idle'\n\n private runtimePromise: Promise<RuntimeForLayer<Layer>> | undefined\n\n private runtime: RuntimeForLayer<Layer> | undefined\n\n private disposePromise: Promise<void> | undefined\n\n private readonly activeHandlers = new Set<Promise<unknown>>()\n\n constructor(\n private readonly layer: Layer & CompleteInput<Layer>,\n private readonly options: NextEffectManagedOptions<Failure, RequestLayer, Context>\n ) {}\n\n /** Create a native Route Handler from a checked Program factory. */\n handler<Program extends AnyProgram>(\n makeProgram: (\n request: Request,\n context: Context\n ) => CompleteNextProgram<ProvidedEnvironment<Layer>, RequestLayer, Program, Failure>,\n options?: NextEffectRouteOptions<EffectSuccess<Program>, Context>\n ): NextRouteHandler<Context>\n handler<\n const HandlerContext extends object,\n const ProgramFactory extends (request: Request, context: HandlerContext) => AnyProgram\n >(\n makeProgram: NextHandlerFactory<\n HandlerContext,\n ProvidedEnvironment<Layer>,\n RequestLayer,\n Failure,\n ProgramFactory\n >,\n options?: NextEffectRouteOptions<EffectSuccess<ReturnType<ProgramFactory>>, HandlerContext>\n ): NextRouteHandler<HandlerContext>\n handler(...args: unknown[]): NextRouteHandler<object> {\n const makeProgram = args[0] as (request: Request, context: object) => AnyProgram\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n const route = makeNextRouteHandler(\n (_request, _context) =>\n this.executor().then((executor) => executor as unknown as RuntimeExecutor<AnyService>),\n this.options as unknown as AnyManagedOptions,\n makeProgram,\n options\n )\n\n return this.protect(route) as NextRouteHandler<object>\n }\n\n /** Create a native Route Handler from a checked generator body. */\n gen<\n const HandlerContext extends object = Context,\n const Yield extends EffectYield = EffectYield,\n const Returned extends AnyResult = AnyResult\n >(\n body: GeneratorBody<HandlerContext, Yield, Returned> &\n NextGeneratorChecks<ProvidedEnvironment<Layer>, RequestLayer, Yield, Returned, Failure>,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<Yield, Returned>>,\n HandlerContext\n >\n ): NextRouteHandler<HandlerContext>\n gen<\n const CustomContext extends object,\n const CustomYield extends EffectYield,\n const CustomReturned extends AnyResult\n >(\n body: GeneratorBody<CustomContext, CustomYield, CustomReturned> &\n NextGeneratorChecks<\n ProvidedEnvironment<Layer>,\n RequestLayer,\n CustomYield,\n CustomReturned,\n Failure\n >,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<CustomYield, CustomReturned>>,\n CustomContext\n >\n ): NextRouteHandler<CustomContext>\n gen(...args: unknown[]): NextRouteHandler<object> {\n const body = args[0] as GeneratorBody<object, EffectYield, AnyResult>\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n const route = makeNextRouteHandler(\n (_request, _context) =>\n this.executor().then((executor) => executor as unknown as RuntimeExecutor<AnyService>),\n this.options as unknown as AnyManagedOptions,\n (request, context) => {\n const program = Effect.fn(\n () => body(request, context) as AsyncGenerator<EffectYield, AnyResult, unknown>\n )\n return program as AnyProgram\n },\n options\n )\n return this.protect(route) as NextRouteHandler<object>\n }\n\n /** Eagerly initialize the manager's single Runtime. */\n async initialize(): Promise<void> {\n await this.ensureRuntime(false)\n }\n\n /** Return a detached lifecycle snapshot without exposing the owned Runtime. */\n inspect(): NextEffectManagedInspection {\n const runtime = this.runtime?.inspect()\n\n if (runtime === undefined) {\n return Object.freeze({ state: this.state })\n }\n\n return Object.freeze({ state: this.state, runtime })\n }\n\n /** Stop admitting requests, drain admitted handlers, and dispose the owned Runtime. */\n dispose(options?: RuntimeDisposeOptions): Promise<void> {\n if (this.disposePromise !== undefined) {\n return this.disposePromise\n }\n\n this.state = 'disposing'\n const activeHandlers = [...this.activeHandlers]\n const disposal = this.performDispose(activeHandlers, options)\n this.disposePromise = disposal\n return disposal\n }\n\n /** Release the owned Runtime through JavaScript's async disposal protocol. */\n async [Symbol.asyncDispose](): Promise<void> {\n await this.dispose()\n }\n\n /** Wrap a materialized route so requests admitted before disposal are drained. */\n private protect(handler: RouteHandler): RouteHandler {\n return async (request, context) => await this.runAdmitted(() => handler(request, context))\n }\n\n /** Resolve the non-owning executor for an already admitted request. */\n private executor(): Promise<RuntimeExecutor<ProvidedEnvironment<Layer>>> {\n return this.ensureRuntime(true).then((runtime) => runtime.executor)\n }\n\n private ensureRuntime(allowDisposing: boolean): Promise<RuntimeForLayer<Layer>> {\n if (this.state === 'disposed' || (this.state === 'disposing' && !allowDisposing)) {\n return Promise.reject(new NextEffectDisposedError())\n }\n\n if (this.runtimePromise !== undefined) {\n return this.runtimePromise\n }\n\n this.state = 'initializing'\n const runtimePromise = Runtime.make(this.layer, this.options.runtime)\n this.runtimePromise = runtimePromise\n\n void runtimePromise.then(\n (runtime) => {\n this.runtime = runtime\n\n if (this.state === 'initializing') {\n this.state = 'ready'\n }\n },\n () => {\n if (this.state === 'initializing') {\n this.state = 'failed'\n }\n }\n )\n\n return runtimePromise\n }\n\n private async runAdmitted<A>(run: () => A | PromiseLike<A>): Promise<Awaited<A>> {\n if (this.state === 'disposing' || this.state === 'disposed') {\n throw new NextEffectDisposedError()\n }\n\n const execution = Promise.resolve().then(run) as Promise<Awaited<A>>\n this.activeHandlers.add(execution)\n void execution.then(\n () => this.activeHandlers.delete(execution),\n () => this.activeHandlers.delete(execution)\n )\n return await execution\n }\n\n private async performDispose(\n activeHandlers: readonly Promise<unknown>[],\n options: RuntimeDisposeOptions | undefined\n ): Promise<void> {\n await Promise.allSettled(activeHandlers)\n\n let runtime: RuntimeForLayer<Layer> | undefined\n\n if (this.runtimePromise !== undefined) {\n try {\n runtime = await this.runtimePromise\n } catch {\n // Runtime.make owns cleanup for initialization failures; preserve the request/init error.\n }\n }\n\n let disposalFailure: unknown\n\n if (runtime !== undefined) {\n try {\n await runtime.dispose(options)\n } catch (cause) {\n disposalFailure = cause\n }\n }\n\n this.state = 'disposed'\n\n if (disposalFailure !== undefined) {\n throw disposalFailure\n }\n }\n}\n","/* oxlint-disable anti-slop/no-object-parameters -- private route boundaries erase framework context after public overload validation. */\n/* oxlint-disable anti-slop/no-chained-type-assertions -- these are localized adapter erasures after overload checks. */\n/* oxlint-disable anti-slop/require-safety-comment-for-type-assertion -- assertions below are confined to checked overload implementations. */\n\nimport { Effect } from '../effect'\nimport type { EffectSuccess, EffectYield, ProgramFromGenerator } from '../effect/types'\nimport type { CompleteInput, LayerInput, ProvidedEnvironment } from '../layer/inference'\nimport { Runtime } from '../runtime'\nimport type { RuntimeExecutor } from '../runtime'\nimport type { AnyService } from '../service'\nimport type {\n AnyProgram,\n AnyResult,\n DefaultRequestLayer,\n FromCurrentGeneratorChecks,\n FromCurrentHandlerFactory,\n FromCurrentRequirements,\n FromCurrentRequestLayerChecks,\n GeneratorBody,\n NextEffectContext,\n NextEffectManagedInspection,\n NextEffectManagedOptions,\n NextEffectOptions,\n NextEffectParams,\n NextEffectRouteOptions,\n NextEffectSuccess,\n NextEffectYieldable,\n NextRouteHandler\n} from './types'\nimport { ManagedNextEffect } from './lifecycle'\nimport { makeNextRouteHandler } from './route-builder'\n\n/** The two explicit ownership modes for the Next.js adapter. */\nexport class NextEffect {\n private constructor() {}\n\n /** Build an inert adapter whose handlers capture the current Runtime executor when yielded. */\n static fromCurrent<\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n >(\n options?: NextEffectOptions<Failure, RequestLayer, Context> &\n FromCurrentRequestLayerChecks<RequestLayer>\n ): NextEffect.FromCurrent<Failure, RequestLayer, Context> {\n return new FromCurrentNextEffect(options ?? {})\n }\n\n /** Build a host-owned adapter with one lazy Runtime for the supplied complete Layer. */\n static managed<\n Layer extends LayerInput,\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n >(\n layer: Layer & CompleteInput<Layer>,\n options?: NextEffectManagedOptions<Failure, RequestLayer, Context> &\n import('./types').NextRequestLayerChecks<ProvidedEnvironment<Layer>, RequestLayer>\n ): NextEffect.Managed<Layer, Failure, RequestLayer, Context> {\n return new ManagedNextEffect(layer, options ?? {})\n }\n}\n\nclass FromCurrentNextEffect<Failure, RequestLayer extends LayerInput, Context extends object> {\n constructor(private readonly options: NextEffectOptions<Failure, RequestLayer, Context>) {}\n\n /** Materialize a route while resolving only the current Runtime executor. */\n handler<Program extends AnyProgram>(\n makeProgram: FromCurrentHandlerFactory<\n Context,\n Failure,\n (request: Request, context: Context) => Program\n >,\n options?: NextEffectRouteOptions<EffectSuccess<Program>, Context>\n ): NextEffectYieldable<NextRouteHandler<Context>, FromCurrentRequirements<Program, RequestLayer>>\n handler<\n const HandlerContext extends object,\n const ProgramFactory extends (request: Request, context: HandlerContext) => AnyProgram\n >(\n makeProgram: FromCurrentHandlerFactory<HandlerContext, Failure, ProgramFactory>,\n options?: NextEffectRouteOptions<EffectSuccess<ReturnType<ProgramFactory>>, HandlerContext>\n ): NextEffectYieldable<\n NextRouteHandler<HandlerContext>,\n FromCurrentRequirements<ReturnType<ProgramFactory>, RequestLayer>\n >\n handler(...args: unknown[]): any {\n const makeProgram = args[0] as (request: Request, context: object) => AnyProgram\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n\n return this.materialize((executor) =>\n makeNextRouteHandler(\n () => executor,\n this.options as unknown as NextEffectOptions<unknown, LayerInput, object>,\n makeProgram,\n options\n )\n )\n }\n\n /** Materialize a generator route while preserving its external Service requirements. */\n gen<\n const HandlerContext extends object = Context,\n const Yield extends EffectYield = EffectYield,\n const Returned extends AnyResult = AnyResult\n >(\n body: GeneratorBody<HandlerContext, Yield, Returned> &\n FromCurrentGeneratorChecks<Yield, Returned, Failure>,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<Yield, Returned>>,\n HandlerContext\n >\n ): NextEffectYieldable<\n NextRouteHandler<HandlerContext>,\n FromCurrentRequirements<ProgramFromGenerator<Yield, Returned>, RequestLayer>\n >\n gen<\n const CustomContext extends object,\n const CustomYield extends EffectYield,\n const CustomReturned extends AnyResult\n >(\n body: GeneratorBody<CustomContext, CustomYield, CustomReturned> &\n FromCurrentGeneratorChecks<CustomYield, CustomReturned, Failure>,\n options?: NextEffectRouteOptions<\n EffectSuccess<ProgramFromGenerator<CustomYield, CustomReturned>>,\n CustomContext\n >\n ): NextEffectYieldable<\n NextRouteHandler<CustomContext>,\n FromCurrentRequirements<ProgramFromGenerator<CustomYield, CustomReturned>, RequestLayer>\n >\n gen(...args: unknown[]): any {\n const body = args[0] as GeneratorBody<object, EffectYield, AnyResult>\n const options = (args[1] ?? {}) as NextEffectRouteOptions<unknown, object>\n\n return this.materialize((executor) =>\n makeNextRouteHandler(\n () => executor,\n this.options as unknown as NextEffectOptions<unknown, LayerInput, object>,\n (request, context) =>\n Effect.fn(\n () => body(request, context) as AsyncGenerator<EffectYield, AnyResult, unknown>\n ) as AnyProgram,\n options\n )\n )\n }\n\n private materialize<Value>(\n build: (executor: RuntimeExecutor<AnyService>) => Value\n ): NextEffectYieldable<Value, AnyService> {\n return {\n *[Symbol.iterator]() {\n const executor = yield* Runtime.executor<AnyService>()\n return build(executor)\n },\n async *[Symbol.asyncIterator]() {\n const executor = yield* Runtime.executor<AnyService>()\n return build(executor)\n }\n }\n }\n}\n\nexport declare namespace NextEffect {\n /** The inert embedded adapter returned by `fromCurrent`. */\n export type FromCurrent<\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n > = FromCurrentNextEffect<Failure, RequestLayer, Context>\n\n /** The host-owned adapter returned by `managed`. */\n export type Managed<\n Layer extends LayerInput,\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n > = ManagedNextEffect<Layer, Failure, RequestLayer, Context>\n\n /** Options shared by all handlers created from a NextEffect builder. */\n export type Options<\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n > = NextEffectOptions<Failure, RequestLayer, Context>\n\n /** Options for a host-owned managed adapter. */\n export type ManagedOptions<\n Failure = unknown,\n RequestLayer extends LayerInput = DefaultRequestLayer,\n Context extends object = NextEffectContext\n > = NextEffectManagedOptions<Failure, RequestLayer, Context>\n\n /** The lifecycle inspection returned by a managed adapter. */\n export type ManagedInspection = NextEffectManagedInspection\n\n /** A typed per-route success policy. */\n export type RouteOptions<A, Context extends object = NextEffectContext> = NextEffectRouteOptions<\n A,\n Context\n >\n\n /** The explicit App Router context passed to route factories. */\n export type Context<Params extends object = NextEffectParams> = NextEffectContext<Params>\n\n /** The native handler returned by `handler` and `gen`. */\n export type Handler<Context extends object = NextEffectContext> = NextRouteHandler<Context>\n\n /** A native success policy value. */\n export type Success<A = unknown> = NextEffectSuccess<A>\n}\n"],"mappings":";;;;;AAiBA,MAAM,0BAA0B;CAAC;CAAW;CAAa;AAAW;AAEpE,MAAM,qCACJ,YACS;CACT,MAAM,qBAAqB,wBAAwB,QAAQ,SAAS,QAAQ,UAAU,KAAA,CAAS;CAE/F,IAAI,mBAAmB,SAAS,GAC9B,MAAM,IAAI,UACR,gFAAgF,mBAAmB,KAAK,IAAI,GAC9G;AAEJ;;AAUA,MAAa,wBACX,aACA,iBACA,aACA,iBAC6B;CAC7B,kCAAkC,YAAY;CAE9C,OAAO,OAAO,SAAS,YAAY;EACjC,MAAM,WAAW,MAAM,YAAY,SAAS,OAAO;EACnD,MAAM,UAAU,YAAY,SAAS,OAAO;EAC5C,MAAM,mBACJ,aAAa,cAAc,KAAA,IACvB,UACA,YAAY;GACV,MAAM,SAAS,MAAM,QAAQ;GAE7B,IAAI,OAAO,QAAQ,MAAM,GACvB,OAAO;GAGT,OAAO,OAAO,GAAG,aAAa,UAAW,OAAO,OAAO,SAAS,OAAO,CAAC;EAC1E;EACN,MAAM,aAAsC,CAAC;EAE7C,IAAI,gBAAgB,iBAAiB,KAAA,GACnC,WAAW,qBAAqB,gBAAgB,aAAc,SAAS,OAAO;EAGhF,IAAI,aAAa,YAAY,KAAA,GAC3B,WAAW,aAAa,EAAE,YACxB,aAAa,QAAS,OAAO,SAAS,OAAO;OAC1C,IAAI,aAAa,cAAc,KAAA,GACpC,WAAW,aAAa,WACtB,aAAa,UAAW,QAAQ,SAAS,OAAO;OAC7C,IAAI,gBAAgB,cAAc,KAAA,GACvC,WAAW,aAAa,WACtB,gBAAgB,UAAW,QAAQ,SAAS,OAAO;EAGvD,IAAI,gBAAgB,cAAc,KAAA,GAChC,WAAW,aAAa,UAAmB,gBAAgB,UAAW,OAAO,SAAS,OAAO;EAI/F,OAAO,MAAM,UAAU,WACrB,UACA,SAEA,kBAEA,UACF;CACF;AACF;;;;ACpEA,IAAa,0BAAb,cAA6C,MAAM;CACjD,cAAc;EACZ,MAAM,0CAA0C;EAChD,KAAK,OAAO;CACd;AACF;;AASA,IAAa,oBAAb,MAOE;CAYmB;CACA;CAZnB,QAAsD;CAEtD;CAEA;CAEA;CAEA,iCAAkC,IAAI,IAAsB;CAE5D,YACE,OACA,SACA;EAFiB,KAAA,QAAA;EACA,KAAA,UAAA;CAChB;CAuBH,QAAQ,GAAG,MAA2C;EACpD,MAAM,cAAc,KAAK;EACzB,MAAM,UAAW,KAAK,MAAM,CAAC;EAC7B,MAAM,QAAQ,sBACX,UAAU,aACT,KAAK,SAAS,CAAC,CAAC,MAAM,aAAa,QAAkD,GACvF,KAAK,SACL,aACA,OACF;EAEA,OAAO,KAAK,QAAQ,KAAK;CAC3B;CAiCA,IAAI,GAAG,MAA2C;EAChD,MAAM,OAAO,KAAK;EAClB,MAAM,UAAW,KAAK,MAAM,CAAC;EAC7B,MAAM,QAAQ,sBACX,UAAU,aACT,KAAK,SAAS,CAAC,CAAC,MAAM,aAAa,QAAkD,GACvF,KAAK,UACJ,SAAS,YAAY;GAIpB,OAHgB,OAAO,SACf,KAAK,SAAS,OAAO,CAEhB;EACf,GACA,OACF;EACA,OAAO,KAAK,QAAQ,KAAK;CAC3B;;CAGA,MAAM,aAA4B;EAChC,MAAM,KAAK,cAAc,KAAK;CAChC;;CAGA,UAAuC;EACrC,MAAM,UAAU,KAAK,SAAS,QAAQ;EAEtC,IAAI,YAAY,KAAA,GACd,OAAO,OAAO,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;EAG5C,OAAO,OAAO,OAAO;GAAE,OAAO,KAAK;GAAO;EAAQ,CAAC;CACrD;;CAGA,QAAQ,SAAgD;EACtD,IAAI,KAAK,mBAAmB,KAAA,GAC1B,OAAO,KAAK;EAGd,KAAK,QAAQ;EACb,MAAM,iBAAiB,CAAC,GAAG,KAAK,cAAc;EAC9C,MAAM,WAAW,KAAK,eAAe,gBAAgB,OAAO;EAC5D,KAAK,iBAAiB;EACtB,OAAO;CACT;;CAGA,OAAO,OAAO,gBAA+B;EAC3C,MAAM,KAAK,QAAQ;CACrB;;CAGA,QAAgB,SAAqC;EACnD,OAAO,OAAO,SAAS,YAAY,MAAM,KAAK,kBAAkB,QAAQ,SAAS,OAAO,CAAC;CAC3F;;CAGA,WAAyE;EACvE,OAAO,KAAK,cAAc,IAAI,CAAC,CAAC,MAAM,YAAY,QAAQ,QAAQ;CACpE;CAEA,cAAsB,gBAA0D;EAC9E,IAAI,KAAK,UAAU,cAAe,KAAK,UAAU,eAAe,CAAC,gBAC/D,OAAO,QAAQ,OAAO,IAAI,wBAAwB,CAAC;EAGrD,IAAI,KAAK,mBAAmB,KAAA,GAC1B,OAAO,KAAK;EAGd,KAAK,QAAQ;EACb,MAAM,iBAAiB,QAAQ,KAAK,KAAK,OAAO,KAAK,QAAQ,OAAO;EACpE,KAAK,iBAAiB;EAEtB,eAAoB,MACjB,YAAY;GACX,KAAK,UAAU;GAEf,IAAI,KAAK,UAAU,gBACjB,KAAK,QAAQ;EAEjB,SACM;GACJ,IAAI,KAAK,UAAU,gBACjB,KAAK,QAAQ;EAEjB,CACF;EAEA,OAAO;CACT;CAEA,MAAc,YAAe,KAAoD;EAC/E,IAAI,KAAK,UAAU,eAAe,KAAK,UAAU,YAC/C,MAAM,IAAI,wBAAwB;EAGpC,MAAM,YAAY,QAAQ,QAAQ,CAAC,CAAC,KAAK,GAAG;EAC5C,KAAK,eAAe,IAAI,SAAS;EACjC,UAAe,WACP,KAAK,eAAe,OAAO,SAAS,SACpC,KAAK,eAAe,OAAO,SAAS,CAC5C;EACA,OAAO,MAAM;CACf;CAEA,MAAc,eACZ,gBACA,SACe;EACf,MAAM,QAAQ,WAAW,cAAc;EAEvC,IAAI;EAEJ,IAAI,KAAK,mBAAmB,KAAA,GAC1B,IAAI;GACF,UAAU,MAAM,KAAK;EACvB,QAAQ,CAER;EAGF,IAAI;EAEJ,IAAI,YAAY,KAAA,GACd,IAAI;GACF,MAAM,QAAQ,QAAQ,OAAO;EAC/B,SAAS,OAAO;GACd,kBAAkB;EACpB;EAGF,KAAK,QAAQ;EAEb,IAAI,oBAAoB,KAAA,GACtB,MAAM;CAEV;AACF;;;;AC1OA,IAAa,aAAb,MAAwB;CACtB,cAAsB,CAAC;;CAGvB,OAAO,YAKL,SAEwD;EACxD,OAAO,IAAI,sBAAsB,WAAW,CAAC,CAAC;CAChD;;CAGA,OAAO,QAML,OACA,SAE2D;EAC3D,OAAO,IAAI,kBAAkB,OAAO,WAAW,CAAC,CAAC;CACnD;AACF;AAEA,IAAM,wBAAN,MAA8F;CAC/D;CAA7B,YAAY,SAA6E;EAA5D,KAAA,UAAA;CAA6D;CAqB1F,QAAQ,GAAG,MAAsB;EAC/B,MAAM,cAAc,KAAK;EACzB,MAAM,UAAW,KAAK,MAAM,CAAC;EAE7B,OAAO,KAAK,aAAa,aACvB,2BACQ,UACN,KAAK,SACL,aACA,OACF,CACF;CACF;CAiCA,IAAI,GAAG,MAAsB;EAC3B,MAAM,OAAO,KAAK;EAClB,MAAM,UAAW,KAAK,MAAM,CAAC;EAE7B,OAAO,KAAK,aAAa,aACvB,2BACQ,UACN,KAAK,UACJ,SAAS,YACR,OAAO,SACC,KAAK,SAAS,OAAO,CAC7B,GACF,OACF,CACF;CACF;CAEA,YACE,OACwC;EACxC,OAAO;GACL,EAAE,OAAO,YAAY;IAEnB,OAAO,MAAM,OADW,QAAQ,SAAqB,CAChC;GACvB;GACA,QAAQ,OAAO,iBAAiB;IAE9B,OAAO,MAAM,OADW,QAAQ,SAAqB,CAChC;GACvB;EACF;CACF;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as RuntimeContext, l as RuntimeContextStorage } from "./layer-C2OaqTmB.mjs";
|
|
2
2
|
//#region src/runtime/node-context.d.ts
|
|
3
3
|
/** RuntimeContextStorage backed by Node/Bun async context propagation. */
|
|
4
4
|
declare class NodeRuntimeContextStorage implements RuntimeContextStorage {
|
|
@@ -9,4 +9,4 @@ declare class NodeRuntimeContextStorage implements RuntimeContextStorage {
|
|
|
9
9
|
declare const nodeRuntimeContextStorage: NodeRuntimeContextStorage;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { nodeRuntimeContextStorage as n, NodeRuntimeContextStorage as t };
|
|
12
|
-
//# sourceMappingURL=node-context-
|
|
12
|
+
//# sourceMappingURL=node-context-1YEjrU9g.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-context-
|
|
1
|
+
{"version":3,"file":"node-context-1YEjrU9g.d.mts","names":[],"sources":["../src/runtime/node-context.ts"],"mappings":";;;cA2Ba,qCAAqC;EAChD,IAAI,GAAG,SAAS,gBAAgB,eAAe,IAAI;EAInD,WAAW;;;cAYA,2BAAyB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as setRuntimeContextFrameCarrier, h as RuntimeContextNotConfiguredError, m as withActiveRuntimeContextStorage, r as currentRuntimeContextFrame } from "./context-
|
|
1
|
+
import { f as setRuntimeContextFrameCarrier, h as RuntimeContextNotConfiguredError, m as withActiveRuntimeContextStorage, r as currentRuntimeContextFrame } from "./context-DSGSqcJj.mjs";
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
3
|
//#region src/runtime/node-context.ts
|
|
4
4
|
const asyncLocalStorage = new AsyncLocalStorage();
|
|
@@ -22,4 +22,4 @@ const nodeRuntimeContextStorage = new NodeRuntimeContextStorage();
|
|
|
22
22
|
//#endregion
|
|
23
23
|
export { nodeRuntimeContextStorage as n, NodeRuntimeContextStorage as t };
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=node-context-
|
|
25
|
+
//# sourceMappingURL=node-context-g3bCcY9t.mjs.map
|