@breadstone/archipel-mcp 0.0.23 → 0.0.26
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/data/guides/caching.md +33 -0
- package/data/guides/email-delivery.md +27 -1
- 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/index.md +1 -0
- 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 +10 -10
- 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 +113 -49
- package/data/packages/platform-database/api/Class.RepositoryBase2.md +171 -0
- package/data/packages/platform-database/api/Function.aggregate.md +33 -0
- package/data/packages/platform-database/api/Function.aggregateRaw.md +34 -0
- package/data/packages/platform-database/api/Function.count.md +33 -0
- package/data/packages/platform-database/api/Function.create.md +33 -0
- package/data/packages/platform-database/api/Function.createMany.md +33 -0
- package/data/packages/platform-database/api/Function.createManyAndReturn.md +35 -0
- package/data/packages/platform-database/api/Function.findFirst.md +35 -0
- package/data/packages/platform-database/api/Function.findFirstOrThrow.md +34 -0
- package/data/packages/platform-database/api/Function.findMany.md +32 -0
- package/data/packages/platform-database/api/Function.findManyPaged.md +34 -0
- package/data/packages/platform-database/api/Function.findRaw.md +34 -0
- package/data/packages/platform-database/api/Function.findUnique.md +32 -0
- package/data/packages/platform-database/api/Function.findUniqueOrThrow.md +34 -0
- package/data/packages/platform-database/api/Function.groupBy.md +33 -0
- package/data/packages/platform-database/api/Function.paginator.md +1 -1
- package/data/packages/platform-database/api/Function.pipe.md +34 -0
- package/data/packages/platform-database/api/Function.pipeAll.md +35 -0
- package/data/packages/platform-database/api/Function.query2.md +35 -0
- package/data/packages/platform-database/api/Function.remove.md +33 -0
- package/data/packages/platform-database/api/Function.removeMany.md +33 -0
- package/data/packages/platform-database/api/Function.update.md +33 -0
- package/data/packages/platform-database/api/Function.updateMany.md +33 -0
- package/data/packages/platform-database/api/Function.updateManyAndReturn.md +35 -0
- package/data/packages/platform-database/api/Function.upsert.md +33 -0
- package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
- package/data/packages/platform-database/api/Interface.IRepositoryQuery2.md +45 -0
- package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateOperations.md +29 -0
- 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/TypeAlias.RepositoryOperationsAll.md +19 -0
- package/data/packages/platform-database/api/TypeAlias.RepositoryOperationsBase.md +34 -0
- package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
- package/data/packages/platform-database/api/index.md +29 -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 +18 -7
- 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-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-telemetry/api/Class.OtelSdkHolder.md +20 -2
- 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 +3 -1
- package/package.json +1 -1
|
@@ -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`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: TypeMappingNotRegisteredError'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: TypeMappingNotRegisteredError
|
|
7
|
+
|
|
8
|
+
Defined in: [errors/TypeMappingNotRegisteredError.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/TypeMappingNotRegisteredError.ts#L12)
|
|
9
|
+
|
|
10
|
+
Thrown when a type 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 TypeMappingNotRegisteredError(source, destination): TypeMappingNotRegisteredError;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Defined in: [errors/TypeMappingNotRegisteredError.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/TypeMappingNotRegisteredError.ts#L15)
|
|
25
|
+
|
|
26
|
+
#### Parameters
|
|
27
|
+
|
|
28
|
+
| Parameter | Type |
|
|
29
|
+
| ------ | ------ |
|
|
30
|
+
| `source` | `string` |
|
|
31
|
+
| `destination` | `string` |
|
|
32
|
+
|
|
33
|
+
#### Returns
|
|
34
|
+
|
|
35
|
+
`TypeMappingNotRegisteredError`
|
|
36
|
+
|
|
37
|
+
#### Overrides
|
|
38
|
+
|
|
39
|
+
[`MappingError`](Class.MappingError).[`constructor`](Class.MappingError#constructor)
|
|
40
|
+
|
|
41
|
+
## Properties
|
|
42
|
+
|
|
43
|
+
### code
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
readonly code: string;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Defined in: [errors/MappingError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L10)
|
|
50
|
+
|
|
51
|
+
#### Inherited from
|
|
52
|
+
|
|
53
|
+
[`MappingError`](Class.MappingError).[`code`](Class.MappingError#code)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Function: createMappingKey()'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Function: createMappingKey()
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
function createMappingKey<TInput, TOutput>(key): IMappingKey<TInput, TOutput>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [types/MappingKey.ts:28](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L28)
|
|
13
|
+
|
|
14
|
+
Creates a type-safe mapping key.
|
|
15
|
+
|
|
16
|
+
## Type Parameters
|
|
17
|
+
|
|
18
|
+
| Type Parameter |
|
|
19
|
+
| ------ |
|
|
20
|
+
| `TInput` |
|
|
21
|
+
| `TOutput` |
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
| Parameter | Type | Description |
|
|
26
|
+
| ------ | ------ | ------ |
|
|
27
|
+
| `key` | `string` | The unique string identifier for the mapping. |
|
|
28
|
+
|
|
29
|
+
## Returns
|
|
30
|
+
|
|
31
|
+
[`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\>
|
|
32
|
+
|
|
33
|
+
A branded mapping key that encodes the input and output types.
|
|
34
|
+
|
|
35
|
+
## Example
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
export const PRODUCT_MAPPING_KEY = createMappingKey<IProductMappingInput, ProductResponse>('food.product');
|
|
39
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: IMappingBuilder'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: IMappingBuilder
|
|
7
|
+
|
|
8
|
+
Defined in: [builder/interfaces/IMappingBuilder.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/interfaces/IMappingBuilder.ts#L24)
|
|
9
|
+
|
|
10
|
+
Defines the interface for a mapping builder.
|
|
11
|
+
|
|
12
|
+
## Methods
|
|
13
|
+
|
|
14
|
+
### createKeyedMap()
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
createKeyedMap<TInput, TOutput>(key, fn): this;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [builder/interfaces/IMappingBuilder.ts:50](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/interfaces/IMappingBuilder.ts#L50)
|
|
21
|
+
|
|
22
|
+
Creates a keyed mapping between two types with full type safety.
|
|
23
|
+
The mapping key encodes both input and output types at compile time.
|
|
24
|
+
|
|
25
|
+
#### Type Parameters
|
|
26
|
+
|
|
27
|
+
| Type Parameter |
|
|
28
|
+
| ------ |
|
|
29
|
+
| `TInput` |
|
|
30
|
+
| `TOutput` |
|
|
31
|
+
|
|
32
|
+
#### Parameters
|
|
33
|
+
|
|
34
|
+
| Parameter | Type | Description |
|
|
35
|
+
| ------ | ------ | ------ |
|
|
36
|
+
| `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
|
|
37
|
+
| `fn` | (`source`) => `MappingCompatible`\<`TInput`, `TOutput`\> & `TOutput` | The mapping function that must return a valid destination. |
|
|
38
|
+
|
|
39
|
+
#### Returns
|
|
40
|
+
|
|
41
|
+
`this`
|
|
42
|
+
|
|
43
|
+
***
|
|
44
|
+
|
|
45
|
+
### createMap()
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
createMap<TSource, TDestination>(
|
|
49
|
+
source,
|
|
50
|
+
destination,
|
|
51
|
+
fn): this;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Defined in: [builder/interfaces/IMappingBuilder.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/interfaces/IMappingBuilder.ts#L36)
|
|
55
|
+
|
|
56
|
+
Creates a mapping between two types.
|
|
57
|
+
Ensures compile-time type compatibility between source and destination.
|
|
58
|
+
|
|
59
|
+
#### Type Parameters
|
|
60
|
+
|
|
61
|
+
| Type Parameter |
|
|
62
|
+
| ------ |
|
|
63
|
+
| `TSource` |
|
|
64
|
+
| `TDestination` |
|
|
65
|
+
|
|
66
|
+
#### Parameters
|
|
67
|
+
|
|
68
|
+
| Parameter | Type | Description |
|
|
69
|
+
| ------ | ------ | ------ |
|
|
70
|
+
| `source` | [`Constructor`](TypeAlias.Constructor)\<`TSource`\> | The source type. |
|
|
71
|
+
| `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The destination type. |
|
|
72
|
+
| `fn` | (`source`) => `MappingCompatible`\<`TSource`, `TDestination`\> & `TDestination` | The mapping function that must return a valid destination. |
|
|
73
|
+
|
|
74
|
+
#### Returns
|
|
75
|
+
|
|
76
|
+
`this`
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: IMappingKey\<TInput, TOutput\>'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: IMappingKey\<TInput, TOutput\>
|
|
7
|
+
|
|
8
|
+
Defined in: [types/MappingKey.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L9)
|
|
9
|
+
|
|
10
|
+
Type-safe mapping key that encodes both input and output types.
|
|
11
|
+
This ensures compile-time type safety when using the mapping service.
|
|
12
|
+
|
|
13
|
+
## Type Parameters
|
|
14
|
+
|
|
15
|
+
| Type Parameter | Description |
|
|
16
|
+
| ------ | ------ |
|
|
17
|
+
| `TInput` | The input type for the mapping. |
|
|
18
|
+
| `TOutput` | The output type for the mapping. |
|
|
19
|
+
|
|
20
|
+
## Properties
|
|
21
|
+
|
|
22
|
+
### \_brand
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
readonly _brand: "MappingKey";
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Defined in: [types/MappingKey.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L10)
|
|
29
|
+
|
|
30
|
+
***
|
|
31
|
+
|
|
32
|
+
### \_input
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
readonly _input: TInput;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Defined in: [types/MappingKey.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L11)
|
|
39
|
+
|
|
40
|
+
***
|
|
41
|
+
|
|
42
|
+
### \_output
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
readonly _output: TOutput;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Defined in: [types/MappingKey.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L12)
|
|
49
|
+
|
|
50
|
+
***
|
|
51
|
+
|
|
52
|
+
### key
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
readonly key: string;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Defined in: [types/MappingKey.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/MappingKey.ts#L13)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: IMappingProfile'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: IMappingProfile
|
|
7
|
+
|
|
8
|
+
Defined in: [profile/interfaces/IMappingProfile.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/interfaces/IMappingProfile.ts#L12)
|
|
9
|
+
|
|
10
|
+
Defines the interface for a mapping profile.
|
|
11
|
+
|
|
12
|
+
## Methods
|
|
13
|
+
|
|
14
|
+
### configure()
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
configure(builder): void;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Defined in: [profile/interfaces/IMappingProfile.ts:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/interfaces/IMappingProfile.ts#L21)
|
|
21
|
+
|
|
22
|
+
Configures the mapping profile.
|
|
23
|
+
|
|
24
|
+
#### Parameters
|
|
25
|
+
|
|
26
|
+
| Parameter | Type | Description |
|
|
27
|
+
| ------ | ------ | ------ |
|
|
28
|
+
| `builder` | [`IMappingBuilder`](Interface.IMappingBuilder) | The mapping builder. |
|
|
29
|
+
|
|
30
|
+
#### Returns
|
|
31
|
+
|
|
32
|
+
`void`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Type Alias: Constructor\<T\>'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Type Alias: Constructor\<T\>
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
type Constructor<T> = (...args) => T;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Defined in: [types/Constructor.ts:1](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/types/Constructor.ts#L1)
|
|
13
|
+
|
|
14
|
+
## Type Parameters
|
|
15
|
+
|
|
16
|
+
| Type Parameter |
|
|
17
|
+
| ------ |
|
|
18
|
+
| `T` |
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Type |
|
|
23
|
+
| ------ | ------ |
|
|
24
|
+
| ...`args` | `unknown`[] |
|
|
25
|
+
|
|
26
|
+
## Returns
|
|
27
|
+
|
|
28
|
+
`T`
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: '@breadstone/archipel-platform-mapping'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# @breadstone/archipel-platform-mapping
|
|
7
|
+
|
|
8
|
+
## Classes
|
|
9
|
+
|
|
10
|
+
| Class | Description |
|
|
11
|
+
| ------ | ------ |
|
|
12
|
+
| [MappingBuilder](Class.MappingBuilder) | A mapping builder that uses the mapping service to register maps. |
|
|
13
|
+
| [MappingError](Class.MappingError) | Base class for mapping related domain errors. |
|
|
14
|
+
| [MappingModule](Class.MappingModule) | Module that provides mapping services and allows registration of mapping profiles. |
|
|
15
|
+
| [MappingNotRegisteredError](Class.MappingNotRegisteredError) | Thrown when a keyed mapping is requested but not registered. |
|
|
16
|
+
| [MappingProfileBase](Class.MappingProfileBase) | Base class for mapping profiles to simplify implementation. |
|
|
17
|
+
| [MappingService](Class.MappingService) | Central mapping registry supporting keyed & type-based mappings. |
|
|
18
|
+
| [TypeMappingNotRegisteredError](Class.TypeMappingNotRegisteredError) | Thrown when a type mapping is requested but not registered. |
|
|
19
|
+
|
|
20
|
+
## Interfaces
|
|
21
|
+
|
|
22
|
+
| Interface | Description |
|
|
23
|
+
| ------ | ------ |
|
|
24
|
+
| [IMappingBuilder](Interface.IMappingBuilder) | Defines the interface for a mapping builder. |
|
|
25
|
+
| [IMappingKey](Interface.IMappingKey) | Type-safe mapping key that encodes both input and output types. This ensures compile-time type safety when using the mapping service. |
|
|
26
|
+
| [IMappingProfile](Interface.IMappingProfile) | Defines the interface for a mapping profile. |
|
|
27
|
+
|
|
28
|
+
## Type Aliases
|
|
29
|
+
|
|
30
|
+
| Type Alias | Description |
|
|
31
|
+
| ------ | ------ |
|
|
32
|
+
| [Constructor](TypeAlias.Constructor) | - |
|
|
33
|
+
|
|
34
|
+
## Functions
|
|
35
|
+
|
|
36
|
+
| Function | Description |
|
|
37
|
+
| ------ | ------ |
|
|
38
|
+
| [createMappingKey](Function.createMappingKey) | Creates a type-safe mapping key. |
|