@daloyjs/core 0.7.5 → 0.8.2

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.
Files changed (67) hide show
  1. package/README.md +21 -10
  2. package/dist/adapters/bun.d.ts +26 -4
  3. package/dist/adapters/bun.d.ts.map +1 -1
  4. package/dist/adapters/bun.js +16 -4
  5. package/dist/adapters/bun.js.map +1 -1
  6. package/dist/adapters/cloudflare.d.ts +21 -4
  7. package/dist/adapters/cloudflare.d.ts.map +1 -1
  8. package/dist/adapters/cloudflare.js.map +1 -1
  9. package/dist/adapters/deno.d.ts +25 -2
  10. package/dist/adapters/deno.d.ts.map +1 -1
  11. package/dist/adapters/deno.js +39 -7
  12. package/dist/adapters/deno.js.map +1 -1
  13. package/dist/adapters/fastly.d.ts +23 -0
  14. package/dist/adapters/fastly.d.ts.map +1 -0
  15. package/dist/adapters/fastly.js +11 -0
  16. package/dist/adapters/fastly.js.map +1 -0
  17. package/dist/adapters/lambda.d.ts +67 -0
  18. package/dist/adapters/lambda.d.ts.map +1 -0
  19. package/dist/adapters/lambda.js +117 -0
  20. package/dist/adapters/lambda.js.map +1 -0
  21. package/dist/adapters/node.d.ts +7 -0
  22. package/dist/adapters/node.d.ts.map +1 -1
  23. package/dist/adapters/node.js +17 -4
  24. package/dist/adapters/node.js.map +1 -1
  25. package/dist/adapters/vercel.d.ts +35 -7
  26. package/dist/adapters/vercel.d.ts.map +1 -1
  27. package/dist/adapters/vercel.js +22 -1
  28. package/dist/adapters/vercel.js.map +1 -1
  29. package/dist/app.d.ts +235 -8
  30. package/dist/app.d.ts.map +1 -1
  31. package/dist/app.js +222 -8
  32. package/dist/app.js.map +1 -1
  33. package/dist/client.d.ts +27 -0
  34. package/dist/client.d.ts.map +1 -1
  35. package/dist/client.js +27 -0
  36. package/dist/client.js.map +1 -1
  37. package/dist/errors.d.ts +169 -3
  38. package/dist/errors.d.ts.map +1 -1
  39. package/dist/errors.js +143 -0
  40. package/dist/errors.js.map +1 -1
  41. package/dist/logger.d.ts +26 -0
  42. package/dist/logger.d.ts.map +1 -1
  43. package/dist/logger.js +26 -0
  44. package/dist/logger.js.map +1 -1
  45. package/dist/middleware.d.ts +143 -0
  46. package/dist/middleware.d.ts.map +1 -1
  47. package/dist/middleware.js +147 -4
  48. package/dist/middleware.js.map +1 -1
  49. package/dist/openapi.d.ts +32 -0
  50. package/dist/openapi.d.ts.map +1 -1
  51. package/dist/openapi.js +33 -2
  52. package/dist/openapi.js.map +1 -1
  53. package/dist/schema.d.ts +33 -2
  54. package/dist/schema.d.ts.map +1 -1
  55. package/dist/schema.js +33 -2
  56. package/dist/schema.js.map +1 -1
  57. package/dist/security-schemes.d.ts +75 -5
  58. package/dist/security-schemes.d.ts.map +1 -1
  59. package/dist/security-schemes.js +75 -5
  60. package/dist/security-schemes.js.map +1 -1
  61. package/dist/security.d.ts +73 -4
  62. package/dist/security.d.ts.map +1 -1
  63. package/dist/security.js +73 -4
  64. package/dist/security.js.map +1 -1
  65. package/dist/types.d.ts +195 -5
  66. package/dist/types.d.ts.map +1 -1
  67. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,41 @@
1
1
  /**
2
- * Vercel Edge / generic Web-standard handler.
2
+ * Vercel / web-standard handler.
3
3
  *
4
- * Usage in Next.js Route Handlers:
5
- * export const GET = (req) => app.fetch(req);
6
- * export const POST = (req) => app.fetch(req);
4
+ * Vercel now recommends the Node.js runtime over Edge for new functions. The
5
+ * runtime is web-standard, but the export shape differs by integration: Node
6
+ * `/api` functions use a default `{ fetch }` object, while Edge functions and
7
+ * Next.js route handlers use function exports.
7
8
  *
8
- * Or just:
9
- * export default toEdgeHandler(app);
9
+ * // Vercel Functions (`api/[...path].ts`)
10
+ * import { toFetchHandler } from "@daloyjs/core/vercel";
11
+ * export default toFetchHandler(app);
12
+ *
13
+ * // Next.js App Router (`app/api/[...slug]/route.ts`)
14
+ * import { toRouteHandlers } from "@daloyjs/core/vercel";
15
+ * export const { GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD } =
16
+ * toRouteHandlers(app);
17
+ *
18
+ * `toEdgeHandler` is kept as a backward-compatible alias of `toWebHandler`.
10
19
  */
11
20
  import type { App } from "../app.js";
12
- export declare function toEdgeHandler(app: App): (req: Request) => Promise<Response>;
21
+ export type WebHandler = (req: Request) => Promise<Response>;
22
+ export interface FetchHandler {
23
+ fetch: WebHandler;
24
+ }
25
+ declare const NEXT_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
26
+ export type RouteHandlers = Record<(typeof NEXT_METHODS)[number], WebHandler>;
27
+ export declare function toWebHandler(app: App): WebHandler;
28
+ /**
29
+ * Build the default `{ fetch }` export expected by Vercel Node.js Functions
30
+ * in the `/api` directory.
31
+ */
32
+ export declare function toFetchHandler(app: App): FetchHandler;
33
+ /** Backward-compatible alias for {@link toWebHandler}. */
34
+ export declare const toEdgeHandler: typeof toWebHandler;
35
+ /**
36
+ * Build the `{ GET, POST, ... }` object expected by Next.js App Router
37
+ * `route.ts` files, so a single catch-all segment can serve every HTTP method.
38
+ */
39
+ export declare function toRouteHandlers(app: App): RouteHandlers;
40
+ export {};
13
41
  //# sourceMappingURL=vercel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../src/adapters/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,IAC5B,KAAK,OAAO,uBACrB"}
1
+ {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../src/adapters/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,QAAA,MAAM,YAAY,uEAAwE,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AAE9E,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAEjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAErD;AAED,0DAA0D;AAC1D,eAAO,MAAM,aAAa,qBAAe,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAKvD"}
@@ -1,4 +1,25 @@
1
- export function toEdgeHandler(app) {
1
+ const NEXT_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
2
+ export function toWebHandler(app) {
2
3
  return (req) => app.fetch(req);
3
4
  }
5
+ /**
6
+ * Build the default `{ fetch }` export expected by Vercel Node.js Functions
7
+ * in the `/api` directory.
8
+ */
9
+ export function toFetchHandler(app) {
10
+ return { fetch: toWebHandler(app) };
11
+ }
12
+ /** Backward-compatible alias for {@link toWebHandler}. */
13
+ export const toEdgeHandler = toWebHandler;
14
+ /**
15
+ * Build the `{ GET, POST, ... }` object expected by Next.js App Router
16
+ * `route.ts` files, so a single catch-all segment can serve every HTTP method.
17
+ */
18
+ export function toRouteHandlers(app) {
19
+ const handler = toWebHandler(app);
20
+ const out = {};
21
+ for (const method of NEXT_METHODS)
22
+ out[method] = handler;
23
+ return out;
24
+ }
4
25
  //# sourceMappingURL=vercel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../src/adapters/vercel.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../src/adapters/vercel.ts"],"names":[],"mappings":"AA0BA,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAG3F,MAAM,UAAU,YAAY,CAAC,GAAQ;IACnC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACrC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,EAAmB,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,YAAY;QAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/app.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import { type Logger } from "./logger.js";
2
2
  import type { HttpMethod, Hooks, PathString, RequestSchemas, ResponsesMap, RouteDefinition } from "./types.js";
3
+ /**
4
+ * Configuration accepted by {@link App}'s constructor. Every field is
5
+ * optional; sensible production defaults are applied.
6
+ *
7
+ * @since 0.1.0
8
+ */
3
9
  export interface AppOptions {
4
10
  /** OpenAPI document metadata */
5
11
  title?: string;
@@ -55,6 +61,13 @@ export interface ShutdownEvent {
55
61
  /** Drain timeout (ms) the shutdown will use after listeners finish. */
56
62
  timeoutMs: number;
57
63
  }
64
+ /**
65
+ * Lightweight introspection record produced by {@link App.introspect}. Useful
66
+ * for tooling (dead-route checks, custom dashboards) that needs to enumerate
67
+ * the registered surface without parsing the OpenAPI document.
68
+ *
69
+ * @since 0.1.0
70
+ */
58
71
  export interface IntrospectedRoute {
59
72
  method: HttpMethod;
60
73
  path: string;
@@ -73,6 +86,55 @@ export interface IntrospectedRoute {
73
86
  scopes?: string[];
74
87
  };
75
88
  }
89
+ /**
90
+ * Contract-first HTTP application.
91
+ *
92
+ * `App` is the top-level entry point: register {@link RouteDefinition routes}
93
+ * with {@link App.route}, layer cross-cutting behavior with
94
+ * {@link App.use}/{@link App.register}, then expose the application to a
95
+ * runtime via {@link App.fetch} (Web standard) or one of the adapter subpaths
96
+ * such as `@daloyjs/core/node`, `@daloyjs/core/cloudflare`, or
97
+ * `@daloyjs/core/lambda`.
98
+ *
99
+ * The same `App` instance powers:
100
+ *
101
+ * - request routing (`Router` under the hood)
102
+ * - request/response validation against Standard-Schema validators
103
+ * - OpenAPI 3.1 generation (`generateOpenAPI(app)`)
104
+ * - typed in-process client (`createClient(app)`) and generated SDK
105
+ * - graceful shutdown and lifecycle observability
106
+ *
107
+ * `App` is **runtime-agnostic**: the same instance runs on Node, Bun, Deno,
108
+ * Cloudflare Workers, Vercel Edge, AWS Lambda, and Fastly Compute via the
109
+ * dedicated adapters.
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * import { App, secureHeaders } from "@daloyjs/core";
114
+ * import { z } from "zod";
115
+ *
116
+ * const app = new App({ title: "Books API", version: "1.0.0" });
117
+ *
118
+ * app.use(secureHeaders());
119
+ *
120
+ * app.route({
121
+ * method: "GET",
122
+ * path: "/books/:id",
123
+ * operationId: "getBook",
124
+ * request: { params: z.object({ id: z.uuid() }) },
125
+ * responses: {
126
+ * 200: { description: "OK", body: z.object({ id: z.string(), title: z.string() }) },
127
+ * },
128
+ * handler: ({ params }) => ({ status: 200, body: { id: params.id, title: "Dune" } }),
129
+ * });
130
+ *
131
+ * // Node:
132
+ * import { serve } from "@daloyjs/core/node";
133
+ * serve(app, { port: 3000 });
134
+ * ```
135
+ *
136
+ * @since 0.1.0
137
+ */
76
138
  export declare class App {
77
139
  readonly options: Required<Pick<AppOptions, "validateResponses" | "bodyLimitBytes" | "requestTimeoutMs">> & AppOptions;
78
140
  readonly log: Logger;
@@ -96,18 +158,114 @@ export declare class App {
96
158
  private inflight;
97
159
  private draining;
98
160
  constructor(options?: AppOptions);
161
+ /**
162
+ * Register a single route on the application.
163
+ *
164
+ * The supplied {@link RouteDefinition} is the **single source of truth**
165
+ * for that endpoint — routing, request/response validation, OpenAPI
166
+ * documentation, and the typed client SDK all derive from this one call.
167
+ * Generic parameters are inferred from `path`, `method`, `request`, and
168
+ * `responses`; you should rarely need to specify them explicitly.
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * app.route({
173
+ * method: "POST",
174
+ * path: "/books",
175
+ * operationId: "createBook",
176
+ * request: { body: z.object({ title: z.string().min(1) }) },
177
+ * responses: { 201: { description: "Created" } },
178
+ * handler: ({ body }) => ({ status: 201, body: { id: "1", title: body.title } }),
179
+ * });
180
+ * ```
181
+ *
182
+ * @param def - The route definition.
183
+ * @returns This `App` instance for chaining.
184
+ */
99
185
  route<P extends PathString, M extends HttpMethod, Req extends RequestSchemas | undefined, Res extends ResponsesMap>(def: RouteDefinition<P, M, Req, Res>): this;
100
- /** Group routes under a path prefix with shared tags/hooks/auth (encapsulated). */
186
+ /**
187
+ * Mount a group of routes under a shared prefix with shared tags, hooks,
188
+ * and authentication. The `register` callback receives an encapsulated
189
+ * child `App` whose `route()` calls inherit the prefix and group config.
190
+ * Hooks and tags are merged with any further `app.use(...)` / route-level
191
+ * entries.
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * app.group("/admin", { tags: ["admin"] }, (admin) => {
196
+ * admin.route({
197
+ * method: "GET",
198
+ * path: "/users",
199
+ * responses: { 200: { description: "OK" } },
200
+ * handler: () => ({ status: 200, body: [] }),
201
+ * });
202
+ * });
203
+ * ```
204
+ *
205
+ * @param prefix - Path prefix prepended to every route registered in `register`.
206
+ * @param config - Shared metadata: tags, hooks, and auth requirement.
207
+ * @param register - Callback that registers the grouped routes on the child app.
208
+ * @returns This `App` instance for chaining.
209
+ */
101
210
  group(prefix: PathString, config: {
102
211
  tags?: string[];
103
212
  hooks?: Hooks;
104
213
  auth?: RouteDefinition["auth"];
105
214
  }, register: (app: App) => void): this;
106
- /** Attach a hook layer to all subsequently-registered routes. */
215
+ /**
216
+ * Attach a hook layer that applies to every route registered **afterwards**.
217
+ *
218
+ * Use this for cross-cutting middleware (CORS, secure headers, auth
219
+ * bouncers). Hooks compose pipeline-style — see {@link Hooks} for ordering.
220
+ *
221
+ * @example
222
+ * ```ts
223
+ * import { secureHeaders, cors } from "@daloyjs/core";
224
+ *
225
+ * app.use(secureHeaders());
226
+ * app.use(cors({ origin: "https://app.example.com", credentials: true }));
227
+ * ```
228
+ *
229
+ * @param hooks - Hook bundle applied to subsequent routes.
230
+ * @returns This `App` instance for chaining.
231
+ */
107
232
  use(hooks: Hooks): this;
108
- /** Decorate ctx.state with values available in every handler. */
233
+ /**
234
+ * Decorate `ctx.state` with a value available inside every handler and hook.
235
+ *
236
+ * Augment the {@link AppState} interface to type the decoration globally:
237
+ *
238
+ * ```ts
239
+ * declare module "@daloyjs/core" {
240
+ * interface AppState { db: Database }
241
+ * }
242
+ *
243
+ * app.decorate("db", db);
244
+ *
245
+ * app.route({
246
+ * method: "GET",
247
+ * path: "/health",
248
+ * responses: { 200: { description: "OK" } },
249
+ * handler: ({ state }) => ({ status: 200, body: state.db.ping() }),
250
+ * });
251
+ * ```
252
+ *
253
+ * @param key - Property name on `ctx.state`.
254
+ * @param value - Value bound to that property on every request.
255
+ * @returns This `App` instance for chaining.
256
+ */
109
257
  decorate<K extends string, V>(key: K, value: V): this;
110
- /** Register cleanup to run once during graceful shutdown. */
258
+ /**
259
+ * Register a callback to run once during graceful shutdown, **after** all
260
+ * in-flight requests have drained. Use this to close database pools, flush
261
+ * metrics, or release any other long-lived resources.
262
+ *
263
+ * For listeners that need to fire **before** draining starts (e.g. to tell
264
+ * a load balancer the instance is going away), use {@link App.onShutdown}.
265
+ *
266
+ * @param hook - Async or sync cleanup function. Errors are swallowed and logged.
267
+ * @returns This `App` instance for chaining.
268
+ */
111
269
  onClose(hook: () => void | Promise<void>): this;
112
270
  /**
113
271
  * Subscribe to plugin install events. The listener fires once per registered
@@ -137,15 +295,84 @@ export declare class App {
137
295
  auth?: RouteDefinition["auth"];
138
296
  }): this;
139
297
  private firePluginInstalled;
140
- /** Wait for all async plugins to finish initializing. */
298
+ /**
299
+ * Wait until every async plugin registered with {@link App.register} has
300
+ * finished initializing. Call this after `register()` returns and **before**
301
+ * starting the server when any plugin's `register()` returns a `Promise`.
302
+ *
303
+ * Sync plugins also push observer promises here so `await app.ready()` is
304
+ * always safe to call.
305
+ *
306
+ * @example
307
+ * ```ts
308
+ * app.register(metricsPlugin); // async
309
+ * await app.ready();
310
+ * serve(app, { port: 3000 });
311
+ * ```
312
+ *
313
+ * @returns Promise that resolves once all pending plugins have settled.
314
+ */
141
315
  ready(): Promise<void>;
316
+ /**
317
+ * Web-standard request handler. Accepts a `Request` and returns a `Response`.
318
+ * This is the universal entry point used by every runtime adapter; you may
319
+ * also call it directly from tests, Cloudflare Workers, or any other
320
+ * environment that speaks the Fetch API.
321
+ *
322
+ * During graceful shutdown this rejects new requests with `503` and a
323
+ * `Retry-After: 5` header.
324
+ *
325
+ * @example
326
+ * ```ts
327
+ * // Cloudflare Worker
328
+ * export default { fetch: (req) => app.fetch(req) };
329
+ * ```
330
+ *
331
+ * @param request - A standard `Request` object.
332
+ * @returns A standard `Response`. Errors thrown inside handlers are mapped
333
+ * to RFC 9457 `application/problem+json` automatically.
334
+ */
142
335
  fetch: (request: Request) => Promise<Response>;
143
- /** In-process test client. */
336
+ /**
337
+ * In-process test client. Accepts the same arguments as the global `fetch`
338
+ * but routes them through `this.fetch` without a network hop. Relative URLs
339
+ * (starting with `/`) are resolved against `http://test.local`.
340
+ *
341
+ * @example
342
+ * ```ts
343
+ * const res = await app.request("/books/123");
344
+ * assert.equal(res.status, 200);
345
+ * const json = await res.json();
346
+ * ```
347
+ *
348
+ * @param input - URL, path, or `Request` to dispatch.
349
+ * @param init - Standard `RequestInit` (ignored if `input` is a `Request`).
350
+ * @returns Fulfills with the `Response` produced by the matching handler.
351
+ */
144
352
  request(input: string | URL | Request, init?: RequestInit): Promise<Response>;
353
+ /**
354
+ * Return a JSON-serializable summary of every registered route. Useful for
355
+ * dead-route detection, dashboards, and tests that want to assert against
356
+ * the route table without parsing the OpenAPI document.
357
+ *
358
+ * @returns Array of one {@link IntrospectedRoute} per registered route.
359
+ */
145
360
  introspect(): IntrospectedRoute[];
146
361
  /**
147
- * Begin graceful shutdown: stop accepting new requests, wait for in-flight
148
- * requests to drain (up to `timeoutMs`).
362
+ * Begin graceful shutdown.
363
+ *
364
+ * Subsequent calls to {@link App.fetch} immediately reply `503 Service
365
+ * Unavailable` with `Retry-After: 5`. Listeners registered with
366
+ * {@link App.onShutdown} fire first (so observability plugins can publish a
367
+ * "draining" signal); then the app waits up to `timeoutMs` for in-flight
368
+ * requests to settle; finally, {@link App.onClose} cleanups run.
369
+ *
370
+ * Both Node and Bun adapters call this automatically on `SIGINT` / `SIGTERM`.
371
+ * Call it manually from custom runtimes or integration tests.
372
+ *
373
+ * @param timeoutMs - Maximum time (ms) to wait for inflight requests. Default: `10_000`.
374
+ * @param reason - Optional human-readable reason forwarded to listeners.
375
+ * @returns Resolves once draining + cleanups complete (or the timeout elapses).
149
376
  */
150
377
  shutdown(timeoutMs?: number, reason?: string): Promise<void>;
151
378
  }
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}