@gravito/ripple 4.0.1 → 4.0.3
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 +26 -10
- package/dist/{ripple/src/OrbitRipple.d.ts → OrbitRipple.d.ts} +1 -0
- package/dist/{ripple/src/RippleServer.d.ts → RippleServer.d.ts} +32 -1
- package/dist/core/src/Application.d.ts +41 -0
- package/dist/core/src/HookManager.d.ts +33 -189
- package/dist/core/src/PlanetCore.d.ts +25 -1
- package/dist/core/src/Router.d.ts +32 -46
- package/dist/core/src/adapters/bun/BunContext.d.ts +6 -1
- package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +35 -0
- package/dist/core/src/adapters/bun/BunWebSocketHandler.d.ts +48 -0
- package/dist/core/src/adapters/bun/RadixRouter.d.ts +1 -0
- package/dist/core/src/adapters/bun/index.d.ts +7 -0
- package/dist/core/src/binary/BinaryUtils.d.ts +105 -0
- package/dist/core/src/binary/index.d.ts +5 -0
- package/dist/core/src/compat/async-local-storage.d.ts +7 -0
- package/dist/core/src/compat/crypto.d.ts +6 -0
- package/dist/core/src/engine/AOTRouter.d.ts +10 -0
- package/dist/core/src/engine/FastContext.d.ts +19 -1
- package/dist/core/src/engine/Gravito.d.ts +13 -18
- package/dist/core/src/engine/MinimalContext.d.ts +2 -0
- package/dist/core/src/engine/analyzer.d.ts +92 -6
- package/dist/core/src/engine/types.d.ts +3 -0
- package/dist/core/src/events/EventPriorityQueue.d.ts +18 -256
- package/dist/core/src/events/index.d.ts +12 -11
- package/dist/core/src/events/queue-core.d.ts +77 -0
- package/dist/core/src/events/task-executor.d.ts +51 -0
- package/dist/core/src/ffi/NativeAccelerator.d.ts +62 -0
- package/dist/core/src/ffi/NativeHasher.d.ts +139 -0
- package/dist/core/src/ffi/cbor-fallback.d.ts +96 -0
- package/dist/core/src/ffi/hash-fallback.d.ts +33 -0
- package/dist/core/src/ffi/index.d.ts +10 -0
- package/dist/core/src/ffi/types.d.ts +135 -0
- package/dist/core/src/helpers/Str.d.ts +15 -0
- package/dist/core/src/hooks/ActionManager.d.ts +132 -0
- package/dist/core/src/hooks/AsyncDetector.d.ts +84 -0
- package/dist/core/src/hooks/FilterManager.d.ts +71 -0
- package/dist/core/src/hooks/MigrationWarner.d.ts +24 -0
- package/dist/core/src/hooks/dlq-operations.d.ts +60 -0
- package/dist/core/src/hooks/types.d.ts +107 -0
- package/dist/core/src/http/CookieJar.d.ts +2 -2
- package/dist/core/src/http/types.d.ts +24 -3
- package/dist/core/src/index.d.ts +491 -14
- package/dist/core/src/observability/contracts.d.ts +137 -0
- package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +2 -3
- package/dist/core/src/runtime/adapter-bun.d.ts +12 -0
- package/dist/core/src/runtime/adapter-deno.d.ts +12 -0
- package/dist/core/src/runtime/adapter-node.d.ts +12 -0
- package/dist/core/src/runtime/adapter-unknown.d.ts +13 -0
- package/dist/core/src/runtime/archive.d.ts +17 -0
- package/dist/core/src/runtime/compression.d.ts +21 -0
- package/dist/core/src/runtime/deep-equals.d.ts +56 -0
- package/dist/core/src/runtime/detection.d.ts +22 -0
- package/dist/core/src/runtime/escape.d.ts +34 -0
- package/dist/core/src/runtime/index.d.ts +44 -0
- package/dist/core/src/runtime/markdown.d.ts +44 -0
- package/dist/core/src/runtime/types.d.ts +436 -0
- package/dist/core/src/runtime-helpers.d.ts +67 -0
- package/dist/core/src/runtime.d.ts +10 -118
- package/dist/core/src/testing/HttpTester.d.ts +1 -0
- package/dist/core/src/transpiler-utils.d.ts +170 -0
- package/dist/{ripple/src/engines → engines}/BunEngine.d.ts +11 -0
- package/dist/index.js +1 -7502
- package/dist/index.js.map +3 -71
- package/package.json +6 -2
- package/dist/atlas/src/DB.d.ts +0 -348
- package/dist/atlas/src/OrbitAtlas.d.ts +0 -9
- package/dist/atlas/src/config/defineConfig.d.ts +0 -14
- package/dist/atlas/src/config/index.d.ts +0 -7
- package/dist/atlas/src/config/loadConfig.d.ts +0 -41
- package/dist/atlas/src/connection/Connection.d.ts +0 -112
- package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -180
- package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +0 -54
- package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
- package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
- package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
- package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -79
- package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -96
- package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
- package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
- package/dist/atlas/src/drivers/types.d.ts +0 -260
- package/dist/atlas/src/errors/index.d.ts +0 -45
- package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
- package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
- package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
- package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
- package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
- package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
- package/dist/atlas/src/index.d.ts +0 -79
- package/dist/atlas/src/migration/Migration.d.ts +0 -64
- package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
- package/dist/atlas/src/migration/Migrator.d.ts +0 -110
- package/dist/atlas/src/migration/index.d.ts +0 -6
- package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -33
- package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
- package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
- package/dist/atlas/src/observability/index.d.ts +0 -9
- package/dist/atlas/src/orm/Repository.d.ts +0 -247
- package/dist/atlas/src/orm/index.d.ts +0 -6
- package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
- package/dist/atlas/src/orm/model/Model.d.ts +0 -458
- package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
- package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -150
- package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
- package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -92
- package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
- package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
- package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
- package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
- package/dist/atlas/src/orm/model/decorators.d.ts +0 -138
- package/dist/atlas/src/orm/model/errors.d.ts +0 -52
- package/dist/atlas/src/orm/model/index.d.ts +0 -10
- package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
- package/dist/atlas/src/orm/model/types.d.ts +0 -12
- package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -124
- package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
- package/dist/atlas/src/orm/schema/index.d.ts +0 -6
- package/dist/atlas/src/orm/schema/types.d.ts +0 -85
- package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +0 -98
- package/dist/atlas/src/pool/PoolHealthChecker.d.ts +0 -91
- package/dist/atlas/src/pool/PoolStrategy.d.ts +0 -129
- package/dist/atlas/src/pool/PoolWarmer.d.ts +0 -92
- package/dist/atlas/src/query/Expression.d.ts +0 -60
- package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
- package/dist/atlas/src/query/QueryBuilder.d.ts +0 -643
- package/dist/atlas/src/query/RelationshipResolver.d.ts +0 -23
- package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
- package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
- package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
- package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
- package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
- package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
- package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
- package/dist/atlas/src/query/clauses/index.d.ts +0 -11
- package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
- package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
- package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
- package/dist/atlas/src/schema/MigrationGenerator.d.ts +0 -45
- package/dist/atlas/src/schema/Schema.d.ts +0 -131
- package/dist/atlas/src/schema/SchemaDiff.d.ts +0 -73
- package/dist/atlas/src/schema/TypeGenerator.d.ts +0 -57
- package/dist/atlas/src/schema/TypeWriter.d.ts +0 -42
- package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
- package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
- package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
- package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
- package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
- package/dist/atlas/src/schema/index.d.ts +0 -8
- package/dist/atlas/src/seed/Factory.d.ts +0 -90
- package/dist/atlas/src/seed/Seeder.d.ts +0 -28
- package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
- package/dist/atlas/src/seed/index.d.ts +0 -6
- package/dist/atlas/src/sharding/ShardingManager.d.ts +0 -59
- package/dist/atlas/src/types/index.d.ts +0 -1182
- package/dist/atlas/src/utils/CursorEncoding.d.ts +0 -63
- package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
- package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -175
- package/dist/core/src/adapters/photon-types.d.ts +0 -73
- package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
- package/dist/core/src/http/middleware/Cors.d.ts +0 -24
- package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
- package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
- package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
- package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
- package/dist/core/src/instrumentation/index.d.ts +0 -35
- package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
- package/dist/core/src/instrumentation/types.d.ts +0 -182
- package/dist/core/src/observability/Metrics.d.ts +0 -244
- package/dist/photon/src/index.d.ts +0 -89
- package/dist/photon/src/middleware/binary.d.ts +0 -31
- package/dist/photon/src/middleware/htmx.d.ts +0 -39
- package/dist/photon/src/middleware/ratelimit-redis.d.ts +0 -50
- package/dist/photon/src/middleware/ratelimit.d.ts +0 -161
- package/dist/photon/src/openapi.d.ts +0 -19
- /package/dist/{ripple/src/channels → channels}/Channel.d.ts +0 -0
- /package/dist/{ripple/src/channels → channels}/ChannelManager.d.ts +0 -0
- /package/dist/{ripple/src/channels → channels}/index.d.ts +0 -0
- /package/dist/{ripple/src/drivers → drivers}/LocalDriver.d.ts +0 -0
- /package/dist/{ripple/src/drivers → drivers}/NATSDriver.d.ts +0 -0
- /package/dist/{ripple/src/drivers → drivers}/RedisDriver.d.ts +0 -0
- /package/dist/{ripple/src/drivers → drivers}/index.d.ts +0 -0
- /package/dist/{ripple/src/engines → engines}/IRippleEngine.d.ts +0 -0
- /package/dist/{ripple/src/engines → engines}/UWebSocketsEngine.d.ts +0 -0
- /package/dist/{ripple/src/engines → engines}/WsEngine.d.ts +0 -0
- /package/dist/{ripple/src/engines → engines}/index.d.ts +0 -0
- /package/dist/{ripple/src/errors → errors}/RippleError.d.ts +0 -0
- /package/dist/{ripple/src/errors → errors}/index.d.ts +0 -0
- /package/dist/{ripple/src/events → events}/BroadcastEvent.d.ts +0 -0
- /package/dist/{ripple/src/events → events}/BroadcastManager.d.ts +0 -0
- /package/dist/{ripple/src/events → events}/Broadcaster.d.ts +0 -0
- /package/dist/{ripple/src/events → events}/index.d.ts +0 -0
- /package/dist/{ripple/src/health → health}/HealthChecker.d.ts +0 -0
- /package/dist/{ripple/src/health → health}/index.d.ts +0 -0
- /package/dist/{ripple/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{ripple/src/logging → logging}/Logger.d.ts +0 -0
- /package/dist/{ripple/src/logging → logging}/index.d.ts +0 -0
- /package/dist/{ripple/src/middleware → middleware}/InterceptorManager.d.ts +0 -0
- /package/dist/{ripple/src/observability → observability}/RippleMetrics.d.ts +0 -0
- /package/dist/{ripple/src/reliability → reliability}/AckManager.d.ts +0 -0
- /package/dist/{ripple/src/serializers → serializers}/ISerializer.d.ts +0 -0
- /package/dist/{ripple/src/serializers → serializers}/JsonSerializer.d.ts +0 -0
- /package/dist/{ripple/src/serializers → serializers}/ProtobufSerializer.d.ts +0 -0
- /package/dist/{ripple/src/serializers → serializers}/index.d.ts +0 -0
- /package/dist/{ripple/src/tracking → tracking}/ConnectionTracker.d.ts +0 -0
- /package/dist/{ripple/src/tracking → tracking}/SessionManager.d.ts +0 -0
- /package/dist/{ripple/src/tracking → tracking}/index.d.ts +0 -0
- /package/dist/{ripple/src/types.d.ts → types.d.ts} +0 -0
- /package/dist/{ripple/src/utils → utils}/MessageSerializer.d.ts +0 -0
- /package/dist/{ripple/src/utils → utils}/TokenBucket.d.ts +0 -0
- /package/dist/{ripple/src/utils → utils}/index.d.ts +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { CircuitBreakerOptions } from '../events/CircuitBreaker';
|
|
2
|
+
import type { EventBackend } from '../events/EventBackend';
|
|
3
|
+
import type { EventQueueConfig } from '../events/EventPriorityQueue';
|
|
4
|
+
/**
|
|
5
|
+
* Callback function for filters (transforms values).
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export type FilterCallback<T = unknown> = (value: T, ...args: unknown[]) => Promise<T> | T;
|
|
9
|
+
/**
|
|
10
|
+
* Callback function for actions (side effects).
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export type ActionCallback<TArgs = unknown> = (args: TArgs) => Promise<void> | void;
|
|
14
|
+
/**
|
|
15
|
+
* Options for listener registration.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export interface ListenerOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Explicitly specify the listener type.
|
|
21
|
+
* - 'sync': Force synchronous dispatch for this listener
|
|
22
|
+
* - 'async': Force asynchronous dispatch for this listener
|
|
23
|
+
* - 'auto': Auto-detect based on function signature (default)
|
|
24
|
+
* @default 'auto'
|
|
25
|
+
*/
|
|
26
|
+
type?: 'sync' | 'async' | 'auto';
|
|
27
|
+
/**
|
|
28
|
+
* Circuit breaker configuration for this listener.
|
|
29
|
+
*/
|
|
30
|
+
circuitBreaker?: CircuitBreakerOptions;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Information about a registered listener.
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export interface ListenerInfo {
|
|
37
|
+
/**
|
|
38
|
+
* The callback function.
|
|
39
|
+
*/
|
|
40
|
+
callback: ActionCallback;
|
|
41
|
+
/**
|
|
42
|
+
* Whether the listener is considered async.
|
|
43
|
+
*/
|
|
44
|
+
isAsync: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* The explicit type override, if any.
|
|
47
|
+
*/
|
|
48
|
+
typeOverride?: 'sync' | 'async' | 'auto';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Configuration for HookManager.
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export interface HookManagerConfig {
|
|
55
|
+
/**
|
|
56
|
+
* Enable async event dispatch by default.
|
|
57
|
+
* When true, doAction() will automatically use async dispatch if any listener is async.
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
asyncByDefault?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Migration mode for backward compatibility.
|
|
63
|
+
* - 'sync': All events use synchronous dispatch (legacy mode)
|
|
64
|
+
* - 'hybrid': Auto-detect and use async for async listeners (recommended)
|
|
65
|
+
* - 'async': All events use async dispatch (future mode)
|
|
66
|
+
* @default 'sync'
|
|
67
|
+
*/
|
|
68
|
+
migrationMode?: 'sync' | 'hybrid' | 'async';
|
|
69
|
+
/**
|
|
70
|
+
* Enable deprecation warnings for synchronous event dispatch.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
showDeprecationWarnings?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Enable Dead Letter Queue for failed events.
|
|
76
|
+
* @default true
|
|
77
|
+
*/
|
|
78
|
+
enableDLQ?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Configuration for the event priority queue (Backpressure).
|
|
81
|
+
*/
|
|
82
|
+
queue?: EventQueueConfig;
|
|
83
|
+
/**
|
|
84
|
+
* Custom event backend for distributed processing.
|
|
85
|
+
*/
|
|
86
|
+
backend?: EventBackend;
|
|
87
|
+
/**
|
|
88
|
+
* Database connection for persistent DLQ (optional).
|
|
89
|
+
* If provided, failed events after max retries will be persisted to database.
|
|
90
|
+
*/
|
|
91
|
+
db?: any;
|
|
92
|
+
/**
|
|
93
|
+
* Enable persistent DLQ for failed events (requires db).
|
|
94
|
+
* @default false
|
|
95
|
+
*/
|
|
96
|
+
enablePersistentDLQ?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Message Queue Bridge for distributed event processing via Bull Queue.
|
|
99
|
+
* When provided, enables dispatchQueued() method for routing events to Redis-backed queue.
|
|
100
|
+
*/
|
|
101
|
+
messageQueueBridge?: any;
|
|
102
|
+
/**
|
|
103
|
+
* Event aggregation configuration (FS-102).
|
|
104
|
+
* Enables deduplication and micro-batching for improved throughput.
|
|
105
|
+
*/
|
|
106
|
+
aggregation?: any;
|
|
107
|
+
}
|
|
@@ -23,7 +23,7 @@ export declare class CookieJar {
|
|
|
23
23
|
private queued;
|
|
24
24
|
constructor(encrypter?: Encrypter | undefined);
|
|
25
25
|
/**
|
|
26
|
-
* Parse cookies from a Cookie header string
|
|
26
|
+
* Parse cookies from a Cookie header string using Bun's native CookieMap
|
|
27
27
|
* @param header - The Cookie header value
|
|
28
28
|
* @returns Parsed cookies as key-value pairs
|
|
29
29
|
*/
|
|
@@ -41,7 +41,7 @@ export declare class CookieJar {
|
|
|
41
41
|
*/
|
|
42
42
|
forget(name: string, options?: CookieOptions): void;
|
|
43
43
|
/**
|
|
44
|
-
* Serialize a cookie to a Set-Cookie header value
|
|
44
|
+
* Serialize a cookie to a Set-Cookie header value using Bun's native Cookie API
|
|
45
45
|
*/
|
|
46
46
|
private serializeCookie;
|
|
47
47
|
/**
|
|
@@ -106,6 +106,11 @@ export interface GravitoRequest {
|
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
108
108
|
readonly routePattern?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Alias for routePattern (for Hono/Express compatibility)
|
|
111
|
+
* @deprecated Use `routePattern` instead
|
|
112
|
+
*/
|
|
113
|
+
readonly routePath?: string;
|
|
109
114
|
/**
|
|
110
115
|
* Get a route parameter value
|
|
111
116
|
* @param name - Parameter name (e.g., 'id' for route '/users/:id')
|
|
@@ -164,6 +169,12 @@ export interface GravitoRequest {
|
|
|
164
169
|
* @throws {Error} If validation was not performed for this target
|
|
165
170
|
*/
|
|
166
171
|
valid<T = unknown>(target: ValidationTarget): T;
|
|
172
|
+
/**
|
|
173
|
+
* Store validated data for a specific source
|
|
174
|
+
* @param target - The validation target
|
|
175
|
+
* @param data - The validated data to store
|
|
176
|
+
*/
|
|
177
|
+
setValidated(target: ValidationTarget, data: unknown): void;
|
|
167
178
|
}
|
|
168
179
|
/**
|
|
169
180
|
* Options for request forwarding (Proxy)
|
|
@@ -199,6 +210,17 @@ export interface ProxyOptions {
|
|
|
199
210
|
export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
|
|
200
211
|
/** The incoming request */
|
|
201
212
|
readonly req: GravitoRequest;
|
|
213
|
+
/**
|
|
214
|
+
* The response object (for middleware introspection).
|
|
215
|
+
* Middleware can read response headers and status, or mutate the response.
|
|
216
|
+
*
|
|
217
|
+
* @remarks
|
|
218
|
+
* This property is mutable, allowing middleware to replace the response object.
|
|
219
|
+
* Example: `c.res = new Response(...)`
|
|
220
|
+
*
|
|
221
|
+
* May be undefined until a handler creates a response.
|
|
222
|
+
*/
|
|
223
|
+
res?: Response;
|
|
202
224
|
/**
|
|
203
225
|
* Send a JSON response
|
|
204
226
|
* @param data - Data to serialize as JSON
|
|
@@ -335,7 +357,7 @@ export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
|
|
|
335
357
|
/**
|
|
336
358
|
* Next function for middleware chain
|
|
337
359
|
*/
|
|
338
|
-
export type GravitoNext = () => Promise<
|
|
360
|
+
export type GravitoNext = () => Promise<void>;
|
|
339
361
|
/**
|
|
340
362
|
* GravitoHandler - Standard route handler type
|
|
341
363
|
*
|
|
@@ -359,11 +381,10 @@ export type GravitoHandler<V extends GravitoVariables = GravitoVariables> = (ctx
|
|
|
359
381
|
* const logger: GravitoMiddleware = async (ctx, next) => {
|
|
360
382
|
* console.log(`${ctx.req.method} ${ctx.req.path}`)
|
|
361
383
|
* await next()
|
|
362
|
-
* return undefined
|
|
363
384
|
* }
|
|
364
385
|
* ```
|
|
365
386
|
*/
|
|
366
|
-
export type GravitoMiddleware<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>, next: GravitoNext) => Response |
|
|
387
|
+
export type GravitoMiddleware<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>, next: GravitoNext) => Response | void | Promise<Response | void>;
|
|
367
388
|
/**
|
|
368
389
|
* Error handler type
|
|
369
390
|
*/
|