@breadstone/archipel-mcp 0.0.22 → 0.0.25
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 +32 -13
- package/data/guides/ai-text-generation.md +16 -24
- package/data/guides/caching.md +33 -0
- package/data/guides/email-delivery.md +27 -1
- package/data/guides/email-templates.md +49 -39
- package/data/guides/esigning-integration.md +11 -5
- package/data/guides/health-indicators.md +220 -0
- package/data/guides/index.md +2 -0
- package/data/guides/queue-infrastructure.md +329 -0
- package/data/guides/telemetry-and-observability.md +20 -0
- package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +20 -0
- package/data/packages/platform-analytics/api/Class.AnalyticsHealthIndicator.md +78 -0
- package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/index.md +1 -0
- package/data/packages/platform-analytics/index.md +25 -1
- package/data/packages/platform-authentication/api/Class.AuthenticationHealthIndicator.md +68 -0
- package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +1 -1
- package/data/packages/platform-authentication/api/index.md +2 -1
- package/data/packages/platform-authentication/index.md +25 -1
- package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +7 -7
- package/data/packages/platform-blob-storage/api/Class.BlobModule.md +2 -2
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +5 -5
- package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +1 -1
- package/data/packages/platform-blob-storage/api/index.md +1 -1
- package/data/packages/platform-blob-storage/index.md +19 -14
- package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +10 -10
- package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +6 -6
- package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +13 -13
- package/data/packages/platform-caching/api/Interface.ILayeredCache.md +9 -9
- package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +6 -6
- package/data/packages/platform-caching/api/Variable.CACHE_DEFAULT_TTL_MS.md +14 -0
- package/data/packages/platform-caching/api/Variable.CACHE_MAX_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.CACHE_STALE_WHILE_REVALIDATE.md +14 -0
- package/data/packages/platform-caching/api/Variable.PLATFORM_CACHING_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_KEY_PREFIX.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_TTL_SECONDS.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_URL.md +14 -0
- package/data/packages/platform-caching/api/index.md +13 -0
- package/data/packages/platform-caching/index.md +47 -1
- package/data/packages/platform-configuration/api/Function.createConfigKey.md +1 -1
- package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +3 -3
- package/data/packages/platform-core/api/Function.maskSensitive.md +26 -0
- package/data/packages/platform-core/api/Function.maskSensitiveFields.md +26 -0
- package/data/packages/platform-core/api/index.md +2 -0
- package/data/packages/platform-core/index.md +11 -0
- package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +8 -6
- package/data/packages/platform-database/api/Class.DatabaseModule.md +3 -3
- package/data/packages/platform-database/api/Class.RepositoryBase.md +20 -20
- package/data/packages/platform-database/api/Function.paginator.md +1 -1
- package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
- package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +1 -1
- package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
- package/data/packages/platform-database/index.md +17 -5
- package/data/packages/platform-documents/api/Class.DocumentEngine.md +9 -5
- package/data/packages/platform-documents/index.md +1 -1
- package/data/packages/platform-esigning/api/Class.AdobeSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.DocuSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.DropboxSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +20 -0
- package/data/packages/platform-esigning/api/Class.EsigningHealthIndicator.md +78 -0
- package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/index.md +1 -0
- package/data/packages/platform-esigning/index.md +26 -2
- package/data/packages/platform-health/api/Class.HealthModule.md +42 -0
- package/data/packages/platform-health/api/Class.HealthOrchestrator.md +64 -0
- package/data/packages/platform-health/api/Interface.IHealthCheckResult.md +46 -0
- package/data/packages/platform-health/api/Interface.IHealthIndicator.md +41 -0
- package/data/packages/platform-health/api/Variable.HEALTH_INDICATORS_TOKEN.md +14 -0
- package/data/packages/platform-health/api/index.md +26 -0
- package/data/packages/platform-health/index.md +19 -8
- package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +78 -0
- package/data/packages/platform-intelligence/api/index.md +1 -0
- package/data/packages/platform-intelligence/index.md +24 -1
- package/data/packages/platform-logging/api/Class.ContextLogger.md +152 -0
- package/data/packages/platform-logging/api/Class.LoggerModule.md +8 -2
- package/data/packages/platform-logging/api/Class.RequestContextStore.md +90 -0
- package/data/packages/platform-logging/api/Class.RequestIdMiddleware.md +68 -0
- package/data/packages/platform-logging/api/Interface.IRequestContext.md +34 -0
- package/data/packages/platform-logging/api/Variable.REQUEST_ID_HEADER.md +14 -0
- package/data/packages/platform-logging/api/index.md +11 -1
- package/data/packages/platform-logging/index.md +89 -7
- package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +5 -5
- package/data/packages/platform-mailing/api/Class.MailModule.md +28 -1
- package/data/packages/platform-mailing/api/Class.MailVerificationService.md +49 -16
- package/data/packages/platform-mailing/api/Class.SmtpConnectionVerifier.md +84 -0
- package/data/packages/platform-mailing/api/Interface.IMailModuleOptions.md +36 -0
- package/data/packages/platform-mailing/api/index.md +3 -1
- package/data/packages/platform-mailing/index.md +64 -8
- package/data/packages/platform-mapping/api/Class.MappingBuilder.md +110 -0
- package/data/packages/platform-mapping/api/Class.MappingError.md +56 -0
- package/data/packages/platform-mapping/api/Class.MappingModule.md +46 -0
- package/data/packages/platform-mapping/api/Class.MappingNotRegisteredError.md +52 -0
- package/data/packages/platform-mapping/api/Class.MappingProfileBase.md +52 -0
- package/data/packages/platform-mapping/api/Class.MappingService.md +284 -0
- package/data/packages/platform-mapping/api/Class.TypeMappingNotRegisteredError.md +53 -0
- package/data/packages/platform-mapping/api/Function.createMappingKey.md +39 -0
- package/data/packages/platform-mapping/api/Interface.IMappingBuilder.md +76 -0
- package/data/packages/platform-mapping/api/Interface.IMappingKey.md +58 -0
- package/data/packages/platform-mapping/api/Interface.IMappingProfile.md +32 -0
- package/data/packages/platform-mapping/api/TypeAlias.Constructor.md +28 -0
- package/data/packages/platform-mapping/api/index.md +38 -0
- package/data/packages/platform-mapping/index.md +1 -1
- package/data/packages/platform-mcp/api/Class.McpHealthIndicator.md +78 -0
- package/data/packages/platform-mcp/api/index.md +1 -0
- package/data/packages/platform-mcp/index.md +24 -1
- package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +2 -2
- package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +2 -2
- package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +24 -0
- package/data/packages/platform-payments/api/Class.MollieClient.md +24 -0
- package/data/packages/platform-payments/api/Class.PaddleClient.md +24 -0
- package/data/packages/platform-payments/api/Class.PaymentClientPort.md +20 -0
- package/data/packages/platform-payments/api/Class.PaymentHealthIndicator.md +78 -0
- package/data/packages/platform-payments/api/Class.StripeClient.md +28 -4
- package/data/packages/platform-payments/api/index.md +1 -0
- package/data/packages/platform-payments/index.md +26 -2
- package/data/packages/platform-queue/api/Class.AzureQueue.md +221 -0
- package/data/packages/platform-queue/api/Class.BullMqQueue.md +220 -0
- package/data/packages/platform-queue/api/Class.MemoryQueue.md +194 -0
- package/data/packages/platform-queue/api/Class.QueueError.md +51 -0
- package/data/packages/platform-queue/api/Class.QueueHealthIndicator.md +68 -0
- package/data/packages/platform-queue/api/Class.QueueJobNotFoundError.md +43 -0
- package/data/packages/platform-queue/api/Class.QueueJobStateError.md +48 -0
- package/data/packages/platform-queue/api/Class.QueueValidationError.md +43 -0
- package/data/packages/platform-queue/api/Interface.IAzureQueueOptions.md +48 -0
- package/data/packages/platform-queue/api/Interface.IBullMqQueueOptions.md +45 -0
- package/data/packages/platform-queue/api/Interface.IMemoryQueueOptions.md +32 -0
- package/data/packages/platform-queue/api/Interface.IQueue.md +173 -0
- package/data/packages/platform-queue/api/Interface.IQueueJob.md +139 -0
- package/data/packages/platform-queue/api/TypeAlias.QueueJobStatus.md +14 -0
- package/data/packages/platform-queue/api/Variable.AZURE_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.AZURE_CONNECTION_STRING.md +14 -0
- package/data/packages/platform-queue/api/Variable.AZURE_RECEIVE_WAIT_MS.md +21 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_PREFIX.md +18 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_REDIS_URL.md +21 -0
- package/data/packages/platform-queue/api/Variable.PLATFORM_QUEUE_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.QUEUE_JOB_STATUS.md +30 -0
- package/data/packages/platform-queue/api/Variable.QUEUE_MAX_JOBS.md +21 -0
- package/data/packages/platform-queue/api/index.md +49 -0
- package/data/packages/platform-queue/index.md +168 -0
- package/data/packages/platform-resources/api/Class.BlobResourceStrategy.md +195 -0
- package/data/packages/platform-resources/api/Class.EmbeddedResourceStrategy.md +215 -0
- package/data/packages/platform-resources/api/Class.FileResourceStrategy.md +190 -0
- package/data/packages/platform-resources/api/Class.ResourceManager.md +477 -0
- package/data/packages/platform-resources/api/Class.ResourceModule.md +46 -0
- package/data/packages/platform-resources/api/Class.ResourceNotFoundError.md +60 -0
- package/data/packages/platform-resources/api/Interface.IBlobResourceStrategyConfig.md +28 -0
- package/data/packages/platform-resources/api/Interface.IBlobServiceAdapter.md +40 -0
- package/data/packages/platform-resources/api/Interface.IFileResourceStrategyConfig.md +72 -0
- package/data/packages/platform-resources/api/Interface.IResourceManagerConfig.md +89 -0
- package/data/packages/platform-resources/api/Interface.IResourceMetadata.md +94 -0
- package/data/packages/platform-resources/api/Interface.IResourceResult.md +34 -0
- package/data/packages/platform-resources/api/Interface.IResourceStrategy.md +134 -0
- package/data/packages/platform-resources/api/index.md +29 -0
- package/data/packages/platform-resources/index.md +1 -1
- package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +21 -3
- package/data/packages/platform-telemetry/api/Class.TelemetryHealthIndicator.md +78 -0
- package/data/packages/platform-telemetry/api/index.md +1 -0
- package/data/packages/platform-telemetry/index.md +25 -1
- package/data/patterns/config-pattern.md +5 -3
- package/package.json +2 -2
- package/src/tools/registerGetConfigPatternTool.js +1 -1
- package/src/tools/registerGetDtoPatternTool.js +1 -1
- package/src/tools/registerGetErrorHandlingPatternTool.js +1 -1
- package/src/tools/registerGetGuardPatternTool.js +1 -1
- package/src/tools/registerGetMappingPatternTool.js +1 -1
- package/src/tools/registerGetModulePatternTool.js +1 -1
- package/src/tools/registerGetQueryPatternTool.js +1 -1
- package/src/tools/registerGetRepositoryPatternTool.js +1 -1
- package/src/tools/registerGetTestingPatternTool.js +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
title: platform-mailing
|
|
3
3
|
description: Multi-strategy email delivery with support for SMTP, Postmark, Resend, SendGrid, and Mailgun.
|
|
4
4
|
order: 7
|
|
5
|
-
tags: [mailing, email, smtp, postmark, resend, sendgrid, mailgun, templates, verification, strategy-pattern]
|
|
5
|
+
tags: [mailing, email, smtp, postmark, resend, sendgrid, mailgun, templates, verification, strategy-pattern, health]
|
|
6
6
|
package: '@breadstone/archipel-platform-mailing'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -285,9 +285,32 @@ Load templates from blob storage (e.g., Vercel Blob):
|
|
|
285
285
|
|
|
286
286
|
---
|
|
287
287
|
|
|
288
|
-
##
|
|
288
|
+
## SmtpConnectionVerifier
|
|
289
289
|
|
|
290
|
-
|
|
290
|
+
Verifies SMTP server connectivity. Replaces the deprecated `MailVerificationService`.
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
import { SmtpConnectionVerifier } from '@breadstone/archipel-platform-mailing';
|
|
294
|
+
|
|
295
|
+
@Injectable()
|
|
296
|
+
export class HealthCheckService {
|
|
297
|
+
constructor(private readonly _smtpVerifier: SmtpConnectionVerifier) {}
|
|
298
|
+
|
|
299
|
+
public async checkSmtp(): Promise<boolean> {
|
|
300
|
+
return this._smtpVerifier.verifyConnection();
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
public async sendTestEmail(to: string): Promise<boolean> {
|
|
304
|
+
return this._smtpVerifier.sendTestEmail(to);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## MailVerificationService (Deprecated)
|
|
310
|
+
|
|
311
|
+
::: warning Deprecated
|
|
312
|
+
`MailVerificationService` is deprecated. Use `SmtpConnectionVerifier` instead — it provides `verifyConnection()` for SMTP connectivity checks and `sendTestEmail()` for sending test messages.
|
|
313
|
+
:::
|
|
291
314
|
|
|
292
315
|
```typescript
|
|
293
316
|
import { MailVerificationService } from '@breadstone/archipel-platform-mailing';
|
|
@@ -304,15 +327,47 @@ export class RegistrationService {
|
|
|
304
327
|
|
|
305
328
|
---
|
|
306
329
|
|
|
330
|
+
## MailModule.register()
|
|
331
|
+
|
|
332
|
+
The `MailModule` supports a `register()` static method for explicit module configuration:
|
|
333
|
+
|
|
334
|
+
```typescript
|
|
335
|
+
import { MailModule } from '@breadstone/archipel-platform-mailing';
|
|
336
|
+
|
|
337
|
+
@Module({
|
|
338
|
+
imports: [
|
|
339
|
+
MailModule.register({
|
|
340
|
+
configEntries: MY_CUSTOM_CONFIG_ENTRIES, // optional
|
|
341
|
+
isGlobal: true, // optional, default: false
|
|
342
|
+
}),
|
|
343
|
+
],
|
|
344
|
+
})
|
|
345
|
+
export class AppModule {}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
307
350
|
## Health Check
|
|
308
351
|
|
|
352
|
+
The `MailHealthIndicator` validates that the required mail configuration values (`MAIL_HOST`, `MAIL_USER`, `MAIL_PORT`) are present and non-empty. Import it from the `/health` subpath:
|
|
353
|
+
|
|
309
354
|
```typescript
|
|
310
|
-
import { MailHealthIndicator } from '@breadstone/archipel-platform-mailing';
|
|
355
|
+
import { MailHealthIndicator } from '@breadstone/archipel-platform-mailing/health';
|
|
356
|
+
import { HealthModule } from '@breadstone/archipel-platform-health';
|
|
311
357
|
|
|
312
|
-
|
|
313
|
-
|
|
358
|
+
@Module({
|
|
359
|
+
imports: [
|
|
360
|
+
MailModule.register({ /* ... */ }),
|
|
361
|
+
HealthModule.withIndicators([MailHealthIndicator]),
|
|
362
|
+
],
|
|
363
|
+
})
|
|
364
|
+
export class AppModule {}
|
|
314
365
|
```
|
|
315
366
|
|
|
367
|
+
| Key | Check | Dependencies |
|
|
368
|
+
| --- | ----- | ------------ |
|
|
369
|
+
| `mail` | Validates mail host, user, and port config | `ConfigService` |
|
|
370
|
+
|
|
316
371
|
---
|
|
317
372
|
|
|
318
373
|
## Real-World Example: Transactional Email Pipeline
|
|
@@ -389,7 +444,8 @@ try {
|
|
|
389
444
|
| --------------------------- | -------------- | ------------------------------- |
|
|
390
445
|
| `MailModule` | NestJS Module | Global mail module |
|
|
391
446
|
| `MailService` | Service | Send emails (plain + templated) |
|
|
392
|
-
| `
|
|
447
|
+
| `SmtpConnectionVerifier` | Service | SMTP connectivity verification |
|
|
448
|
+
| `MailVerificationService` | Service | ~~Email verification~~ (deprecated — use `SmtpConnectionVerifier`) |
|
|
393
449
|
| `MailTemplateEngine` | Service | Template variable substitution |
|
|
394
450
|
| `DeliveryStrategyBase` | Abstract class | Base for delivery strategies |
|
|
395
451
|
| `SmtpDeliveryStrategy` | Strategy | SMTP transport (built-in) |
|
|
@@ -399,7 +455,7 @@ try {
|
|
|
399
455
|
| `MailgunDeliveryStrategy` | Strategy | Mailgun API |
|
|
400
456
|
| `FileTemplateFetchStrategy` | Strategy | File-based templates |
|
|
401
457
|
| `BlobTemplateFetchStrategy` | Strategy | Blob-stored templates |
|
|
402
|
-
| `MailHealthIndicator` | Health | Mail readiness check
|
|
458
|
+
| `MailHealthIndicator` | Health | Mail readiness check (`/health` subpath) |
|
|
403
459
|
| `MailDeliveryError` | Error class | Domain error for delivery failures |
|
|
404
460
|
|
|
405
461
|
### Provider subpaths
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: MappingBuilder'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: MappingBuilder
|
|
7
|
+
|
|
8
|
+
Defined in: [builder/MappingBuilder.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L15)
|
|
9
|
+
|
|
10
|
+
A mapping builder that uses the mapping service to register maps.
|
|
11
|
+
|
|
12
|
+
## Implements
|
|
13
|
+
|
|
14
|
+
- [`IMappingBuilder`](Interface.IMappingBuilder)
|
|
15
|
+
|
|
16
|
+
## Constructors
|
|
17
|
+
|
|
18
|
+
### Constructor
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
new MappingBuilder(service): MappingBuilder;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Defined in: [builder/MappingBuilder.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L29)
|
|
25
|
+
|
|
26
|
+
Constructs a new instance of the `MappingBuilder` class.
|
|
27
|
+
|
|
28
|
+
#### Parameters
|
|
29
|
+
|
|
30
|
+
| Parameter | Type |
|
|
31
|
+
| ------ | ------ |
|
|
32
|
+
| `service` | [`MappingService`](Class.MappingService) |
|
|
33
|
+
|
|
34
|
+
#### Returns
|
|
35
|
+
|
|
36
|
+
`MappingBuilder`
|
|
37
|
+
|
|
38
|
+
## Methods
|
|
39
|
+
|
|
40
|
+
### createKeyedMap()
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
createKeyedMap<TInput, TOutput>(key, fn): this;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Defined in: [builder/MappingBuilder.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L64)
|
|
47
|
+
|
|
48
|
+
Creates a keyed mapping between two types with full type safety.
|
|
49
|
+
The mapping key encodes both input and output types at compile time.
|
|
50
|
+
|
|
51
|
+
#### Type Parameters
|
|
52
|
+
|
|
53
|
+
| Type Parameter |
|
|
54
|
+
| ------ |
|
|
55
|
+
| `TInput` |
|
|
56
|
+
| `TOutput` |
|
|
57
|
+
|
|
58
|
+
#### Parameters
|
|
59
|
+
|
|
60
|
+
| Parameter | Type | Description |
|
|
61
|
+
| ------ | ------ | ------ |
|
|
62
|
+
| `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
|
|
63
|
+
| `fn` | (`source`) => `TOutput` | The mapping function. |
|
|
64
|
+
|
|
65
|
+
#### Returns
|
|
66
|
+
|
|
67
|
+
`this`
|
|
68
|
+
|
|
69
|
+
#### Implementation of
|
|
70
|
+
|
|
71
|
+
[`IMappingBuilder`](Interface.IMappingBuilder).[`createKeyedMap`](Interface.IMappingBuilder#createkeyedmap)
|
|
72
|
+
|
|
73
|
+
***
|
|
74
|
+
|
|
75
|
+
### createMap()
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
createMap<TSource, TDestination>(
|
|
79
|
+
source,
|
|
80
|
+
destination,
|
|
81
|
+
fn): this;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Defined in: [builder/MappingBuilder.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L46)
|
|
85
|
+
|
|
86
|
+
Creates a mapping between two types.
|
|
87
|
+
Enforces compile-time type compatibility check.
|
|
88
|
+
|
|
89
|
+
#### Type Parameters
|
|
90
|
+
|
|
91
|
+
| Type Parameter |
|
|
92
|
+
| ------ |
|
|
93
|
+
| `TSource` |
|
|
94
|
+
| `TDestination` |
|
|
95
|
+
|
|
96
|
+
#### Parameters
|
|
97
|
+
|
|
98
|
+
| Parameter | Type | Description |
|
|
99
|
+
| ------ | ------ | ------ |
|
|
100
|
+
| `source` | [`Constructor`](TypeAlias.Constructor)\<`TSource`\> | The source type. |
|
|
101
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The destination type. |
|
|
102
|
+
| `fn` | (`source`) => `TDestination` | The mapping function. |
|
|
103
|
+
|
|
104
|
+
#### Returns
|
|
105
|
+
|
|
106
|
+
`this`
|
|
107
|
+
|
|
108
|
+
#### Implementation of
|
|
109
|
+
|
|
110
|
+
[`IMappingBuilder`](Interface.IMappingBuilder).[`createMap`](Interface.IMappingBuilder#createmap)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Abstract Class: MappingError'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Abstract Class: MappingError
|
|
7
|
+
|
|
8
|
+
Defined in: [errors/MappingError.ts:7](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L7)
|
|
9
|
+
|
|
10
|
+
Base class for mapping related domain errors.
|
|
11
|
+
|
|
12
|
+
## Extends
|
|
13
|
+
|
|
14
|
+
- `Error`
|
|
15
|
+
|
|
16
|
+
## Extended by
|
|
17
|
+
|
|
18
|
+
- [`MappingNotRegisteredError`](Class.MappingNotRegisteredError)
|
|
19
|
+
- [`TypeMappingNotRegisteredError`](Class.TypeMappingNotRegisteredError)
|
|
20
|
+
|
|
21
|
+
## Constructors
|
|
22
|
+
|
|
23
|
+
### Constructor
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
protected new MappingError(message, code): MappingError;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Defined in: [errors/MappingError.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L16)
|
|
30
|
+
|
|
31
|
+
#### Parameters
|
|
32
|
+
|
|
33
|
+
| Parameter | Type |
|
|
34
|
+
| ------ | ------ |
|
|
35
|
+
| `message` | `string` |
|
|
36
|
+
| `code` | `string` |
|
|
37
|
+
|
|
38
|
+
#### Returns
|
|
39
|
+
|
|
40
|
+
`MappingError`
|
|
41
|
+
|
|
42
|
+
#### Overrides
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
Error.constructor
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Properties
|
|
49
|
+
|
|
50
|
+
### code
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
readonly code: string;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Defined in: [errors/MappingError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L10)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: MappingModule'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: MappingModule
|
|
7
|
+
|
|
8
|
+
Defined in: [MappingModule.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingModule.ts#L19)
|
|
9
|
+
|
|
10
|
+
Module that provides mapping services and allows registration of mapping profiles.
|
|
11
|
+
|
|
12
|
+
## Constructors
|
|
13
|
+
|
|
14
|
+
### Constructor
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
new MappingModule(): MappingModule;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### Returns
|
|
21
|
+
|
|
22
|
+
`MappingModule`
|
|
23
|
+
|
|
24
|
+
## Methods
|
|
25
|
+
|
|
26
|
+
### withProfiles()
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
static withProfiles(profiles): DynamicModule;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Defined in: [MappingModule.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingModule.ts#L27)
|
|
33
|
+
|
|
34
|
+
Configures the module with the given mapping profiles.
|
|
35
|
+
|
|
36
|
+
#### Parameters
|
|
37
|
+
|
|
38
|
+
| Parameter | Type | Description |
|
|
39
|
+
| ------ | ------ | ------ |
|
|
40
|
+
| `profiles` | `Type`\<[`IMappingProfile`](Interface.IMappingProfile)\>[] | An array of mapping profile types to register. |
|
|
41
|
+
|
|
42
|
+
#### Returns
|
|
43
|
+
|
|
44
|
+
`DynamicModule`
|
|
45
|
+
|
|
46
|
+
A dynamic module with the specified profiles registered.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: MappingNotRegisteredError'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: MappingNotRegisteredError
|
|
7
|
+
|
|
8
|
+
Defined in: [errors/MappingNotRegisteredError.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingNotRegisteredError.ts#L12)
|
|
9
|
+
|
|
10
|
+
Thrown when a keyed mapping is requested but not registered.
|
|
11
|
+
|
|
12
|
+
## Extends
|
|
13
|
+
|
|
14
|
+
- [`MappingError`](Class.MappingError)
|
|
15
|
+
|
|
16
|
+
## Constructors
|
|
17
|
+
|
|
18
|
+
### Constructor
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
new MappingNotRegisteredError(key): MappingNotRegisteredError;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Defined in: [errors/MappingNotRegisteredError.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingNotRegisteredError.ts#L15)
|
|
25
|
+
|
|
26
|
+
#### Parameters
|
|
27
|
+
|
|
28
|
+
| Parameter | Type |
|
|
29
|
+
| ------ | ------ |
|
|
30
|
+
| `key` | `string` |
|
|
31
|
+
|
|
32
|
+
#### Returns
|
|
33
|
+
|
|
34
|
+
`MappingNotRegisteredError`
|
|
35
|
+
|
|
36
|
+
#### Overrides
|
|
37
|
+
|
|
38
|
+
[`MappingError`](Class.MappingError).[`constructor`](Class.MappingError#constructor)
|
|
39
|
+
|
|
40
|
+
## Properties
|
|
41
|
+
|
|
42
|
+
### code
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
readonly code: string;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Defined in: [errors/MappingError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L10)
|
|
49
|
+
|
|
50
|
+
#### Inherited from
|
|
51
|
+
|
|
52
|
+
[`MappingError`](Class.MappingError).[`code`](Class.MappingError#code)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Abstract Class: MappingProfileBase'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Abstract Class: MappingProfileBase
|
|
7
|
+
|
|
8
|
+
Defined in: [profile/MappingProfileBase.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/MappingProfileBase.ts#L13)
|
|
9
|
+
|
|
10
|
+
Base class for mapping profiles to simplify implementation.
|
|
11
|
+
|
|
12
|
+
## Implements
|
|
13
|
+
|
|
14
|
+
- [`IMappingProfile`](Interface.IMappingProfile)
|
|
15
|
+
|
|
16
|
+
## Constructors
|
|
17
|
+
|
|
18
|
+
### Constructor
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
new MappingProfileBase(): MappingProfileBase;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
#### Returns
|
|
25
|
+
|
|
26
|
+
`MappingProfileBase`
|
|
27
|
+
|
|
28
|
+
## Methods
|
|
29
|
+
|
|
30
|
+
### configure()
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
abstract configure(builder): void;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Defined in: [profile/MappingProfileBase.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/MappingProfileBase.ts#L23)
|
|
37
|
+
|
|
38
|
+
Configures the mapping profile.
|
|
39
|
+
|
|
40
|
+
#### Parameters
|
|
41
|
+
|
|
42
|
+
| Parameter | Type | Description |
|
|
43
|
+
| ------ | ------ | ------ |
|
|
44
|
+
| `builder` | [`IMappingBuilder`](Interface.IMappingBuilder) | The mapping builder. |
|
|
45
|
+
|
|
46
|
+
#### Returns
|
|
47
|
+
|
|
48
|
+
`void`
|
|
49
|
+
|
|
50
|
+
#### Implementation of
|
|
51
|
+
|
|
52
|
+
[`IMappingProfile`](Interface.IMappingProfile).[`configure`](Interface.IMappingProfile#configure)
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: MappingService'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: MappingService
|
|
7
|
+
|
|
8
|
+
Defined in: [MappingService.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L19)
|
|
9
|
+
|
|
10
|
+
Central mapping registry supporting keyed & type-based mappings.
|
|
11
|
+
|
|
12
|
+
## Constructors
|
|
13
|
+
|
|
14
|
+
### Constructor
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
new MappingService(): MappingService;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [MappingService.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L36)
|
|
21
|
+
|
|
22
|
+
Constructs a new instance of the `MappingService` class.
|
|
23
|
+
|
|
24
|
+
#### Returns
|
|
25
|
+
|
|
26
|
+
`MappingService`
|
|
27
|
+
|
|
28
|
+
## Methods
|
|
29
|
+
|
|
30
|
+
### map()
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
map<TInput, TOutput>(key, source): TOutput;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Defined in: [MappingService.ts:99](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L99)
|
|
37
|
+
|
|
38
|
+
Maps a source object to a destination type using a type-safe mapping key.
|
|
39
|
+
The key encodes both input and output types, ensuring compile-time type safety.
|
|
40
|
+
|
|
41
|
+
#### Type Parameters
|
|
42
|
+
|
|
43
|
+
| Type Parameter |
|
|
44
|
+
| ------ |
|
|
45
|
+
| `TInput` |
|
|
46
|
+
| `TOutput` |
|
|
47
|
+
|
|
48
|
+
#### Parameters
|
|
49
|
+
|
|
50
|
+
| Parameter | Type | Description |
|
|
51
|
+
| ------ | ------ | ------ |
|
|
52
|
+
| `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
|
|
53
|
+
| `source` | `TInput` | The source object to map. |
|
|
54
|
+
|
|
55
|
+
#### Returns
|
|
56
|
+
|
|
57
|
+
`TOutput`
|
|
58
|
+
|
|
59
|
+
The mapped destination object.
|
|
60
|
+
|
|
61
|
+
#### Example
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const response = this._mappingService.map(PRODUCT_MAPPING_KEY, productInput);
|
|
65
|
+
// response is automatically typed as ProductResponse
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
***
|
|
69
|
+
|
|
70
|
+
### mapTypes()
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
mapTypes<TSource, TDestination>(source, destination): TDestination;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Defined in: [MappingService.ts:129](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L129)
|
|
77
|
+
|
|
78
|
+
Maps a source object to a destination type using a registered mapping function.
|
|
79
|
+
|
|
80
|
+
#### Type Parameters
|
|
81
|
+
|
|
82
|
+
| Type Parameter |
|
|
83
|
+
| ------ |
|
|
84
|
+
| `TSource` |
|
|
85
|
+
| `TDestination` |
|
|
86
|
+
|
|
87
|
+
#### Parameters
|
|
88
|
+
|
|
89
|
+
| Parameter | Type | Description |
|
|
90
|
+
| ------ | ------ | ------ |
|
|
91
|
+
| `source` | `TSource` | The source object to map. |
|
|
92
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
|
|
93
|
+
|
|
94
|
+
#### Returns
|
|
95
|
+
|
|
96
|
+
`TDestination`
|
|
97
|
+
|
|
98
|
+
The mapped destination object.
|
|
99
|
+
|
|
100
|
+
***
|
|
101
|
+
|
|
102
|
+
### mapTypesArray()
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
mapTypesArray<TSource, TDestination>(sources, destination): TDestination[];
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Defined in: [MappingService.ts:161](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L161)
|
|
109
|
+
|
|
110
|
+
Maps an array of source objects to an array of destination types using a registered mapping function.
|
|
111
|
+
|
|
112
|
+
#### Type Parameters
|
|
113
|
+
|
|
114
|
+
| Type Parameter |
|
|
115
|
+
| ------ |
|
|
116
|
+
| `TSource` |
|
|
117
|
+
| `TDestination` |
|
|
118
|
+
|
|
119
|
+
#### Parameters
|
|
120
|
+
|
|
121
|
+
| Parameter | Type | Description |
|
|
122
|
+
| ------ | ------ | ------ |
|
|
123
|
+
| `sources` | `TSource`[] | The array of source objects to map. |
|
|
124
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
|
|
125
|
+
|
|
126
|
+
#### Returns
|
|
127
|
+
|
|
128
|
+
`TDestination`[]
|
|
129
|
+
|
|
130
|
+
The array of mapped destination objects.
|
|
131
|
+
|
|
132
|
+
***
|
|
133
|
+
|
|
134
|
+
### register()
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
register<TSource, TDestination>(key, fn): void;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Defined in: [MappingService.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L54)
|
|
141
|
+
|
|
142
|
+
Registers a mapping function for a specific key.
|
|
143
|
+
|
|
144
|
+
#### Type Parameters
|
|
145
|
+
|
|
146
|
+
| Type Parameter |
|
|
147
|
+
| ------ |
|
|
148
|
+
| `TSource` |
|
|
149
|
+
| `TDestination` |
|
|
150
|
+
|
|
151
|
+
#### Parameters
|
|
152
|
+
|
|
153
|
+
| Parameter | Type | Description |
|
|
154
|
+
| ------ | ------ | ------ |
|
|
155
|
+
| `key` | `string` | The unique key for the mapping. |
|
|
156
|
+
| `fn` | (`source`) => `TDestination` | The mapping function. |
|
|
157
|
+
|
|
158
|
+
#### Returns
|
|
159
|
+
|
|
160
|
+
`void`
|
|
161
|
+
|
|
162
|
+
void
|
|
163
|
+
|
|
164
|
+
***
|
|
165
|
+
|
|
166
|
+
### registerMap()
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
registerMap<TSource, TDestination>(
|
|
170
|
+
source,
|
|
171
|
+
destination,
|
|
172
|
+
fn): void;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Defined in: [MappingService.ts:71](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L71)
|
|
176
|
+
|
|
177
|
+
Registers a mapping function for a specific source and destination type.
|
|
178
|
+
|
|
179
|
+
#### Type Parameters
|
|
180
|
+
|
|
181
|
+
| Type Parameter |
|
|
182
|
+
| ------ |
|
|
183
|
+
| `TSource` |
|
|
184
|
+
| `TDestination` |
|
|
185
|
+
|
|
186
|
+
#### Parameters
|
|
187
|
+
|
|
188
|
+
| Parameter | Type | Description |
|
|
189
|
+
| ------ | ------ | ------ |
|
|
190
|
+
| `source` | [`Constructor`](TypeAlias.Constructor)\<`TSource`\> | The constructor of the source type. |
|
|
191
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
|
|
192
|
+
| `fn` | (`source`) => `TDestination` | The mapping function. |
|
|
193
|
+
|
|
194
|
+
#### Returns
|
|
195
|
+
|
|
196
|
+
`void`
|
|
197
|
+
|
|
198
|
+
void
|
|
199
|
+
|
|
200
|
+
***
|
|
201
|
+
|
|
202
|
+
### registerProfile()
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
registerProfile(profile): void;
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Defined in: [MappingService.ts:175](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L175)
|
|
209
|
+
|
|
210
|
+
Registers a mapping profile containing multiple mappings.
|
|
211
|
+
|
|
212
|
+
#### Parameters
|
|
213
|
+
|
|
214
|
+
| Parameter | Type | Description |
|
|
215
|
+
| ------ | ------ | ------ |
|
|
216
|
+
| `profile` | [`IMappingProfile`](Interface.IMappingProfile) | The mapping profile to register. |
|
|
217
|
+
|
|
218
|
+
#### Returns
|
|
219
|
+
|
|
220
|
+
`void`
|
|
221
|
+
|
|
222
|
+
void
|
|
223
|
+
|
|
224
|
+
***
|
|
225
|
+
|
|
226
|
+
### tryMap()
|
|
227
|
+
|
|
228
|
+
```ts
|
|
229
|
+
tryMap<TInput, TOutput>(key, source): TOutput | undefined;
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Defined in: [MappingService.ts:115](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L115)
|
|
233
|
+
|
|
234
|
+
Attempts to map returning undefined instead of throwing when mapping is absent.
|
|
235
|
+
|
|
236
|
+
#### Type Parameters
|
|
237
|
+
|
|
238
|
+
| Type Parameter |
|
|
239
|
+
| ------ |
|
|
240
|
+
| `TInput` |
|
|
241
|
+
| `TOutput` |
|
|
242
|
+
|
|
243
|
+
#### Parameters
|
|
244
|
+
|
|
245
|
+
| Parameter | Type | Description |
|
|
246
|
+
| ------ | ------ | ------ |
|
|
247
|
+
| `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
|
|
248
|
+
| `source` | `TInput` | The source object to map. |
|
|
249
|
+
|
|
250
|
+
#### Returns
|
|
251
|
+
|
|
252
|
+
`TOutput` \| `undefined`
|
|
253
|
+
|
|
254
|
+
The mapped destination object or undefined if no mapping exists.
|
|
255
|
+
|
|
256
|
+
***
|
|
257
|
+
|
|
258
|
+
### tryMapTypes()
|
|
259
|
+
|
|
260
|
+
```ts
|
|
261
|
+
tryMapTypes<TSource, TDestination>(source, destination): TDestination | undefined;
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Defined in: [MappingService.ts:142](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L142)
|
|
265
|
+
|
|
266
|
+
Safe variant of [mapTypes](#maptypes) that returns undefined if not registered.
|
|
267
|
+
|
|
268
|
+
#### Type Parameters
|
|
269
|
+
|
|
270
|
+
| Type Parameter |
|
|
271
|
+
| ------ |
|
|
272
|
+
| `TSource` |
|
|
273
|
+
| `TDestination` |
|
|
274
|
+
|
|
275
|
+
#### Parameters
|
|
276
|
+
|
|
277
|
+
| Parameter | Type |
|
|
278
|
+
| ------ | ------ |
|
|
279
|
+
| `source` | `TSource` |
|
|
280
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> |
|
|
281
|
+
|
|
282
|
+
#### Returns
|
|
283
|
+
|
|
284
|
+
`TDestination` \| `undefined`
|