glasswork 1.5.0 → 1.6.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.
Files changed (200) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +6 -2
  3. package/dist/audit/audit-logger.d.ts +6 -1
  4. package/dist/audit/audit-logger.d.ts.map +1 -1
  5. package/dist/audit/audit-logger.js +6 -1
  6. package/dist/audit/audit-logger.js.map +1 -1
  7. package/dist/auth/assert.d.ts +4 -0
  8. package/dist/auth/assert.d.ts.map +1 -1
  9. package/dist/auth/assert.js +7 -3
  10. package/dist/auth/assert.js.map +1 -1
  11. package/dist/auth/better-auth-provider.js +13 -4
  12. package/dist/auth/better-auth-provider.js.map +1 -1
  13. package/dist/auth/errors.d.ts +17 -0
  14. package/dist/auth/errors.d.ts.map +1 -0
  15. package/dist/auth/errors.js +23 -0
  16. package/dist/auth/errors.js.map +1 -0
  17. package/dist/auth/index.d.ts +2 -1
  18. package/dist/auth/index.d.ts.map +1 -1
  19. package/dist/auth/index.js +1 -0
  20. package/dist/auth/index.js.map +1 -1
  21. package/dist/auth/middleware.d.ts +13 -0
  22. package/dist/auth/middleware.d.ts.map +1 -1
  23. package/dist/auth/middleware.js +19 -8
  24. package/dist/auth/middleware.js.map +1 -1
  25. package/dist/auth/types.d.ts +4 -0
  26. package/dist/auth/types.d.ts.map +1 -1
  27. package/dist/config/providers.d.ts.map +1 -1
  28. package/dist/config/providers.js +5 -4
  29. package/dist/config/providers.js.map +1 -1
  30. package/dist/core/bootstrap.d.ts +2 -2
  31. package/dist/core/bootstrap.d.ts.map +1 -1
  32. package/dist/core/bootstrap.js +142 -68
  33. package/dist/core/bootstrap.js.map +1 -1
  34. package/dist/core/contract.d.ts +9 -2
  35. package/dist/core/contract.d.ts.map +1 -1
  36. package/dist/core/contract.js +2 -1
  37. package/dist/core/contract.js.map +1 -1
  38. package/dist/core/errors.d.ts +16 -0
  39. package/dist/core/errors.d.ts.map +1 -0
  40. package/dist/core/errors.js +31 -0
  41. package/dist/core/errors.js.map +1 -0
  42. package/dist/core/glasswork-config.d.ts +42 -0
  43. package/dist/core/glasswork-config.d.ts.map +1 -0
  44. package/dist/core/glasswork-config.js +2 -0
  45. package/dist/core/glasswork-config.js.map +1 -0
  46. package/dist/core/index.d.ts +6 -3
  47. package/dist/core/index.d.ts.map +1 -1
  48. package/dist/core/index.js +4 -2
  49. package/dist/core/index.js.map +1 -1
  50. package/dist/core/job-services.d.ts +16 -0
  51. package/dist/core/job-services.d.ts.map +1 -0
  52. package/dist/core/job-services.js +19 -0
  53. package/dist/core/job-services.js.map +1 -0
  54. package/dist/core/lifecycle.d.ts +29 -1
  55. package/dist/core/lifecycle.d.ts.map +1 -1
  56. package/dist/core/lifecycle.js +98 -15
  57. package/dist/core/lifecycle.js.map +1 -1
  58. package/dist/core/module-graph.d.ts +2 -0
  59. package/dist/core/module-graph.d.ts.map +1 -1
  60. package/dist/core/module-graph.js +63 -10
  61. package/dist/core/module-graph.js.map +1 -1
  62. package/dist/core/module-inspection.d.ts +44 -0
  63. package/dist/core/module-inspection.d.ts.map +1 -0
  64. package/dist/core/module-inspection.js +114 -0
  65. package/dist/core/module-inspection.js.map +1 -0
  66. package/dist/core/module-runtime.d.ts +8 -0
  67. package/dist/core/module-runtime.d.ts.map +1 -1
  68. package/dist/core/module-runtime.js +60 -6
  69. package/dist/core/module-runtime.js.map +1 -1
  70. package/dist/core/request-scope.js +1 -1
  71. package/dist/core/request-scope.js.map +1 -1
  72. package/dist/core/types.d.ts +98 -7
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/email/ses.d.ts +7 -0
  75. package/dist/email/ses.d.ts.map +1 -0
  76. package/dist/email/ses.js +6 -0
  77. package/dist/email/ses.js.map +1 -0
  78. package/dist/email/smtp.d.ts +7 -0
  79. package/dist/email/smtp.d.ts.map +1 -0
  80. package/dist/email/smtp.js +6 -0
  81. package/dist/email/smtp.js.map +1 -0
  82. package/dist/email/transports/ses-transport.d.ts.map +1 -1
  83. package/dist/email/transports/ses-transport.js +6 -4
  84. package/dist/email/transports/ses-transport.js.map +1 -1
  85. package/dist/email/transports/smtp-transport.d.ts +40 -0
  86. package/dist/email/transports/smtp-transport.d.ts.map +1 -0
  87. package/dist/email/transports/smtp-transport.js +67 -0
  88. package/dist/email/transports/smtp-transport.js.map +1 -0
  89. package/dist/http/error-handler.d.ts +7 -1
  90. package/dist/http/error-handler.d.ts.map +1 -1
  91. package/dist/http/error-handler.js +18 -6
  92. package/dist/http/error-handler.js.map +1 -1
  93. package/dist/http/error-response.dto.d.ts +6 -0
  94. package/dist/http/error-response.dto.d.ts.map +1 -1
  95. package/dist/http/error-response.dto.js +6 -0
  96. package/dist/http/error-response.dto.js.map +1 -1
  97. package/dist/http/errors.d.ts +12 -0
  98. package/dist/http/errors.d.ts.map +1 -1
  99. package/dist/http/errors.js +35 -23
  100. package/dist/http/errors.js.map +1 -1
  101. package/dist/http/index.d.ts +1 -1
  102. package/dist/http/index.d.ts.map +1 -1
  103. package/dist/http/index.js +1 -1
  104. package/dist/http/index.js.map +1 -1
  105. package/dist/http/route-authorization.d.ts.map +1 -1
  106. package/dist/http/route-authorization.js +3 -3
  107. package/dist/http/route-authorization.js.map +1 -1
  108. package/dist/http/route-helpers.d.ts +2 -1
  109. package/dist/http/route-helpers.d.ts.map +1 -1
  110. package/dist/http/route-helpers.js +29 -2
  111. package/dist/http/route-helpers.js.map +1 -1
  112. package/dist/http/route-openapi-context.d.ts +15 -1
  113. package/dist/http/route-openapi-context.d.ts.map +1 -1
  114. package/dist/http/route-openapi-context.js.map +1 -1
  115. package/dist/http/route-response.d.ts +6 -2
  116. package/dist/http/route-response.d.ts.map +1 -1
  117. package/dist/http/route-response.js +36 -16
  118. package/dist/http/route-response.js.map +1 -1
  119. package/dist/http/route-types.d.ts +12 -4
  120. package/dist/http/route-types.d.ts.map +1 -1
  121. package/dist/http/route-types.js.map +1 -1
  122. package/dist/http/route-validation.d.ts.map +1 -1
  123. package/dist/http/route-validation.js +21 -1
  124. package/dist/http/route-validation.js.map +1 -1
  125. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts +1 -0
  126. package/dist/jobs/drivers/eventbridge-scheduler-driver.d.ts.map +1 -1
  127. package/dist/jobs/drivers/eventbridge-scheduler-driver.js +12 -2
  128. package/dist/jobs/drivers/eventbridge-scheduler-driver.js.map +1 -1
  129. package/dist/jobs/drivers/mock-driver.d.ts +4 -0
  130. package/dist/jobs/drivers/mock-driver.d.ts.map +1 -1
  131. package/dist/jobs/drivers/mock-driver.js +10 -3
  132. package/dist/jobs/drivers/mock-driver.js.map +1 -1
  133. package/dist/jobs/drivers/sqs-driver.d.ts +1 -1
  134. package/dist/jobs/drivers/sqs-driver.d.ts.map +1 -1
  135. package/dist/jobs/drivers/sqs-driver.js +8 -2
  136. package/dist/jobs/drivers/sqs-driver.js.map +1 -1
  137. package/dist/jobs/errors.d.ts +14 -1
  138. package/dist/jobs/errors.d.ts.map +1 -1
  139. package/dist/jobs/errors.js +19 -2
  140. package/dist/jobs/errors.js.map +1 -1
  141. package/dist/jobs/index.d.ts +3 -3
  142. package/dist/jobs/index.d.ts.map +1 -1
  143. package/dist/jobs/index.js +1 -1
  144. package/dist/jobs/index.js.map +1 -1
  145. package/dist/jobs/job-service.d.ts +46 -7
  146. package/dist/jobs/job-service.d.ts.map +1 -1
  147. package/dist/jobs/job-service.js +63 -9
  148. package/dist/jobs/job-service.js.map +1 -1
  149. package/dist/jobs/scheduler.d.ts +6 -0
  150. package/dist/jobs/scheduler.d.ts.map +1 -0
  151. package/dist/jobs/scheduler.js +6 -0
  152. package/dist/jobs/scheduler.js.map +1 -0
  153. package/dist/jobs/sqs.d.ts +7 -0
  154. package/dist/jobs/sqs.d.ts.map +1 -0
  155. package/dist/jobs/sqs.js +7 -0
  156. package/dist/jobs/sqs.js.map +1 -0
  157. package/dist/jobs/types.d.ts +6 -1
  158. package/dist/jobs/types.d.ts.map +1 -1
  159. package/dist/jobs/utils.d.ts +6 -0
  160. package/dist/jobs/utils.d.ts.map +1 -1
  161. package/dist/jobs/utils.js +8 -0
  162. package/dist/jobs/utils.js.map +1 -1
  163. package/dist/middleware/rate-limit.d.ts.map +1 -1
  164. package/dist/middleware/rate-limit.js +5 -4
  165. package/dist/middleware/rate-limit.js.map +1 -1
  166. package/dist/observability/exception-tracking.d.ts +23 -0
  167. package/dist/observability/exception-tracking.d.ts.map +1 -1
  168. package/dist/observability/exception-tracking.js +101 -6
  169. package/dist/observability/exception-tracking.js.map +1 -1
  170. package/dist/observability/index.d.ts +1 -1
  171. package/dist/observability/index.d.ts.map +1 -1
  172. package/dist/observability/index.js +1 -1
  173. package/dist/observability/index.js.map +1 -1
  174. package/dist/observability/sanitizers.d.ts.map +1 -1
  175. package/dist/observability/sanitizers.js +2 -0
  176. package/dist/observability/sanitizers.js.map +1 -1
  177. package/dist/openapi/drift.d.ts +17 -2
  178. package/dist/openapi/drift.d.ts.map +1 -1
  179. package/dist/openapi/drift.js +79 -5
  180. package/dist/openapi/drift.js.map +1 -1
  181. package/dist/openapi/openapi.d.ts.map +1 -1
  182. package/dist/openapi/openapi.js +2 -1
  183. package/dist/openapi/openapi.js.map +1 -1
  184. package/dist/utils/environment.d.ts +10 -2
  185. package/dist/utils/environment.d.ts.map +1 -1
  186. package/dist/utils/environment.js +20 -3
  187. package/dist/utils/environment.js.map +1 -1
  188. package/dist/utils/module-interop.d.ts +9 -0
  189. package/dist/utils/module-interop.d.ts.map +1 -0
  190. package/dist/utils/module-interop.js +16 -0
  191. package/dist/utils/module-interop.js.map +1 -0
  192. package/dist/utils/optional-dependency.d.ts +6 -0
  193. package/dist/utils/optional-dependency.d.ts.map +1 -0
  194. package/dist/utils/optional-dependency.js +16 -0
  195. package/dist/utils/optional-dependency.js.map +1 -0
  196. package/dist/utils/serialize-prisma-types.d.ts +51 -15
  197. package/dist/utils/serialize-prisma-types.d.ts.map +1 -1
  198. package/dist/utils/serialize-prisma-types.js +47 -16
  199. package/dist/utils/serialize-prisma-types.js.map +1 -1
  200. package/package.json +56 -12
@@ -7,35 +7,20 @@ import { secureHeaders } from 'hono/secure-headers';
7
7
  import { createErrorHandler, defaultErrorHandler } from '../http/error-handler.js';
8
8
  import { route, setOpenAPIContext } from '../http/route-helpers.js';
9
9
  import { createRateLimitMiddleware } from '../middleware/rate-limit.js';
10
+ import { flushExceptionTracker } from '../observability/exception-tracking.js';
10
11
  import { createContextAwarePinoLogger, createPinoHttpMiddleware, } from '../observability/pino-logger.js';
11
12
  import { createRequestContextMiddleware } from '../observability/request-context.js';
12
13
  import { createSanitizedExceptionTracker, createSanitizedLogger, } from '../observability/sanitizers.js';
13
14
  import { configureOpenAPI } from '../openapi/openapi.js';
14
15
  import { createBuiltinProcessors } from '../openapi/openapi-processors.js';
15
- import { isLambda, isTest } from '../utils/environment.js';
16
+ import { detectEnvironment, isLambda, isTest } from '../utils/environment.js';
16
17
  import { createLogger, createPlainLogger, getDefaultLogLevel, } from '../utils/logger.js';
17
- import { executeLifecycleHooks } from './lifecycle.js';
18
+ import { createSerializationConfig } from '../utils/serialize-prisma-types.js';
19
+ import { createApplicationLifecycle, executeLifecycleHooks, shutdownContainer, } from './lifecycle.js';
18
20
  import { getProviderName } from './module.js';
19
21
  import { collectModules, registerModuleProviders, resolveAsyncFactoryProviders, validateNoCycles, } from './module-graph.js';
20
22
  import { ModuleRuntime } from './module-runtime.js';
21
23
  import { HttpRequestScope } from './request-scope.js';
22
- /**
23
- * Detect environment from NODE_ENV or AWS Lambda context
24
- */
25
- function detectEnvironment() {
26
- const nodeEnv = process.env.NODE_ENV;
27
- if (nodeEnv === 'production') {
28
- return 'production';
29
- }
30
- if (nodeEnv === 'test') {
31
- return 'test';
32
- }
33
- // Check if running in AWS Lambda
34
- if (process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.LAMBDA_TASK_ROOT) {
35
- return 'production';
36
- }
37
- return 'development';
38
- }
39
24
  /**
40
25
  * Bootstrap the application with modules.
41
26
  *
@@ -72,8 +57,9 @@ function detectEnvironment() {
72
57
  * container.register({ customService: asClass(CustomService) });
73
58
  * ```
74
59
  */
75
- export async function bootstrap(rootModule, options = {}) {
76
- const { apiBasePath = '/api', debug = false, environment = detectEnvironment(), errorHandler = defaultErrorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, mode = 'runtime', providerOverrides = [], } = options;
60
+ export async function bootstrap(rootModule, ...args) {
61
+ const options = args[0] ?? {};
62
+ const { apiBasePath = '/api', debug = false, environment = detectEnvironment(), errorHandler = defaultErrorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, serialization, mode = 'runtime', providerOverrides = [], } = options;
77
63
  // Create logger for bootstrap process
78
64
  // Convert debug boolean to log level: debug=true -> 'debug', debug=false -> default level
79
65
  // In test mode, use silent unless debug=true is explicitly set (for testing/debugging)
@@ -92,39 +78,74 @@ export async function bootstrap(rootModule, options = {}) {
92
78
  const runtime = new ModuleRuntime(allModules, bootstrapLogger);
93
79
  const container = runtime.container;
94
80
  const asyncFactoryNames = runtime.asyncFactories;
95
- const activeAsyncFactories = applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger);
96
- // Resolve async factories before mounting runtime routes.
97
- if (mode === 'runtime' && activeAsyncFactories.length > 0) {
98
- await resolveAsyncFactoryProviders(container, activeAsyncFactories, bootstrapLogger);
81
+ try {
82
+ const activeAsyncFactories = applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger);
83
+ // Resolve async factories before mounting runtime routes.
84
+ if (mode === 'runtime' && activeAsyncFactories.length > 0) {
85
+ await resolveAsyncFactoryProviders(container, activeAsyncFactories, bootstrapLogger);
86
+ }
87
+ return await finishBootstrap(allModules, runtime, bootstrapLogger, {
88
+ environment,
89
+ apiBasePath,
90
+ mode,
91
+ errorHandler,
92
+ openapi,
93
+ rateLimit,
94
+ middleware,
95
+ logger,
96
+ exceptionTracking,
97
+ serialization,
98
+ });
99
+ }
100
+ catch (error) {
101
+ await releaseFailedBootstrap(container, mode, bootstrapLogger);
102
+ throw error;
99
103
  }
100
- return finishBootstrap(allModules, runtime, bootstrapLogger, {
101
- environment,
102
- apiBasePath,
103
- mode,
104
- errorHandler,
105
- openapi,
106
- rateLimit,
107
- middleware,
108
- logger,
109
- exceptionTracking,
110
- });
111
104
  }
112
- function applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger) {
113
- for (const provider of providerOverrides) {
114
- const name = getProviderName(provider);
115
- if (!runtime.modules.some((module) => module.providers?.some((local) => getProviderName(local) === name))) {
116
- throw new Error(`Provider override "${name}" does not match a registered provider`);
117
- }
105
+ /**
106
+ * The caller of a failed bootstrap never receives stop(), so release what was created so
107
+ * far: destroy hooks and disposers of resolved providers. Cleanup errors are logged and the
108
+ * original error is rethrown.
109
+ */
110
+ async function releaseFailedBootstrap(container, mode, bootstrapLogger) {
111
+ try {
112
+ if (mode === 'contract')
113
+ await container.dispose();
114
+ else
115
+ await shutdownContainer(container, bootstrapLogger);
118
116
  }
117
+ catch (cleanupError) {
118
+ bootstrapLogger.error('Cleanup after failed bootstrap failed', cleanupError);
119
+ }
120
+ }
121
+ function applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, mode, bootstrapLogger) {
122
+ validateProviderOverrides(runtime, providerOverrides, bootstrapLogger);
123
+ const declares = (module, name) => module.providers?.some((local) => getProviderName(local) === name) ?? false;
119
124
  const container = runtime.container;
120
125
  const originalRegistrations = { ...container.registrations };
121
126
  const overrideAsyncFactories = [];
122
127
  for (const module of runtime.modules) {
123
- const providers = providerOverrides.filter((provider) => module.providers?.some((local) => getProviderName(local) === getProviderName(provider)));
124
- const names = registerModuleProviders({ name: module.name, providers }, runtime.forModule(module), bootstrapLogger);
128
+ const applies = (override) => {
129
+ const target = overrideTarget(override);
130
+ return ((target === undefined || target === module.name) &&
131
+ declares(module, getProviderName(override)));
132
+ };
133
+ // Module-specific overrides register last, so they win over overrides for every module.
134
+ const providers = [
135
+ ...providerOverrides.filter((override) => !overrideTarget(override) && applies(override)),
136
+ ...providerOverrides.filter((override) => overrideTarget(override) && applies(override)),
137
+ ].map(withoutTarget);
138
+ const names = registerModuleProviders({
139
+ name: module.name,
140
+ providers: [
141
+ ...new Map(providers.map((provider) => [getProviderName(provider), provider])).values(),
142
+ ],
143
+ }, runtime.forModule(module), bootstrapLogger);
125
144
  overrideAsyncFactories.push(...names.map((name) => `${module.name}/${name}`));
126
145
  }
127
- const overriddenNames = new Set(Object.keys(container.registrations).filter((name) => container.registrations[name] !== originalRegistrations[name]));
146
+ const overriddenNames = new Set(Object.entries(container.registrations)
147
+ .filter(([name, registration]) => registration !== originalRegistrations[name])
148
+ .map(([name]) => name));
128
149
  const activeAsyncFactories = [
129
150
  ...new Set([
130
151
  ...asyncFactoryNames.filter((name) => !overriddenNames.has(name)),
@@ -143,7 +164,7 @@ function applyProviderOverrides(runtime, asyncFactoryNames, providerOverrides, m
143
164
  return activeAsyncFactories;
144
165
  }
145
166
  async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
146
- const { environment, apiBasePath, mode, errorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, } = resolved;
167
+ const { environment, apiBasePath, mode, errorHandler, openapi, rateLimit, middleware, logger, exceptionTracking, serialization, } = resolved;
147
168
  const container = runtime.container;
148
169
  // Create Hono app and apply middleware
149
170
  const { app, openAPIContext, writeOpenAPISpec, generateOpenAPI } = createApp({
@@ -155,6 +176,7 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
155
176
  middleware,
156
177
  logger,
157
178
  exceptionTracking,
179
+ serialization,
158
180
  bootstrapLogger,
159
181
  });
160
182
  // Mount module routes
@@ -171,34 +193,33 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
171
193
  await writeOpenAPISpec?.();
172
194
  bootstrapLogger.debug('Bootstrap complete');
173
195
  bootstrapLogger.debug(`Environment: ${environment}`);
174
- bootstrapLogger.debug(`Registered ${Object.keys(container.cradle).length} services`);
175
- // State tracking for idempotency
176
- let isStarted = false;
177
- let isStopped = false;
178
- // Define start and stop functions
196
+ bootstrapLogger.debug(`Registered ${Object.keys(container.registrations).length} services`);
197
+ const lifecycle = createApplicationLifecycle({
198
+ start: async () => {
199
+ bootstrapLogger.debug('Starting application (running onModuleInit)...');
200
+ await executeLifecycleHooks(container, 'onModuleInit', bootstrapLogger);
201
+ bootstrapLogger.debug('Application started successfully');
202
+ },
203
+ stop: async () => {
204
+ bootstrapLogger.debug('Stopping application (running onModuleDestroy and disposers)...');
205
+ try {
206
+ await shutdownContainer(container, bootstrapLogger);
207
+ }
208
+ finally {
209
+ await flushTracker(exceptionTracking, bootstrapLogger);
210
+ }
211
+ bootstrapLogger.debug('Application stopped successfully');
212
+ },
213
+ });
179
214
  const start = async () => {
180
215
  if (mode === 'contract')
181
216
  throw new Error('Contract bootstrap has no runtime lifecycle');
182
- if (isStarted) {
183
- bootstrapLogger.debug('Application already started, skipping onModuleInit');
184
- return;
185
- }
186
- isStarted = true;
187
- bootstrapLogger.debug('Starting application (running onModuleInit)...');
188
- await executeLifecycleHooks(container, 'onModuleInit', bootstrapLogger);
189
- bootstrapLogger.debug('Application started successfully');
217
+ await lifecycle.start();
190
218
  };
191
219
  const stop = async () => {
192
220
  if (mode === 'contract')
193
221
  throw new Error('Contract bootstrap has no runtime lifecycle');
194
- if (isStopped) {
195
- bootstrapLogger.debug('Application already stopped, skipping onModuleDestroy');
196
- return;
197
- }
198
- isStopped = true;
199
- bootstrapLogger.debug('Stopping application (running onModuleDestroy)...');
200
- await executeLifecycleHooks(container, 'onModuleDestroy', bootstrapLogger);
201
- bootstrapLogger.debug('Application stopped successfully');
222
+ await lifecycle.stop();
202
223
  };
203
224
  // Auto-start in production/development (but not test)
204
225
  // This ensures providers are initialized before requests come in
@@ -207,6 +228,53 @@ async function finishBootstrap(allModules, runtime, bootstrapLogger, resolved) {
207
228
  }
208
229
  return { app, container: runtime.forModule(allModules[0]), start, stop, generateOpenAPI };
209
230
  }
231
+ /** Rejects overrides that match nothing, and warns when one replaces several providers. */
232
+ function validateProviderOverrides(runtime, providerOverrides, bootstrapLogger) {
233
+ const declares = (module, name) => module.providers?.some((local) => getProviderName(local) === name) ?? false;
234
+ for (const override of providerOverrides) {
235
+ const name = getProviderName(override);
236
+ const target = overrideTarget(override);
237
+ if (target === undefined) {
238
+ const owners = runtime.modules.filter((module) => declares(module, name));
239
+ if (owners.length === 0) {
240
+ throw new Error(`Provider override "${name}" does not match a registered provider`);
241
+ }
242
+ if (owners.length > 1) {
243
+ bootstrapLogger.warn(`Provider override "${name}" replaces the provider in modules ${owners
244
+ .map((module) => `"${module.name}"`)
245
+ .join(', ')}. Set module to replace it in one module only.`);
246
+ }
247
+ continue;
248
+ }
249
+ const module = runtime.modules.find((candidate) => candidate.name === target);
250
+ if (!module) {
251
+ throw new Error(`Provider override "${name}" targets unknown module "${target}"`);
252
+ }
253
+ if (!declares(module, name)) {
254
+ throw new Error(`Provider override "${name}" does not match a provider declared in module "${target}"`);
255
+ }
256
+ }
257
+ }
258
+ function overrideTarget(override) {
259
+ if (typeof override === 'function' || !('module' in override))
260
+ return undefined;
261
+ return typeof override.module === 'string' ? override.module : override.module.name;
262
+ }
263
+ function withoutTarget(override) {
264
+ if (typeof override === 'function' || !('module' in override))
265
+ return override;
266
+ const { module: _module, ...provider } = override;
267
+ return provider;
268
+ }
269
+ /** Errors reported during shutdown should still reach the tracker; never fails stop(). */
270
+ async function flushTracker(exceptionTracking, bootstrapLogger) {
271
+ if (!exceptionTracking)
272
+ return;
273
+ const result = await flushExceptionTracker(exceptionTracking.tracker, exceptionTracking.flushTimeoutMs ?? 2000, bootstrapLogger);
274
+ if (!result.completed) {
275
+ bootstrapLogger.warn(`Exception tracker did not finish sending before stop() (${result.pending} pending)`);
276
+ }
277
+ }
210
278
  function createContractPlaceholder(name) {
211
279
  const fail = () => {
212
280
  throw new Error(`Contract route registration used provider "${name}". Supply an explicit providerOverride for metadata construction.`);
@@ -235,7 +303,7 @@ function createApp(options) {
235
303
  * Build the OpenAPI context with processors and security schemes
236
304
  */
237
305
  function buildOpenAPIContext(options) {
238
- const { openapi, rateLimit, middleware, logger } = options;
306
+ const { environment, openapi, rateLimit, middleware, logger, serialization } = options;
239
307
  // Create built-in processors based on config
240
308
  const builtinProcessors = createBuiltinProcessors({
241
309
  corsEnabled: !!middleware?.cors,
@@ -256,6 +324,12 @@ function buildOpenAPIContext(options) {
256
324
  pino: logger?.pino,
257
325
  sanitizers: logger?.sanitizers,
258
326
  logger: logger?.instance,
327
+ environment,
328
+ serialization: createSerializationConfig({
329
+ decimals: serialization?.decimals,
330
+ transformers: serialization?.transformers,
331
+ }),
332
+ strictTypes: serialization?.strictTypes,
259
333
  };
260
334
  }
261
335
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/core/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAuB,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAkBtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAwB,EACxB,GAAG,IAAwB;IAE3B,MAAM,OAAO,GAAqB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,EACJ,WAAW,GAAG,MAAM,EACpB,KAAK,GAAG,KAAK,EACb,WAAW,GAAG,iBAAiB,EAAE,EACjC,YAAY,GAAG,mBAAmB,EAClC,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,IAAI,GAAG,SAAS,EAChB,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,sCAAsC;IACtC,0FAA0F;IAC1F,uFAAuF;IACvF,MAAM,iBAAiB,GAAa,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACjG,MAAM,UAAU,GACd,MAAM,EAAE,QAAQ;QAChB,CAAC,MAAM,EAAE,IAAI;YACX,CAAC,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC3E,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9E,eAAe,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAEtD,wCAAwC;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE9C,eAAe,CAAC,KAAK,CACnB,SAAS,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;IAEF,oCAAoC;IACpC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,sBAAsB,CACjD,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,EACJ,eAAe,CAChB,CAAC;QAEF,0DAA0D;QAC1D,IAAI,IAAI,KAAK,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,4BAA4B,CAAC,SAAS,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE;YACjE,WAAW;YACX,WAAW;YACX,IAAI;YACJ,YAAY;YACZ,OAAO;YACP,SAAS;YACT,UAAU;YACV,MAAM;YACN,iBAAiB;YACjB,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,SAA2C,EAC3C,IAA4B,EAC5B,eAAoD;IAEpD,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;;YAC9C,MAAM,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,eAAe,CAAC,KAAK,CAAC,uCAAuC,EAAE,YAAY,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAsB,EACtB,iBAA2B,EAC3B,iBAAqC,EACrC,IAA4B,EAC5B,eAAoD;IAEpD,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,CAAC,MAAoB,EAAE,IAAY,EAAE,EAAE,CACtD,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,qBAAqB,GAAG,EAAE,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC7D,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,QAA0B,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO,CACL,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;gBAChD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC;QACJ,CAAC,CAAC;QACF,wFAAwF;QACxF,MAAM,SAAS,GAAG;YAChB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzF,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;SACzF,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,uBAAuB,CACnC;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE;gBACT,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;aACxF;SACF,EACD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EACzB,eAAe,CAChB,CAAC;QACF,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC;SACpC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,YAAY,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAC9E,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,MAAM,oBAAoB,GAAG;QAC3B,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjE,GAAG,sBAAsB;SAC1B,CAAC;KACH,CAAC;IACF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IACE,iBAAiB,CAAC,IAAI,CACpB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,CAC1E,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC5B,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,UAA0B,EAC1B,OAAsB,EACtB,eAAoD,EACpD,QAWC;IAED,MAAM,EACJ,WAAW,EACX,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,aAAa,GACd,GAAG,QAAQ,CAAC;IAEb,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAEpC,uCAAuC;IACvC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;QAC3E,IAAI;QACJ,WAAW;QACX,YAAY;QACZ,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM;QACN,iBAAiB;QACjB,aAAa;QACb,eAAe;KAChB,CAAC,CAAC;IAEH,sBAAsB;IACtB,iBAAiB,CAAC;QAChB,GAAG;QACH,OAAO,EAAE,UAAU;QACnB,OAAO;QACP,WAAW;QACX,eAAe;QACf,cAAc;KACf,CAAC,CAAC;IAEH,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,gBAAgB,EAAE,EAAE,CAAC;IAE3B,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC5C,eAAe,CAAC,KAAK,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;IAE5F,MAAM,SAAS,GAAG,0BAA0B,CAAC;QAC3C,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,eAAe,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACxE,MAAM,qBAAqB,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;YACxE,eAAe,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,eAAe,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACzF,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACtD,CAAC;oBAAS,CAAC;gBACT,MAAM,YAAY,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,eAAe,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,sDAAsD;IACtD,iEAAiE;IACjE,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AAC5F,CAAC;AAED,2FAA2F;AAC3F,SAAS,yBAAyB,CAChC,OAAsB,EACtB,iBAAqC,EACrC,eAAoD;IAEpD,MAAM,QAAQ,GAAG,CAAC,MAAoB,EAAE,IAAY,EAAE,EAAE,CACtD,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;IAC9E,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,wCAAwC,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,eAAe,CAAC,IAAI,CAClB,sBAAsB,IAAI,sCAAsC,MAAM;qBACnE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;qBACnC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAC9D,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,6BAA6B,MAAM,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,mDAAmD,MAAM,GAAG,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAChF,OAAO,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;AACtF,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAClD,OAAO,QAA0B,CAAC;AACpC,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,YAAY,CACzB,iBAA4E,EAC5E,eAAoD;IAEpD,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC/B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,cAAc,IAAI,IAAI,EACxC,eAAe,CAChB,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,eAAe,CAAC,IAAI,CAClB,2DAA2D,MAAM,CAAC,OAAO,WAAW,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAI,mEAAmE,CACtH,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAWlB;IAMC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,EAAE,GAAG,CAAC,CACzE,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,iBAAiB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEvC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,yBAAyB,CAC9F,GAAG,EACH,OAAO,CACR,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAO5B;IACC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEvF,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;QAChD,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;QAC/B,gBAAgB,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO;KACvC,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,cAAc,GAA+B,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;IACrF,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,cAAc,CAAC,CAAC;IAE7D,mDAAmD;IACnD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,EAAE,aAAa,EAAE,UAE9B,CAAC;IAEd,IAAI,UAAU,EAAE,eAAe,EAAE,CAAC;QAChC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,UAAU;QACV,eAAe;QACf,IAAI,EAAE,MAAM,EAAE,IAAI;QAClB,UAAU,EAAE,MAAM,EAAE,UAAU;QAC9B,MAAM,EAAE,MAAM,EAAE,QAAQ;QACxB,WAAW;QACX,aAAa,EAAE,yBAAyB,CAAuB;YAC7D,QAAQ,EAAE,aAAa,EAAE,QAAQ;YACjC,YAAY,EAAE,aAAa,EAAE,YAAY;SAC1C,CAAC;QACF,WAAW,EAAE,aAAa,EAAE,WAAW;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,GAAS,EACT,EACE,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,MAAM,GAMP;IAED,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO;IAEnC,6FAA6F;IAC7F,IAAI,YAAY,KAAK,mBAAmB,EAAE,CAAC;QACzC,eAAe,CAAC,KAAK,CACnB,iBAAiB;YACf,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,kCAAkC,CACvC,CAAC;QACF,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;YAC5C,MAAM,EAAE,eAAe;YACvB,gBAAgB,EAAE,iBAAiB;gBACjC,CAAC,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;gBAChF,CAAC,CAAC,SAAS;YACb,cAAc,EAAE;gBACd,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;aACrF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChD,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,GAAS,EACT,EACE,WAAW,EACX,UAAU,EACV,eAAe,GAKhB;IAED,8EAA8E;IAC9E,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,IAAI,UAAU,EAAE,aAAa,KAAK,KAAK,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACxE,eAAe,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,UAAU,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;QACpC,eAAe,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;IACP,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QACrB,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,GAAS,EACT,EACE,MAAM,EACN,eAAe,GACkE;IAEnF,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK;QAAE,OAAO;IAEtC,gFAAgF;IAChF,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACjB,eAAe,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAEvF,qCAAqC;QACrC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,IAAI,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACpF,eAAe,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE;gBACrC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC7B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;gBAChB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,4DAA4D;IAC5D,IAAI,MAAM,EAAE,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,yEAAyE;IACzE,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAC;IAClC,eAAe,CAAC,KAAK,CAAC,oCAAoC,cAAc,GAAG,CAAC,CAAC;IAC7E,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,GAAS,EACT,EACE,SAAS,EACT,eAAe,GACwE;IAEzF,IAAI,CAAC,SAAS,EAAE,OAAO;QAAE,OAAO;IAEhC,eAAe,CAAC,KAAK,CACnB,0BAA0B,SAAS,CAAC,OAAO,aAAa,SAAS,CAAC,WAAW,IAAI,GAAG,QAAQ,SAAS,CAAC,QAAQ,IAAI,KAAK,KAAK,CAC7H,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,GAAS,EACT,OAMC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEjF,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,EAAE,CAAC;IAEjC,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC;QACtB,GAAG;QACH,WAAW;QACX,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM,EAAE,eAAe;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAO1B;IACC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAExF,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QAED,eAAe,CAAC,KAAK,CAAC,oBAAoB,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1B,4DAA4D;QAC5D,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE1C,gDAAgD;QAChD,MAAM,UAAU,GAAG,CAAwC,MAAS,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/F,kDAAkD;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/D,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CACjC,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;YAC1C,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAyB,CAAC,CAAC;QAC5D,CAAC;QAED,qBAAqB;QACrB,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -1,6 +1,13 @@
1
- import type { BootstrapOptions, ModuleConfig } from './types.js';
1
+ import type { BootstrapOptions, ModuleConfig, RequiresSerializationOption } from './types.js';
2
+ /** Bootstrap options for contract generation; `mode` is always `'contract'`. */
3
+ export type GenerateOpenAPIOptions = Omit<BootstrapOptions, 'mode'>;
4
+ /**
5
+ * The `options` parameter of `generateOpenAPI()`: required once `GlassworkConfig` requires the
6
+ * `serialization` option, like `bootstrap()`.
7
+ */
8
+ export type GenerateOpenAPIArguments = RequiresSerializationOption extends true ? [options: GenerateOpenAPIOptions] : [options?: GenerateOpenAPIOptions];
2
9
  /** Generates route contracts without runtime provider initialization or a server. */
3
- export declare function generateOpenAPI(module: ModuleConfig, options?: Omit<BootstrapOptions, 'mode'>): Promise<{
10
+ export declare function generateOpenAPI(module: ModuleConfig, ...args: GenerateOpenAPIArguments): Promise<{
4
11
  tags: import("openapi-types").OpenAPIV3.TagObject[];
5
12
  info: {
6
13
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,qFAAqF;AACrF,wBAAsB,eAAe,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAc7C"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9F,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,SAAS,IAAI,GAC3E,CAAC,OAAO,EAAE,sBAAsB,CAAC,GACjC,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAEvC,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAc5F"}
@@ -1,6 +1,7 @@
1
1
  import { bootstrap } from './bootstrap.js';
2
2
  /** Generates route contracts without runtime provider initialization or a server. */
3
- export async function generateOpenAPI(module, options = {}) {
3
+ export async function generateOpenAPI(module, ...args) {
4
+ const options = args[0] ?? {};
4
5
  const result = await bootstrap(module, {
5
6
  ...options,
6
7
  mode: 'contract',
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAoB,EACpB,OAAO,GAAmC,EAAE;IAE5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;KAClF,CAAC,CAAC;IACH,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClF,OAAO,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/core/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB,EAAE,GAAG,IAA8B;IAC3F,MAAM,OAAO,GAA2B,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;KAClF,CAAC,CAAC;IACH,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClF,OAAO,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A provider is not visible in the module that resolves it. `path` lists the module-qualified
3
+ * providers (`module/provider`) that were being created when the lookup failed, outermost
4
+ * first.
5
+ */
6
+ export declare class ProviderNotAvailableError extends Error {
7
+ #private;
8
+ readonly module: string;
9
+ readonly provider: string;
10
+ readonly hint: string;
11
+ readonly path: string[];
12
+ constructor(module: string, provider: string, hint: string);
13
+ /** @internal Records the provider whose creation needed the missing one. */
14
+ requiredBy(token: string): void;
15
+ }
16
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;;IAIhD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM;IALvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAE7B,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAKtB;IAED,4EAA4E;IAC5E,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI9B;CAMF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A provider is not visible in the module that resolves it. `path` lists the module-qualified
3
+ * providers (`module/provider`) that were being created when the lookup failed, outermost
4
+ * first.
5
+ */
6
+ export class ProviderNotAvailableError extends Error {
7
+ module;
8
+ provider;
9
+ hint;
10
+ path = [];
11
+ constructor(module, provider, hint) {
12
+ super();
13
+ this.module = module;
14
+ this.provider = provider;
15
+ this.hint = hint;
16
+ this.name = 'ProviderNotAvailableError';
17
+ this.message = this.#format();
18
+ }
19
+ /** @internal Records the provider whose creation needed the missing one. */
20
+ requiredBy(token) {
21
+ if (this.path[0] === token)
22
+ return;
23
+ this.path.unshift(token);
24
+ this.message = this.#format();
25
+ }
26
+ #format() {
27
+ const requiredBy = this.path.length > 0 ? ` (required by ${this.path.join(' -> ')})` : '';
28
+ return `Provider "${this.provider}" is not available in module "${this.module}"${requiredBy}. ${this.hint}`;
29
+ }
30
+ }
31
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAIvC,MAAM;IACN,QAAQ;IACR,IAAI;IALN,IAAI,GAAa,EAAE,CAAC;IAE7B,YACW,MAAc,EACd,QAAgB,EAChB,IAAY;QAErB,KAAK,EAAE,CAAC;sBAJC,MAAM;wBACN,QAAQ;oBACR,IAAI;QAGb,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,4EAA4E;IAC5E,UAAU,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;YAAE,OAAO;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,OAAO;QACL,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,aAAa,IAAI,CAAC,QAAQ,iCAAiC,IAAI,CAAC,MAAM,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9G,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Application-wide settings that route types read at compile time.
3
+ *
4
+ * `bootstrap()` applies the runtime side through its `serialization` option. Declare the same
5
+ * values here so handler return types follow them: with `decimals: 'string'`, response types
6
+ * accept Decimal values on string fields instead of number fields; with `strictTypes: true`,
7
+ * every route is typed as if it set `strictTypes: true`. The `serialization` option's type
8
+ * follows this declaration, so the two cannot drift apart.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // In your application's type declarations
13
+ * declare module 'glasswork' {
14
+ * interface GlassworkConfig {
15
+ * decimals: 'string';
16
+ * strictTypes: true;
17
+ * }
18
+ * }
19
+ *
20
+ * // bootstrap() then requires the matching option
21
+ * await bootstrap(AppModule, {
22
+ * serialization: { decimals: 'string', strictTypes: true },
23
+ * });
24
+ * ```
25
+ */
26
+ export interface GlassworkConfig {
27
+ }
28
+ /**
29
+ * How Decimal values (Prisma, Decimal.js) serialize in responses:
30
+ * - `'number'`: `toNumber()`, which rounds to a double
31
+ * - `'string'`: `toFixed()`, which keeps every digit and the stored scale in plain notation
32
+ */
33
+ export type DecimalSerialization = 'number' | 'string';
34
+ /** The Decimal serialization declared in {@link GlassworkConfig}; `'number'` when not declared. */
35
+ export type ConfiguredDecimalSerialization = GlassworkConfig extends {
36
+ decimals: 'string';
37
+ } ? 'string' : 'number';
38
+ /** Whether {@link GlassworkConfig} declares `strictTypes: true` for every route. */
39
+ export type ConfiguredStrictTypes = GlassworkConfig extends {
40
+ strictTypes: true;
41
+ } ? true : false;
42
+ //# sourceMappingURL=glasswork-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glasswork-config.d.ts","sourceRoot":"","sources":["../../src/core/glasswork-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,eAAe;CAAG;AAEnC;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvD,mGAAmG;AACnG,MAAM,MAAM,8BAA8B,GAAG,eAAe,SAAS;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACvF,QAAQ,GACR,QAAQ,CAAC;AAEb,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG,eAAe,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=glasswork-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glasswork-config.js","sourceRoot":"","sources":["../../src/core/glasswork-config.ts"],"names":[],"mappings":""}
@@ -5,16 +5,19 @@
5
5
  export type { AwilixContainer } from 'awilix';
6
6
  export { type Config, type ConfigOptions, type ConfigProvider, ConfigValidationException, createConfig, type DotenvProviderOptions, dotenvProvider, type EnvProviderOptions, envProvider, objectProvider, parseArray, parseBoolean, parseJson, type SsmProviderOptions, ssmProvider, toCamelCase, toSnakeCase, validateConfig, } from '../config/index.js';
7
7
  export { deepMerge } from '../utils/deep-merge.js';
8
- export { isDevelopment, isLambda, isProduction, isTest } from '../utils/environment.js';
8
+ export { detectEnvironment, isDevelopment, isLambda, isProduction, isTest, } from '../utils/environment.js';
9
9
  export { getClientIp } from '../utils/get-client-ip.js';
10
10
  export type { Logger } from '../utils/logger.js';
11
11
  export { createLogger, createPlainLogger, defaultLogger } from '../utils/logger.js';
12
12
  export { omit } from '../utils/omit.js';
13
13
  export { pick } from '../utils/pick.js';
14
14
  export type { AcceptPrismaTypes, PrismaDecimalLike, SerializationConfig, SerializedTypes, TypeTransformer, } from '../utils/serialize-prisma-types.js';
15
- export { defaultConfig, serializePrismaTypes } from '../utils/serialize-prisma-types.js';
15
+ export { createSerializationConfig, defaultConfig, serializePrismaTypes, } from '../utils/serialize-prisma-types.js';
16
16
  export { bootstrap } from './bootstrap.js';
17
17
  export { generateOpenAPI } from './contract.js';
18
+ export { ProviderNotAvailableError } from './errors.js';
19
+ export type { DecimalSerialization, GlassworkConfig } from './glasswork-config.js';
18
20
  export { defineModule, forwardRef } from './module.js';
19
- export type { BootstrapOptions, BootstrapResult, Constructor, Environment, ExceptionTrackingOptions, ForwardReference, LoggerOptions, MiddlewareOptions, ModuleConfig, OnModuleDestroy, OnModuleInit, OpenAPIDocumentation, OpenAPIOptions, OpenAPIProcessorContext, OpenAPIResponseObject, OpenAPIResponseProcessor, ProviderConfig, RateLimitOptions, RateLimitStorage, RouteConfigExtensions, RouteHandlers, ServiceScope, } from './types.js';
21
+ export { inspectModuleGraph, type ModuleGraph, type ModuleGraphNode, type ModuleGraphProvider, moduleGraphToMermaid, } from './module-inspection.js';
22
+ export type { BootstrapOptions, BootstrapResult, Constructor, Environment, ExceptionTrackingOptions, ForwardReference, LoggerOptions, MiddlewareOptions, ModuleConfig, OnModuleDestroy, OnModuleInit, OpenAPIDocumentation, OpenAPIOptions, OpenAPIProcessorContext, OpenAPIResponseObject, OpenAPIResponseProcessor, ProviderConfig, ProviderOverride, RateLimitOptions, RateLimitStorage, RouteConfigExtensions, RouteHandlers, SerializationOptions, ServiceScope, } from './types.js';
20
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,yBAAyB,EACzB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,kBAAkB,EACvB,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,yBAAyB,EACzB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,kBAAkB,EACvB,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,MAAM,GACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -4,13 +4,15 @@
4
4
  */
5
5
  export { ConfigValidationException, createConfig, dotenvProvider, envProvider, objectProvider, parseArray, parseBoolean, parseJson, ssmProvider, toCamelCase, toSnakeCase, validateConfig, } from '../config/index.js';
6
6
  export { deepMerge } from '../utils/deep-merge.js';
7
- export { isDevelopment, isLambda, isProduction, isTest } from '../utils/environment.js';
7
+ export { detectEnvironment, isDevelopment, isLambda, isProduction, isTest, } from '../utils/environment.js';
8
8
  export { getClientIp } from '../utils/get-client-ip.js';
9
9
  export { createLogger, createPlainLogger, defaultLogger } from '../utils/logger.js';
10
10
  export { omit } from '../utils/omit.js';
11
11
  export { pick } from '../utils/pick.js';
12
- export { defaultConfig, serializePrismaTypes } from '../utils/serialize-prisma-types.js';
12
+ export { createSerializationConfig, defaultConfig, serializePrismaTypes, } from '../utils/serialize-prisma-types.js';
13
13
  export { bootstrap } from './bootstrap.js';
14
14
  export { generateOpenAPI } from './contract.js';
15
+ export { ProviderNotAvailableError } from './errors.js';
15
16
  export { defineModule, forwardRef } from './module.js';
17
+ export { inspectModuleGraph, moduleGraphToMermaid, } from './module-inspection.js';
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,yBAAyB,EACzB,YAAY,EAEZ,cAAc,EAEd,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,yBAAyB,EACzB,YAAY,EAEZ,cAAc,EAEd,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EAET,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,MAAM,GACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQxC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAIlB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Module cradles answer this key with a function that opens a scope in the module that
3
+ * declares a job. Queue drivers that run jobs in-process use it so a job resolves the same
4
+ * providers as it does in the worker, without exporting private services.
5
+ * @internal
6
+ */
7
+ export declare const JOB_SERVICES: unique symbol;
8
+ /** Services for one job execution and the disposal of their scope. */
9
+ export interface JobServicesScope {
10
+ services: Record<string, unknown>;
11
+ dispose(): Promise<void>;
12
+ }
13
+ export type JobServicesResolver = (jobName: string) => JobServicesScope | undefined;
14
+ /** Returns the owning module's services for a job when `services` is a module cradle. */
15
+ export declare function resolveJobServices(services: Record<string, unknown>, jobName: string): JobServicesScope | undefined;
16
+ //# sourceMappingURL=job-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-services.d.ts","sourceRoot":"","sources":["../../src/core/job-services.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,eAAsC,CAAC;AAEhE,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAEpF,yFAAyF;AACzF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,gBAAgB,GAAG,SAAS,CAQ9B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Module cradles answer this key with a function that opens a scope in the module that
3
+ * declares a job. Queue drivers that run jobs in-process use it so a job resolves the same
4
+ * providers as it does in the worker, without exporting private services.
5
+ * @internal
6
+ */
7
+ export const JOB_SERVICES = Symbol.for('glasswork.jobServices');
8
+ /** Returns the owning module's services for a job when `services` is a module cradle. */
9
+ export function resolveJobServices(services, jobName) {
10
+ let resolver;
11
+ try {
12
+ resolver = services[JOB_SERVICES];
13
+ }
14
+ catch {
15
+ return undefined;
16
+ }
17
+ return typeof resolver === 'function' ? resolver(jobName) : undefined;
18
+ }
19
+ //# sourceMappingURL=job-services.js.map