@plyaz/core 1.2.0 → 1.2.1

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 (238) hide show
  1. package/dist/adapters/index.d.ts +16 -0
  2. package/dist/adapters/index.d.ts.map +1 -0
  3. package/dist/adapters/nestjs.d.ts +79 -0
  4. package/dist/adapters/nestjs.d.ts.map +1 -0
  5. package/dist/adapters/nextjs.d.ts +28 -0
  6. package/dist/adapters/nextjs.d.ts.map +1 -0
  7. package/dist/backend/example/example.controller.d.ts +121 -0
  8. package/dist/backend/example/example.controller.d.ts.map +1 -0
  9. package/dist/backend/example/example.module.d.ts +29 -0
  10. package/dist/backend/example/example.module.d.ts.map +1 -0
  11. package/dist/backend/example/index.d.ts +8 -0
  12. package/dist/backend/example/index.d.ts.map +1 -0
  13. package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts +150 -0
  14. package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts.map +1 -0
  15. package/dist/backend/featureFlags/config/feature-flag.config.d.ts +28 -50
  16. package/dist/backend/featureFlags/config/feature-flag.config.d.ts.map +1 -1
  17. package/dist/backend/featureFlags/config/validation.d.ts +6 -6
  18. package/dist/backend/featureFlags/config/validation.d.ts.map +1 -1
  19. package/dist/backend/featureFlags/feature-flag.controller.d.ts +14 -55
  20. package/dist/backend/featureFlags/feature-flag.controller.d.ts.map +1 -1
  21. package/dist/backend/featureFlags/feature-flag.module.d.ts +36 -43
  22. package/dist/backend/featureFlags/feature-flag.module.d.ts.map +1 -1
  23. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts +16 -2
  24. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts.map +1 -1
  25. package/dist/backend/featureFlags/index.d.ts +6 -7
  26. package/dist/backend/featureFlags/index.d.ts.map +1 -1
  27. package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts.map +1 -1
  28. package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts.map +1 -1
  29. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts +6 -11
  30. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts.map +1 -1
  31. package/dist/backend/index.d.ts +5 -0
  32. package/dist/backend/index.d.ts.map +1 -1
  33. package/dist/base/cache/CacheKeyBuilder.d.ts +115 -0
  34. package/dist/base/cache/CacheKeyBuilder.d.ts.map +1 -0
  35. package/dist/base/cache/index.d.ts +1 -0
  36. package/dist/base/cache/index.d.ts.map +1 -1
  37. package/dist/base/cache/strategies/redis.d.ts.map +1 -1
  38. package/dist/base/observability/BaseAdapter.d.ts +79 -0
  39. package/dist/base/observability/BaseAdapter.d.ts.map +1 -0
  40. package/dist/base/observability/CompositeAdapter.d.ts +72 -0
  41. package/dist/base/observability/CompositeAdapter.d.ts.map +1 -0
  42. package/dist/base/observability/DatadogAdapter.d.ts +117 -0
  43. package/dist/base/observability/DatadogAdapter.d.ts.map +1 -0
  44. package/dist/base/observability/LoggerAdapter.d.ts +54 -0
  45. package/dist/base/observability/LoggerAdapter.d.ts.map +1 -0
  46. package/dist/base/observability/ObservabilityService.d.ts +160 -0
  47. package/dist/base/observability/ObservabilityService.d.ts.map +1 -0
  48. package/dist/base/observability/index.d.ts +17 -0
  49. package/dist/base/observability/index.d.ts.map +1 -0
  50. package/dist/domain/base/BaseBackendDomainService.d.ts +528 -0
  51. package/dist/domain/base/BaseBackendDomainService.d.ts.map +1 -0
  52. package/dist/domain/base/BaseDomainService.d.ts +284 -0
  53. package/dist/domain/base/BaseDomainService.d.ts.map +1 -0
  54. package/dist/domain/base/BaseFrontendDomainService.d.ts +493 -0
  55. package/dist/domain/base/BaseFrontendDomainService.d.ts.map +1 -0
  56. package/dist/domain/base/BaseMapper.d.ts +100 -0
  57. package/dist/domain/base/BaseMapper.d.ts.map +1 -0
  58. package/dist/domain/base/BaseValidator.d.ts +105 -0
  59. package/dist/domain/base/BaseValidator.d.ts.map +1 -0
  60. package/dist/domain/base/index.d.ts +10 -0
  61. package/dist/domain/base/index.d.ts.map +1 -0
  62. package/dist/domain/example/BackendExampleDomainService.d.ts +257 -0
  63. package/dist/domain/example/BackendExampleDomainService.d.ts.map +1 -0
  64. package/dist/domain/example/FrontendExampleDomainService.d.ts +164 -0
  65. package/dist/domain/example/FrontendExampleDomainService.d.ts.map +1 -0
  66. package/dist/domain/example/index.d.ts +10 -0
  67. package/dist/domain/example/index.d.ts.map +1 -0
  68. package/dist/domain/example/mappers/ExampleMapper.d.ts +67 -0
  69. package/dist/domain/example/mappers/ExampleMapper.d.ts.map +1 -0
  70. package/dist/domain/example/validators/ExampleValidator.d.ts +33 -0
  71. package/dist/domain/example/validators/ExampleValidator.d.ts.map +1 -0
  72. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts +86 -0
  73. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts.map +1 -0
  74. package/dist/domain/featureFlags/index.d.ts +10 -5
  75. package/dist/domain/featureFlags/index.d.ts.map +1 -1
  76. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts +72 -0
  77. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts.map +1 -0
  78. package/dist/domain/featureFlags/mappers/index.d.ts +8 -0
  79. package/dist/domain/featureFlags/mappers/index.d.ts.map +1 -0
  80. package/dist/domain/featureFlags/module.d.ts +20 -0
  81. package/dist/domain/featureFlags/module.d.ts.map +1 -0
  82. package/dist/domain/featureFlags/provider.d.ts +40 -1
  83. package/dist/domain/featureFlags/provider.d.ts.map +1 -1
  84. package/dist/domain/featureFlags/providers/api.d.ts +59 -34
  85. package/dist/domain/featureFlags/providers/api.d.ts.map +1 -1
  86. package/dist/domain/featureFlags/providers/database.d.ts +48 -46
  87. package/dist/domain/featureFlags/providers/database.d.ts.map +1 -1
  88. package/dist/domain/featureFlags/providers/factory.d.ts +50 -33
  89. package/dist/domain/featureFlags/providers/factory.d.ts.map +1 -1
  90. package/dist/domain/featureFlags/providers/file.d.ts +48 -1
  91. package/dist/domain/featureFlags/providers/file.d.ts.map +1 -1
  92. package/dist/domain/featureFlags/providers/memory.d.ts +32 -6
  93. package/dist/domain/featureFlags/providers/memory.d.ts.map +1 -1
  94. package/dist/domain/featureFlags/providers/redis.d.ts +6 -1
  95. package/dist/domain/featureFlags/providers/redis.d.ts.map +1 -1
  96. package/dist/domain/featureFlags/service.d.ts +112 -0
  97. package/dist/domain/featureFlags/service.d.ts.map +1 -0
  98. package/dist/domain/index.d.ts +2 -0
  99. package/dist/domain/index.d.ts.map +1 -1
  100. package/dist/engine/featureFlags/engine.d.ts +8 -0
  101. package/dist/engine/featureFlags/engine.d.ts.map +1 -1
  102. package/dist/entry-backend.d.ts +24 -0
  103. package/dist/entry-backend.d.ts.map +1 -0
  104. package/dist/entry-backend.js +15635 -0
  105. package/dist/entry-backend.js.map +1 -0
  106. package/dist/entry-backend.mjs +15506 -0
  107. package/dist/entry-backend.mjs.map +1 -0
  108. package/dist/entry-frontend.d.ts +23 -0
  109. package/dist/entry-frontend.d.ts.map +1 -0
  110. package/dist/entry-frontend.js +11152 -0
  111. package/dist/entry-frontend.js.map +1 -0
  112. package/dist/entry-frontend.mjs +11089 -0
  113. package/dist/entry-frontend.mjs.map +1 -0
  114. package/dist/events/CoreEventManager.d.ts +116 -0
  115. package/dist/events/CoreEventManager.d.ts.map +1 -0
  116. package/dist/events/index.d.ts +27 -0
  117. package/dist/events/index.d.ts.map +1 -0
  118. package/dist/frontend/base/index.d.ts +8 -0
  119. package/dist/frontend/base/index.d.ts.map +1 -0
  120. package/dist/frontend/components/InitializationError.d.ts +25 -0
  121. package/dist/frontend/components/InitializationError.d.ts.map +1 -0
  122. package/dist/frontend/components/InitializationLoading.d.ts +22 -0
  123. package/dist/frontend/components/InitializationLoading.d.ts.map +1 -0
  124. package/dist/frontend/components/index.d.ts +9 -0
  125. package/dist/frontend/components/index.d.ts.map +1 -0
  126. package/dist/frontend/example/index.d.ts +9 -0
  127. package/dist/frontend/example/index.d.ts.map +1 -0
  128. package/dist/frontend/featureFlags/index.d.ts +28 -7
  129. package/dist/frontend/featureFlags/index.d.ts.map +1 -1
  130. package/dist/frontend/index.d.ts +4 -0
  131. package/dist/frontend/index.d.ts.map +1 -1
  132. package/dist/frontend/providers/ApiProvider.d.ts +2 -2
  133. package/dist/frontend/providers/ApiProvider.d.ts.map +1 -1
  134. package/dist/frontend/providers/PlyazProvider.d.ts +305 -0
  135. package/dist/frontend/providers/PlyazProvider.d.ts.map +1 -0
  136. package/dist/frontend/providers/index.d.ts +1 -0
  137. package/dist/frontend/providers/index.d.ts.map +1 -1
  138. package/dist/frontend/store/feature-flags.d.ts +63 -0
  139. package/dist/frontend/store/feature-flags.d.ts.map +1 -0
  140. package/dist/frontend/store/index.d.ts +14 -0
  141. package/dist/frontend/store/index.d.ts.map +1 -0
  142. package/dist/frontend/store/integrations.d.ts +36 -0
  143. package/dist/frontend/store/integrations.d.ts.map +1 -0
  144. package/dist/frontend/store/service-accessors.d.ts +78 -0
  145. package/dist/frontend/store/service-accessors.d.ts.map +1 -0
  146. package/dist/index.d.ts +5 -2
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +15450 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/index.mjs +13678 -4697
  151. package/dist/index.mjs.map +1 -1
  152. package/dist/init/CoreInitializer.d.ts +582 -0
  153. package/dist/init/CoreInitializer.d.ts.map +1 -0
  154. package/dist/init/ServiceRegistry.d.ts +256 -0
  155. package/dist/init/ServiceRegistry.d.ts.map +1 -0
  156. package/dist/init/index.d.ts +14 -0
  157. package/dist/init/index.d.ts.map +1 -0
  158. package/dist/init/nestjs/CoreModule.d.ts +63 -0
  159. package/dist/init/nestjs/CoreModule.d.ts.map +1 -0
  160. package/dist/init/nestjs/index.d.ts +5 -0
  161. package/dist/init/nestjs/index.d.ts.map +1 -0
  162. package/dist/init/nestjs/index.js +9059 -0
  163. package/dist/init/nestjs/index.js.map +1 -0
  164. package/dist/init/nestjs/index.mjs +9055 -0
  165. package/dist/init/nestjs/index.mjs.map +1 -0
  166. package/dist/init/react.d.ts +33 -0
  167. package/dist/init/react.d.ts.map +1 -0
  168. package/dist/models/example/ExampleRepository.d.ts +124 -0
  169. package/dist/models/example/ExampleRepository.d.ts.map +1 -0
  170. package/dist/models/example/index.d.ts +7 -0
  171. package/dist/models/example/index.d.ts.map +1 -0
  172. package/dist/{backend/featureFlags/database/repository.d.ts → models/featureFlags/FeatureFlagRepository.d.ts} +47 -5
  173. package/dist/models/featureFlags/FeatureFlagRepository.d.ts.map +1 -0
  174. package/dist/models/featureFlags/index.d.ts +7 -0
  175. package/dist/models/featureFlags/index.d.ts.map +1 -0
  176. package/dist/models/index.d.ts +9 -0
  177. package/dist/models/index.d.ts.map +1 -0
  178. package/dist/services/ApiClientService.d.ts +92 -4
  179. package/dist/services/ApiClientService.d.ts.map +1 -1
  180. package/dist/services/CacheService.d.ts +176 -0
  181. package/dist/services/CacheService.d.ts.map +1 -0
  182. package/dist/services/DbService.d.ts +391 -0
  183. package/dist/services/DbService.d.ts.map +1 -0
  184. package/dist/services/NotificationService.d.ts +151 -0
  185. package/dist/services/NotificationService.d.ts.map +1 -0
  186. package/dist/services/StorageService.d.ts +144 -0
  187. package/dist/services/StorageService.d.ts.map +1 -0
  188. package/dist/services/index.d.ts +4 -0
  189. package/dist/services/index.d.ts.map +1 -1
  190. package/dist/utils/common/id.d.ts +83 -0
  191. package/dist/utils/common/id.d.ts.map +1 -0
  192. package/dist/utils/common/index.d.ts +2 -0
  193. package/dist/utils/common/index.d.ts.map +1 -1
  194. package/dist/utils/common/object.d.ts +70 -0
  195. package/dist/utils/common/object.d.ts.map +1 -0
  196. package/dist/utils/featureFlags/conditions.d.ts.map +1 -1
  197. package/dist/utils/featureFlags/context.d.ts +0 -1
  198. package/dist/utils/featureFlags/context.d.ts.map +1 -1
  199. package/dist/utils/index.d.ts +1 -0
  200. package/dist/utils/index.d.ts.map +1 -1
  201. package/dist/utils/mapperUtils.d.ts +38 -0
  202. package/dist/utils/mapperUtils.d.ts.map +1 -0
  203. package/dist/utils/runtime.d.ts +15 -0
  204. package/dist/utils/runtime.d.ts.map +1 -0
  205. package/dist/version.d.ts +24 -0
  206. package/dist/version.d.ts.map +1 -0
  207. package/dist/web_app/auth/add_user.d.ts +2 -2
  208. package/dist/web_app/auth/add_user.d.ts.map +1 -1
  209. package/dist/web_app/auth/update_user.d.ts +1 -1
  210. package/dist/web_app/auth/update_user.d.ts.map +1 -1
  211. package/package.json +89 -15
  212. package/dist/backend/featureFlags/database/connection.d.ts +0 -321
  213. package/dist/backend/featureFlags/database/connection.d.ts.map +0 -1
  214. package/dist/backend/featureFlags/database/repository.d.ts.map +0 -1
  215. package/dist/backend/featureFlags/feature-flag.repository.d.ts +0 -85
  216. package/dist/backend/featureFlags/feature-flag.repository.d.ts.map +0 -1
  217. package/dist/backend/featureFlags/feature-flag.service.d.ts +0 -264
  218. package/dist/backend/featureFlags/feature-flag.service.d.ts.map +0 -1
  219. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts +0 -103
  220. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts.map +0 -1
  221. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts +0 -35
  222. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts.map +0 -1
  223. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts +0 -55
  224. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts.map +0 -1
  225. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts +0 -57
  226. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts.map +0 -1
  227. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts +0 -99
  228. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts.map +0 -1
  229. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts +0 -31
  230. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts.map +0 -1
  231. package/dist/frontend/featureFlags/providers/types.d.ts +0 -21
  232. package/dist/frontend/featureFlags/providers/types.d.ts.map +0 -1
  233. package/dist/index.cjs +0 -6435
  234. package/dist/index.cjs.map +0 -1
  235. package/dist/utils/db/databaseService.d.ts +0 -6
  236. package/dist/utils/db/databaseService.d.ts.map +0 -1
  237. package/dist/utils/db/index.d.ts +0 -2
  238. package/dist/utils/db/index.d.ts.map +0 -1
@@ -2,12 +2,12 @@
2
2
  * Feature Flag Controller
3
3
  *
4
4
  * NestJS controller for feature flag management.
5
- * Provides REST API endpoints for feature flag operations.
5
+ * Uses the domain FeatureFlagService directly.
6
6
  *
7
7
  * @fileoverview NestJS controller for feature flags
8
8
  */
9
- import { type FeatureFlagValue, type FeatureFlagContext, type FeatureFlagEvaluation, type FeatureFlag, type FeatureFlagRule } from '@plyaz/types';
10
- import type { FeatureFlagService } from './feature-flag.service';
9
+ import type { FeatureFlagValue, FeatureFlagContext, FeatureFlagEvaluation, FeatureFlag, FeatureFlagRule, CreateFlagRequest } from '@plyaz/types';
10
+ import { FeatureFlagService } from '@domain/featureFlags';
11
11
  import type { FeatureFlagKey } from '@domain/types';
12
12
  /**
13
13
  * Request DTO for flag evaluation.
@@ -15,21 +15,11 @@ import type { FeatureFlagKey } from '@domain/types';
15
15
  interface EvaluateFlagRequest {
16
16
  context?: FeatureFlagContext;
17
17
  }
18
- /**
19
- * Request DTO for creating/updating flags.
20
- */
21
- interface CreateFlagRequest {
22
- name: string;
23
- description?: string;
24
- value: FeatureFlagValue;
25
- isEnabled?: boolean;
26
- environment?: 'all' | 'development' | 'staging' | 'production';
27
- rolloutPercentage?: number;
28
- }
29
18
  /**
30
19
  * Feature Flag Controller
31
20
  *
32
21
  * Provides REST endpoints for feature flag management and evaluation.
22
+ * Uses the domain FeatureFlagService directly.
33
23
  *
34
24
  * @example
35
25
  * ```typescript
@@ -40,87 +30,49 @@ interface CreateFlagRequest {
40
30
  */
41
31
  export declare class FeatureFlagController {
42
32
  private readonly featureFlagService;
43
- constructor(featureFlagService: FeatureFlagService);
33
+ constructor(featureFlagService: FeatureFlagService<FeatureFlagKey>);
44
34
  /**
45
35
  * Evaluates a feature flag for the given context.
46
- *
47
- * @param key - Feature flag key
48
- * @param body - Evaluation context
49
- * @returns Feature flag evaluation result
50
36
  */
51
37
  evaluateFlag(key: FeatureFlagKey, body?: EvaluateFlagRequest): Promise<FeatureFlagEvaluation<FeatureFlagKey>>;
52
38
  /**
53
39
  * Checks if a feature flag is enabled.
54
- *
55
- * @param key - Feature flag key
56
- * @param body - Evaluation context
57
- * @returns Boolean indicating if flag is enabled
58
40
  */
59
41
  isEnabled(key: FeatureFlagKey, body?: EvaluateFlagRequest): Promise<{
60
42
  isEnabled: boolean;
61
43
  }>;
62
44
  /**
63
45
  * Gets all feature flags with their evaluations.
64
- *
65
- * @param body - Evaluation context
66
- * @returns All feature flag evaluations
67
46
  */
68
47
  evaluateAllFlags(body?: EvaluateFlagRequest): Promise<Record<string, FeatureFlagEvaluation<FeatureFlagKey>>>;
69
48
  /**
70
49
  * Creates a new feature flag.
71
- *
72
- * @param key - Feature flag key
73
- * @param createData - Flag creation data
74
- * @returns Created feature flag
75
50
  */
76
- createFlag(createData: CreateFlagRequest & {
77
- key: FeatureFlagKey;
78
- }): Promise<FeatureFlag<FeatureFlagKey>>;
51
+ createFlag(createData: CreateFlagRequest<FeatureFlagKey>): Promise<FeatureFlag<FeatureFlagKey>>;
79
52
  /**
80
53
  * Updates an existing feature flag.
81
- *
82
- * @param key - Feature flag key
83
- * @param updateData - Flag update data
84
- * @returns Updated feature flag
85
54
  */
86
- updateFlag(key: FeatureFlagKey, updateData: Partial<CreateFlagRequest>): Promise<FeatureFlag<FeatureFlagKey>>;
55
+ updateFlag(key: FeatureFlagKey, updateData: Partial<CreateFlagRequest<FeatureFlagKey>>): Promise<FeatureFlag<FeatureFlagKey>>;
87
56
  /**
88
57
  * Deletes a feature flag.
89
- *
90
- * @param key - Feature flag key
91
58
  */
92
59
  deleteFlag(key: FeatureFlagKey): Promise<{
93
60
  isSuccessful: boolean;
94
61
  }>;
95
62
  /**
96
63
  * Sets a manual override for a flag.
97
- *
98
- * @param key - Feature flag key
99
- * @param value - Override value
100
64
  */
101
65
  setOverride(key: FeatureFlagKey, value: FeatureFlagValue): Promise<{
102
66
  isSuccessful: boolean;
103
67
  }>;
104
68
  /**
105
69
  * Removes a manual override for a flag.
106
- *
107
- * @param key - Feature flag key
108
70
  */
109
71
  removeOverride(key: FeatureFlagKey): Promise<{
110
72
  isSuccessful: boolean;
111
73
  }>;
112
- /**
113
- * Gets all available feature flags.
114
- *
115
- * @param environment - Filter by environment
116
- * @returns List of feature flags
117
- */
118
- getAllFeatureFlags(environment?: string): Promise<FeatureFlag<FeatureFlagKey>[]>;
119
74
  /**
120
75
  * Gets all rules for a specific flag.
121
- *
122
- * @param key - Feature flag key
123
- * @returns List of rules for the flag
124
76
  */
125
77
  getFlagRules(key: FeatureFlagKey): Promise<FeatureFlagRule<FeatureFlagKey>[]>;
126
78
  /**
@@ -129,6 +81,13 @@ export declare class FeatureFlagController {
129
81
  refreshCache(): Promise<{
130
82
  isSuccessful: boolean;
131
83
  }>;
84
+ /**
85
+ * Gets service health status.
86
+ */
87
+ getHealth(): Promise<{
88
+ isInitialized: boolean;
89
+ provider: string;
90
+ }>;
132
91
  }
133
92
  export {};
134
93
  //# sourceMappingURL=feature-flag.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag.controller.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/feature-flag.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;GAEG;AACH,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,qBACa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB;IAEnE;;;;;;OAMG;IAEG,YAAY,CACF,GAAG,EAAE,cAAc,EACzB,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAYjD;;;;;;OAMG;IAEG,SAAS,CACC,GAAG,EAAE,cAAc,EACzB,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAalC;;;;;OAKG;IAEG,gBAAgB,CACZ,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;IAYjE;;;;;;OAMG;IAEG,UAAU,CACN,UAAU,EAAE,iBAAiB,GAAG;QAAE,GAAG,EAAE,cAAc,CAAA;KAAE,GAC9D,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAYvC;;;;;;OAMG;IAEG,UAAU,CACA,GAAG,EAAE,cAAc,EACzB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC7C,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAYvC;;;;OAIG;IAEG,UAAU,CAAe,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAavF;;;;;OAKG;IAEG,WAAW,CACD,GAAG,EAAE,cAAc,EAClB,KAAK,EAAE,gBAAgB,GACrC,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAarC;;;;OAIG;IAEG,cAAc,CAAe,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAa3F;;;;;OAKG;IAEG,kBAAkB,CACA,WAAW,CAAC,EAAE,MAAM,GACzC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;IAYzC;;;;;OAKG;IAEG,YAAY,CACF,GAAG,EAAE,cAAc,GAChC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;IAY7C;;OAEG;IAEG,YAAY,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAYzD"}
1
+ {"version":3,"file":"feature-flag.controller.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/feature-flag.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAwB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAGzE;;OAEG;IAEG,YAAY,CACF,GAAG,EAAE,cAAc,EACzB,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAYjD;;OAEG;IAEG,SAAS,CACC,GAAG,EAAE,cAAc,EACzB,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAalC;;OAEG;IAEG,gBAAgB,CACZ,IAAI,GAAE,mBAAwB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC;IAYjE;;OAEG;IAEG,UAAU,CACN,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC,GACpD,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAYvC;;OAEG;IAEG,UAAU,CACA,GAAG,EAAE,cAAc,EACzB,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,GAC7D,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAYvC;;OAEG;IAEG,UAAU,CAAe,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAavF;;OAEG;IAEG,WAAW,CACD,GAAG,EAAE,cAAc,EAClB,KAAK,EAAE,gBAAgB,GACrC,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAarC;;OAEG;IAEG,cAAc,CAAe,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAa3F;;OAEG;IAEG,YAAY,CACF,GAAG,EAAE,cAAc,GAChC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;IAY7C;;OAEG;IAEG,YAAY,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAaxD;;OAEG;IAEG,SAAS,IAAI,OAAO,CAAC;QACzB,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CAMH"}
@@ -1,54 +1,62 @@
1
1
  /**
2
- * Feature Flag Module
2
+ * Feature Flag NestJS Module
3
3
  *
4
- * NestJS module for feature flag functionality.
5
- * Configures providers, controllers, and dependencies.
4
+ * NestJS wrapper around the unified FeatureFlagModule.
5
+ * Adds the controller for REST API endpoints.
6
6
  *
7
- * @fileoverview NestJS module for feature flags
7
+ * @example
8
+ * ```typescript
9
+ * import { FeatureFlagModule } from '@plyaz/core/backend/featureFlags';
10
+ *
11
+ * @Module({
12
+ * imports: [FeatureFlagModule.forRoot({ provider: 'database' })],
13
+ * })
14
+ * export class AppModule {}
15
+ * ```
8
16
  */
17
+ import { type DynamicModule, type OnModuleDestroy, type Type, type ForwardReference, type InjectionToken } from '@nestjs/common';
18
+ import { CoreFeatureFlagModuleConfig } from '@plyaz/types/core';
9
19
  /**
10
20
  * Feature Flag Module
11
21
  *
12
22
  * Provides feature flag functionality as a NestJS module.
13
- * Can be imported by other modules to access feature flag services.
23
+ * Uses the domain FeatureFlagService directly - no NestJS wrapper needed.
14
24
  *
15
25
  * @example
16
26
  * ```typescript
17
27
  * // In your app.module.ts
18
- * import { FeatureFlagModule } from '@plyaz/config/backend/featureFlags';
19
- *
20
28
  * @Module({
21
- * imports: [FeatureFlagModule],
22
- * // ... other module configuration
29
+ * imports: [
30
+ * FeatureFlagModule.forRoot({ provider: 'database' })
31
+ * ],
23
32
  * })
24
33
  * export class AppModule {}
25
34
  * ```
26
35
  *
27
36
  * @example
28
37
  * ```typescript
29
- * // In your service
30
- * import { FeatureFlagService } from '@plyaz/config/backend/featureFlags';
31
- *
38
+ * // In your service - inject the domain service
32
39
  * @Injectable()
33
40
  * export class MyService {
34
- * constructor(private readonly featureFlagService: FeatureFlagService) {}
41
+ * constructor(
42
+ * @Inject(FEATURE_FLAG_SERVICE)
43
+ * private readonly featureFlagService: FeatureFlagService<FeatureFlagKey>
44
+ * ) {}
35
45
  *
36
46
  * async doSomething() {
37
47
  * const isEnabled = await this.featureFlagService.isEnabled('MY_FEATURE');
38
- * if (isEnabled) {
39
- * // Execute new feature logic
40
- * }
41
48
  * }
42
49
  * }
43
50
  * ```
44
51
  */
45
- export declare class FeatureFlagModule {
52
+ export declare class FeatureFlagModule implements OnModuleDestroy {
53
+ private static serviceInstance;
54
+ onModuleDestroy(): void;
46
55
  /**
47
- * Static method for importing the module with configuration.
48
- * This allows customization of the feature flag system.
56
+ * Creates the module with configuration.
49
57
  *
50
58
  * @param options - Module configuration options
51
- * @returns Configured module
59
+ * @returns Configured dynamic module
52
60
  *
53
61
  * @example
54
62
  * ```typescript
@@ -56,7 +64,7 @@ export declare class FeatureFlagModule {
56
64
  * imports: [
57
65
  * FeatureFlagModule.forRoot({
58
66
  * provider: 'database',
59
- * isCacheEnabled: true,
67
+ * cacheEnabled: true,
60
68
  * cacheTtl: 600,
61
69
  * })
62
70
  * ],
@@ -64,23 +72,13 @@ export declare class FeatureFlagModule {
64
72
  * export class AppModule {}
65
73
  * ```
66
74
  */
67
- static forRoot(options?: {
68
- provider?: 'memory' | 'database' | 'redis' | 'api' | 'file';
69
- isCacheEnabled?: boolean;
70
- cacheTtl?: number;
71
- refreshInterval?: number;
72
- isLoggingEnabled?: boolean;
73
- }): {
74
- module: typeof FeatureFlagModule;
75
- providers: unknown[];
76
- exports: unknown[];
77
- };
75
+ static forRoot(options?: CoreFeatureFlagModuleConfig): DynamicModule;
78
76
  /**
79
- * Static method for importing the module asynchronously.
77
+ * Creates the module with async configuration.
80
78
  * Useful when configuration depends on other services.
81
79
  *
82
80
  * @param options - Async module configuration options
83
- * @returns Configured async module
81
+ * @returns Configured async dynamic module
84
82
  *
85
83
  * @example
86
84
  * ```typescript
@@ -100,14 +98,9 @@ export declare class FeatureFlagModule {
100
98
  * ```
101
99
  */
102
100
  static forRootAsync(options: {
103
- imports?: unknown[];
104
- inject?: unknown[];
105
- useFactory?: (...args: unknown[]) => unknown;
106
- }): {
107
- module: typeof FeatureFlagModule;
108
- imports: unknown[];
109
- providers: unknown[];
110
- exports: unknown[];
111
- };
101
+ imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
102
+ inject?: InjectionToken[];
103
+ useFactory: (...args: unknown[]) => CoreFeatureFlagModuleConfig | Promise<CoreFeatureFlagModuleConfig>;
104
+ }): DynamicModule;
112
105
  }
113
106
  //# sourceMappingURL=feature-flag.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag.module.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/feature-flag.module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAMa,iBAAiB;IAC5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACvB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;QAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,GAAG;QACF,MAAM,EAAE,OAAO,iBAAiB,CAAC;QACjC,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB;IAkBD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;QAC3B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;KAC9C,GAAG;QACF,MAAM,EAAE,OAAO,iBAAiB,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB;CAgBF"}
1
+ {"version":3,"file":"feature-flag.module.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/feature-flag.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAIa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAmD;IAEjF,eAAe,IAAI,IAAI;IAOvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,2BAAgC,GAAG,aAAa;IAgBxE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;QAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAC3F,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1B,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;KACzE,GAAG,aAAa;CAkBlB"}
@@ -1,15 +1,29 @@
1
1
  import { CanActivate, ExecutionContext } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
- import { FeatureFlagService } from '../feature-flag.service';
3
+ import type { FeatureFlagKey } from '@domain/types';
4
+ import { FeatureFlagService } from '@domain/featureFlags';
4
5
  /**
5
6
  * Guard that ensures a feature flag is in the expected state
6
7
  * before allowing access to a route handler.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * @Controller('premium')
12
+ * @UseGuards(FeatureFlagGuard)
13
+ * export class PremiumController {
14
+ * @Get()
15
+ * @FeatureEnabled('PREMIUM_FEATURE')
16
+ * getPremiumData() {
17
+ * // Only accessible if PREMIUM_FEATURE is enabled
18
+ * }
19
+ * }
20
+ * ```
7
21
  */
8
22
  export declare class FeatureFlagGuard implements CanActivate {
9
23
  private readonly reflector;
10
24
  private readonly featureFlagService;
11
25
  private readonly logger;
12
- constructor(reflector: Reflector, featureFlagService: FeatureFlagService);
26
+ constructor(reflector: Reflector, featureFlagService: FeatureFlagService<FeatureFlagKey>);
13
27
  canActivate(context: ExecutionContext): Promise<boolean>;
14
28
  /**
15
29
  * Compare expected vs actual values.
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag.guard.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/guards/feature-flag.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAU,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;;GAGG;AACH,qBACa,gBAAiB,YAAW,WAAW;IAIhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAJrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAGzC,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB;IAGnD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B9D;;OAEG;IACH,OAAO,CAAC,OAAO;CAUhB"}
1
+ {"version":3,"file":"feature-flag.guard.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/guards/feature-flag.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAAU,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAwB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGhF;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,gBAAiB,YAAW,WAAW;IAOhD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IARrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;gBAGgB,SAAS,EAAE,SAAS,EAEpB,kBAAkB,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAGnE,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+B9D;;OAEG;IACH,OAAO,CAAC,OAAO;CAUhB"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Feature Flag Backend - Main Exports
2
+ * Feature Flag Backend - NestJS Exports
3
3
  *
4
- * NestJS backend exports for feature flag functionality.
5
- * Provides controllers, services, repositories, and module for easy integration.
4
+ * NestJS module with controller, guards, decorators, and interceptors.
5
+ * Uses shared service factory from domain.
6
6
  *
7
7
  * @fileoverview Backend feature flags exports
8
8
  */
9
+ export { FeatureFlagDomainService } from './FeatureFlagDomainService';
9
10
  export { FeatureFlagModule } from './feature-flag.module';
10
- export { FeatureFlagService } from './feature-flag.service';
11
- export { FeatureFlagRepository } from './feature-flag.repository';
12
11
  export { FeatureFlagController } from './feature-flag.controller';
12
+ export { FeatureFlagService, FeatureFlagServiceFactory } from '@domain/featureFlags';
13
13
  export { FeatureDisabled } from './decorators/feature-disabled.decorator';
14
14
  export { FeatureEnabled } from './decorators/feature-enabled.decorator';
15
15
  export { FeatureFlagGuard } from './guards/feature-flag.guard';
@@ -18,6 +18,5 @@ export { FeatureFlagLoggingInterceptor } from './interceptors/feature-flag-loggi
18
18
  export { ErrorHandlingInterceptor } from './interceptors/error-handling-interceptor';
19
19
  export { FeatureFlagConfigFactory } from './config/feature-flag.config';
20
20
  export { FeatureFlagConfigValidator } from './config/validation';
21
- export { DatabaseConnectionManager } from './database/connection';
22
- export { FeatureFlagDatabaseRepository } from './database/repository';
21
+ export { FeatureFlagDatabaseRepository } from '@models/featureFlags';
23
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backend/featureFlags/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-handling-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/interceptors/error-handling-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAIpG,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC;;;;;;;;GAQG;AACH,qBACa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CAwB7E"}
1
+ {"version":3,"file":"error-handling-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/interceptors/error-handling-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK5F,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC;;;;;;;;GAQG;AACH,qBACa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAEH,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CAwB7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag-logging-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/interceptors/feature-flag-logging-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAU,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAO,MAAM,MAAM,CAAC;AAEvC;;;;;;;;;GASG;AAEH,qBACa,6BAA8B,YAAW,eAAe;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IAEzE,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;IA0B5E,OAAO,CAAC,iBAAiB;CAI1B"}
1
+ {"version":3,"file":"feature-flag-logging-interceptor.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/interceptors/feature-flag-logging-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAO,MAAM,MAAM,CAAC;AAEvC;;;;;;;;;GASG;AAEH,qBACa,6BAA8B,YAAW,eAAe;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAEH,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;IA0B5E,OAAO,CAAC,iBAAiB;CAI1B"}
@@ -1,11 +1,7 @@
1
1
  import { NestMiddleware } from '@nestjs/common';
2
- import { FeatureFlagService } from '../feature-flag.service';
3
- type FeatureFlagRequest = {
4
- featureFlags?: Record<string, boolean>;
5
- query?: Record<string, unknown> | URLSearchParams;
6
- headers?: Record<string, string | string[] | undefined>;
7
- url?: string;
8
- };
2
+ import { FeatureFlagService } from '@domain/featureFlags';
3
+ import type { FeatureFlagKey } from '@domain/types';
4
+ import type { CoreFeatureFlagRequest } from '@plyaz/types/core';
9
5
  /**
10
6
  * FeatureFlagMiddleware - Evaluates and attaches feature flags to every request
11
7
  *
@@ -128,14 +124,14 @@ type FeatureFlagRequest = {
128
124
  export declare class FeatureFlagMiddleware implements NestMiddleware {
129
125
  private readonly featureFlagService;
130
126
  private readonly logger;
131
- constructor(featureFlagService: FeatureFlagService);
127
+ constructor(featureFlagService: FeatureFlagService<FeatureFlagKey>);
132
128
  /**
133
129
  * Main middleware execution method
134
130
  *
135
131
  * @description Processes incoming requests to evaluate and attach feature flags.
136
132
  * Handles flag key extraction from multiple sources and graceful error handling.
137
133
  *
138
- * @param {FeatureFlagRequest} req - Express request object with feature flag extensions
134
+ * @param {CoreFeatureFlagRequest} req - Express request object with feature flag extensions
139
135
  * @param {unknown} res - Express response object (not used in this middleware)
140
136
  * @param {Function} next - Next middleware function in the chain
141
137
  *
@@ -161,7 +157,6 @@ export declare class FeatureFlagMiddleware implements NestMiddleware {
161
157
  * next();
162
158
  * ```
163
159
  */
164
- use(req: FeatureFlagRequest, res: unknown, next: (...args: unknown[]) => void): Promise<void>;
160
+ use(req: CoreFeatureFlagRequest, res: unknown, next: (...args: unknown[]) => void): Promise<void>;
165
161
  }
166
- export {};
167
162
  //# sourceMappingURL=feature-flag-middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flag-middleware.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/middleware/feature-flag-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAU,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,KAAK,kBAAkB,GAAG;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;AACH,qBACa,qBAAsB,YAAW,cAAc;IAG9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAF/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAEpC,kBAAkB,EAAE,kBAAkB;IAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IAEG,GAAG,CACP,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC;CAoCjB"}
1
+ {"version":3,"file":"feature-flag-middleware.d.ts","sourceRoot":"","sources":["../../../../src/backend/featureFlags/middleware/feature-flag-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAU,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAwB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAShE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;AACH,qBACa,qBAAsB,YAAW,cAAc;IAQxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAPrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;gBAIgB,kBAAkB,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAGzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IAEG,GAAG,CACP,GAAG,EAAE,sBAAsB,EAC3B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC,IAAI,CAAC;CAoCjB"}
@@ -1,5 +1,10 @@
1
1
  /**
2
2
  * Backend Layer Exports
3
+ *
4
+ * NestJS-specific implementations.
5
+ * For framework-agnostic modules, use domain exports:
6
+ * - import { FeatureFlagModule } from '@plyaz/core/domain/featureFlags';
3
7
  */
8
+ export * from './example';
4
9
  export * from './featureFlags';
5
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Cache Key Builder Utility
3
+ *
4
+ * Provides standardized methods for building cache keys with consistent patterns.
5
+ * All keys are designed to be prefixed by the service (handled by service layer).
6
+ *
7
+ * Key pattern: {prefix}:{type}:{identifier}:{params}
8
+ * Example: "example:entity:123" or "user:list:page:1"
9
+ *
10
+ * @fileoverview Cache key building utilities
11
+ */
12
+ /**
13
+ * Cache key builder for standardized cache key generation.
14
+ *
15
+ * All methods return un-prefixed keys that should be prefixed by the service layer.
16
+ * This allows each service to namespace their cache keys.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // In a service with cachePrefix = 'user'
21
+ * const key = CacheKeyBuilder.entity('123');
22
+ * // Returns: "entity:123"
23
+ * // After service prefixing: "user:entity:123"
24
+ * ```
25
+ */
26
+ export declare class CacheKeyBuilder {
27
+ /**
28
+ * Build cache key for a single entity by ID
29
+ *
30
+ * @param id - Entity ID
31
+ * @returns Cache key (unprefixed)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * CacheKeyBuilder.entity('123')
36
+ * // Returns: "entity:123"
37
+ * // With prefix "user": "user:entity:123"
38
+ * ```
39
+ */
40
+ static entity(id: string): string;
41
+ /**
42
+ * Build cache key for a list/collection query
43
+ *
44
+ * @param params - Query parameters (page, limit, filters, etc.)
45
+ * @returns Cache key (unprefixed)
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * CacheKeyBuilder.list({ page: 1, limit: 10 })
50
+ * // Returns: "list:limit:10:page:1"
51
+ * // With prefix: "user:list:limit:10:page:1"
52
+ *
53
+ * CacheKeyBuilder.list() // No params
54
+ * // Returns: "list:all"
55
+ * ```
56
+ */
57
+ static list(params?: Record<string, unknown>): string;
58
+ /**
59
+ * Build cache key for a named query/filter
60
+ *
61
+ * @param queryName - Name of the query (e.g., 'active', 'byStatus', 'search')
62
+ * @param params - Query parameters
63
+ * @returns Cache key (unprefixed)
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * CacheKeyBuilder.query('active', { status: 'published' })
68
+ * // Returns: "query:active:status:\"published\""
69
+ *
70
+ * CacheKeyBuilder.query('search', { q: 'hello', limit: 10 })
71
+ * // Returns: "query:search:limit:10:q:\"hello\""
72
+ * ```
73
+ */
74
+ static query(queryName: string, params?: Record<string, unknown>): string;
75
+ /**
76
+ * Build cache key for aggregate/count operations
77
+ *
78
+ * @param operation - Operation name (e.g., 'count', 'sum', 'avg')
79
+ * @param field - Field name (optional)
80
+ * @param params - Additional parameters (optional)
81
+ * @returns Cache key (unprefixed)
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * CacheKeyBuilder.aggregate('count')
86
+ * // Returns: "aggregate:count"
87
+ *
88
+ * CacheKeyBuilder.aggregate('sum', 'amount')
89
+ * // Returns: "aggregate:sum:amount"
90
+ *
91
+ * CacheKeyBuilder.aggregate('count', 'users', { status: 'active' })
92
+ * // Returns: "aggregate:count:users:status:\"active\""
93
+ * ```
94
+ */
95
+ static aggregate(operation: string, field?: string, params?: Record<string, unknown>): string;
96
+ /**
97
+ * Build a custom cache key with type and identifier
98
+ *
99
+ * @param type - Cache key type
100
+ * @param identifier - Unique identifier for this cache entry
101
+ * @param params - Additional parameters (optional)
102
+ * @returns Cache key (unprefixed)
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * CacheKeyBuilder.custom('session', 'abc123')
107
+ * // Returns: "session:abc123"
108
+ *
109
+ * CacheKeyBuilder.custom('report', 'monthly', { year: 2025, month: 1 })
110
+ * // Returns: "report:monthly:month:1:year:2025"
111
+ * ```
112
+ */
113
+ static custom(type: string, identifier: string, params?: Record<string, unknown>): string;
114
+ }
115
+ //# sourceMappingURL=CacheKeyBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheKeyBuilder.d.ts","sourceRoot":"","sources":["../../../src/base/cache/CacheKeyBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAIjC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAWrD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAUzE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAY7F;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAS1F"}
@@ -96,4 +96,5 @@ export declare class CacheManager {
96
96
  dispose(): Promise<void>;
97
97
  }
98
98
  export * from './feature/caching';
99
+ export { CacheKeyBuilder } from './CacheKeyBuilder';
99
100
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAiB,WAAW,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE9F;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,MAAM;IAP1B,OAAO,CAAC,QAAQ,CAAgB;IAEhC;;;;OAIG;gBACiB,MAAM,EAAE,WAAW;IAIvC;;;;;;;;OAQG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe5C;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAexC;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAiB,WAAW,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE9F;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,MAAM;IAP1B,OAAO,CAAC,QAAQ,CAAgB;IAEhC;;;;OAIG;gBACiB,MAAM,EAAE,WAAW;IAIvC;;;;;;;;OAQG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAahE;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe5C;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAexC;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiBtB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../src/base/cache/strategies/redis.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG5F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAgB1C,OAAO,CAAC,MAAM;IAf1B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;OAIG;gBACiB,MAAM,EAAE,gBAAgB;IAO5C;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAuBxD;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAqBrC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;;;;OAKG;YACW,eAAe;IAc7B;;;;;OAKG;YACW,mBAAmB;IA4BjC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAGtB"}
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../../src/base/cache/strategies/redis.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAK5F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IAgB1C,OAAO,CAAC,MAAM;IAf1B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;;OAIG;gBACiB,MAAM,EAAE,gBAAgB;IAO5C;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAuBxD;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAqBrC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;;;;OAKG;YACW,eAAe;IAc7B;;;;;OAKG;YACW,mBAAmB;IA4BjC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAGtB"}