@plyaz/core 1.1.1 → 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 (243) 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 +89 -0
  16. package/dist/backend/featureFlags/config/feature-flag.config.d.ts.map +1 -0
  17. package/dist/backend/featureFlags/config/validation.d.ts +181 -0
  18. package/dist/backend/featureFlags/config/validation.d.ts.map +1 -0
  19. package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts +6 -0
  20. package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts.map +1 -0
  21. package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts +8 -0
  22. package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts.map +1 -0
  23. package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts +11 -0
  24. package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts.map +1 -0
  25. package/dist/backend/featureFlags/feature-flag.controller.d.ts +14 -56
  26. package/dist/backend/featureFlags/feature-flag.controller.d.ts.map +1 -1
  27. package/dist/backend/featureFlags/feature-flag.module.d.ts +36 -44
  28. package/dist/backend/featureFlags/feature-flag.module.d.ts.map +1 -1
  29. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts +33 -0
  30. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts.map +1 -0
  31. package/dist/backend/featureFlags/index.d.ts +14 -41
  32. package/dist/backend/featureFlags/index.d.ts.map +1 -1
  33. package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts +16 -0
  34. package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts.map +1 -0
  35. package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts +18 -0
  36. package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts.map +1 -0
  37. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts +162 -0
  38. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts.map +1 -0
  39. package/dist/backend/index.d.ts +5 -0
  40. package/dist/backend/index.d.ts.map +1 -1
  41. package/dist/base/cache/CacheKeyBuilder.d.ts +115 -0
  42. package/dist/base/cache/CacheKeyBuilder.d.ts.map +1 -0
  43. package/dist/base/cache/feature/caching.d.ts +16 -0
  44. package/dist/base/cache/feature/caching.d.ts.map +1 -0
  45. package/dist/base/cache/index.d.ts +2 -0
  46. package/dist/base/cache/index.d.ts.map +1 -1
  47. package/dist/base/cache/strategies/redis.d.ts.map +1 -1
  48. package/dist/base/observability/BaseAdapter.d.ts +79 -0
  49. package/dist/base/observability/BaseAdapter.d.ts.map +1 -0
  50. package/dist/base/observability/CompositeAdapter.d.ts +72 -0
  51. package/dist/base/observability/CompositeAdapter.d.ts.map +1 -0
  52. package/dist/base/observability/DatadogAdapter.d.ts +117 -0
  53. package/dist/base/observability/DatadogAdapter.d.ts.map +1 -0
  54. package/dist/base/observability/LoggerAdapter.d.ts +54 -0
  55. package/dist/base/observability/LoggerAdapter.d.ts.map +1 -0
  56. package/dist/base/observability/ObservabilityService.d.ts +160 -0
  57. package/dist/base/observability/ObservabilityService.d.ts.map +1 -0
  58. package/dist/base/observability/index.d.ts +17 -0
  59. package/dist/base/observability/index.d.ts.map +1 -0
  60. package/dist/domain/base/BaseBackendDomainService.d.ts +528 -0
  61. package/dist/domain/base/BaseBackendDomainService.d.ts.map +1 -0
  62. package/dist/domain/base/BaseDomainService.d.ts +284 -0
  63. package/dist/domain/base/BaseDomainService.d.ts.map +1 -0
  64. package/dist/domain/base/BaseFrontendDomainService.d.ts +493 -0
  65. package/dist/domain/base/BaseFrontendDomainService.d.ts.map +1 -0
  66. package/dist/domain/base/BaseMapper.d.ts +100 -0
  67. package/dist/domain/base/BaseMapper.d.ts.map +1 -0
  68. package/dist/domain/base/BaseValidator.d.ts +105 -0
  69. package/dist/domain/base/BaseValidator.d.ts.map +1 -0
  70. package/dist/domain/base/index.d.ts +10 -0
  71. package/dist/domain/base/index.d.ts.map +1 -0
  72. package/dist/domain/example/BackendExampleDomainService.d.ts +257 -0
  73. package/dist/domain/example/BackendExampleDomainService.d.ts.map +1 -0
  74. package/dist/domain/example/FrontendExampleDomainService.d.ts +164 -0
  75. package/dist/domain/example/FrontendExampleDomainService.d.ts.map +1 -0
  76. package/dist/domain/example/index.d.ts +10 -0
  77. package/dist/domain/example/index.d.ts.map +1 -0
  78. package/dist/domain/example/mappers/ExampleMapper.d.ts +67 -0
  79. package/dist/domain/example/mappers/ExampleMapper.d.ts.map +1 -0
  80. package/dist/domain/example/validators/ExampleValidator.d.ts +33 -0
  81. package/dist/domain/example/validators/ExampleValidator.d.ts.map +1 -0
  82. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts +86 -0
  83. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts.map +1 -0
  84. package/dist/domain/featureFlags/index.d.ts +10 -5
  85. package/dist/domain/featureFlags/index.d.ts.map +1 -1
  86. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts +72 -0
  87. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts.map +1 -0
  88. package/dist/domain/featureFlags/mappers/index.d.ts +8 -0
  89. package/dist/domain/featureFlags/mappers/index.d.ts.map +1 -0
  90. package/dist/domain/featureFlags/module.d.ts +20 -0
  91. package/dist/domain/featureFlags/module.d.ts.map +1 -0
  92. package/dist/domain/featureFlags/provider.d.ts +40 -1
  93. package/dist/domain/featureFlags/provider.d.ts.map +1 -1
  94. package/dist/domain/featureFlags/providers/api.d.ts +59 -34
  95. package/dist/domain/featureFlags/providers/api.d.ts.map +1 -1
  96. package/dist/domain/featureFlags/providers/database.d.ts +59 -52
  97. package/dist/domain/featureFlags/providers/database.d.ts.map +1 -1
  98. package/dist/domain/featureFlags/providers/factory.d.ts +50 -33
  99. package/dist/domain/featureFlags/providers/factory.d.ts.map +1 -1
  100. package/dist/domain/featureFlags/providers/file.d.ts +48 -1
  101. package/dist/domain/featureFlags/providers/file.d.ts.map +1 -1
  102. package/dist/domain/featureFlags/providers/memory.d.ts +32 -6
  103. package/dist/domain/featureFlags/providers/memory.d.ts.map +1 -1
  104. package/dist/domain/featureFlags/providers/redis.d.ts +6 -1
  105. package/dist/domain/featureFlags/providers/redis.d.ts.map +1 -1
  106. package/dist/domain/featureFlags/service.d.ts +112 -0
  107. package/dist/domain/featureFlags/service.d.ts.map +1 -0
  108. package/dist/domain/index.d.ts +2 -0
  109. package/dist/domain/index.d.ts.map +1 -1
  110. package/dist/engine/featureFlags/engine.d.ts +8 -0
  111. package/dist/engine/featureFlags/engine.d.ts.map +1 -1
  112. package/dist/entry-backend.d.ts +24 -0
  113. package/dist/entry-backend.d.ts.map +1 -0
  114. package/dist/entry-backend.js +15635 -0
  115. package/dist/entry-backend.js.map +1 -0
  116. package/dist/entry-backend.mjs +15506 -0
  117. package/dist/entry-backend.mjs.map +1 -0
  118. package/dist/entry-frontend.d.ts +23 -0
  119. package/dist/entry-frontend.d.ts.map +1 -0
  120. package/dist/entry-frontend.js +11152 -0
  121. package/dist/entry-frontend.js.map +1 -0
  122. package/dist/entry-frontend.mjs +11089 -0
  123. package/dist/entry-frontend.mjs.map +1 -0
  124. package/dist/events/CoreEventManager.d.ts +116 -0
  125. package/dist/events/CoreEventManager.d.ts.map +1 -0
  126. package/dist/events/index.d.ts +27 -0
  127. package/dist/events/index.d.ts.map +1 -0
  128. package/dist/frontend/base/index.d.ts +8 -0
  129. package/dist/frontend/base/index.d.ts.map +1 -0
  130. package/dist/frontend/components/InitializationError.d.ts +25 -0
  131. package/dist/frontend/components/InitializationError.d.ts.map +1 -0
  132. package/dist/frontend/components/InitializationLoading.d.ts +22 -0
  133. package/dist/frontend/components/InitializationLoading.d.ts.map +1 -0
  134. package/dist/frontend/components/index.d.ts +9 -0
  135. package/dist/frontend/components/index.d.ts.map +1 -0
  136. package/dist/frontend/example/index.d.ts +9 -0
  137. package/dist/frontend/example/index.d.ts.map +1 -0
  138. package/dist/frontend/featureFlags/index.d.ts +28 -7
  139. package/dist/frontend/featureFlags/index.d.ts.map +1 -1
  140. package/dist/frontend/index.d.ts +5 -0
  141. package/dist/frontend/index.d.ts.map +1 -1
  142. package/dist/frontend/providers/ApiProvider.d.ts +41 -0
  143. package/dist/frontend/providers/ApiProvider.d.ts.map +1 -0
  144. package/dist/frontend/providers/PlyazProvider.d.ts +305 -0
  145. package/dist/frontend/providers/PlyazProvider.d.ts.map +1 -0
  146. package/dist/frontend/providers/index.d.ts +8 -0
  147. package/dist/frontend/providers/index.d.ts.map +1 -0
  148. package/dist/frontend/store/feature-flags.d.ts +63 -0
  149. package/dist/frontend/store/feature-flags.d.ts.map +1 -0
  150. package/dist/frontend/store/index.d.ts +14 -0
  151. package/dist/frontend/store/index.d.ts.map +1 -0
  152. package/dist/frontend/store/integrations.d.ts +36 -0
  153. package/dist/frontend/store/integrations.d.ts.map +1 -0
  154. package/dist/frontend/store/service-accessors.d.ts +78 -0
  155. package/dist/frontend/store/service-accessors.d.ts.map +1 -0
  156. package/dist/index.d.ts +6 -2
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +15450 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/index.mjs +13461 -2440
  161. package/dist/index.mjs.map +1 -1
  162. package/dist/init/CoreInitializer.d.ts +582 -0
  163. package/dist/init/CoreInitializer.d.ts.map +1 -0
  164. package/dist/init/ServiceRegistry.d.ts +256 -0
  165. package/dist/init/ServiceRegistry.d.ts.map +1 -0
  166. package/dist/init/index.d.ts +14 -0
  167. package/dist/init/index.d.ts.map +1 -0
  168. package/dist/init/nestjs/CoreModule.d.ts +63 -0
  169. package/dist/init/nestjs/CoreModule.d.ts.map +1 -0
  170. package/dist/init/nestjs/index.d.ts +5 -0
  171. package/dist/init/nestjs/index.d.ts.map +1 -0
  172. package/dist/init/nestjs/index.js +9059 -0
  173. package/dist/init/nestjs/index.js.map +1 -0
  174. package/dist/init/nestjs/index.mjs +9055 -0
  175. package/dist/init/nestjs/index.mjs.map +1 -0
  176. package/dist/init/react.d.ts +33 -0
  177. package/dist/init/react.d.ts.map +1 -0
  178. package/dist/models/example/ExampleRepository.d.ts +124 -0
  179. package/dist/models/example/ExampleRepository.d.ts.map +1 -0
  180. package/dist/models/example/index.d.ts +7 -0
  181. package/dist/models/example/index.d.ts.map +1 -0
  182. package/dist/models/featureFlags/FeatureFlagRepository.d.ts +560 -0
  183. package/dist/models/featureFlags/FeatureFlagRepository.d.ts.map +1 -0
  184. package/dist/models/featureFlags/index.d.ts +7 -0
  185. package/dist/models/featureFlags/index.d.ts.map +1 -0
  186. package/dist/models/index.d.ts +9 -0
  187. package/dist/models/index.d.ts.map +1 -0
  188. package/dist/services/ApiClientService.d.ts +178 -0
  189. package/dist/services/ApiClientService.d.ts.map +1 -0
  190. package/dist/services/CacheService.d.ts +176 -0
  191. package/dist/services/CacheService.d.ts.map +1 -0
  192. package/dist/services/DbService.d.ts +391 -0
  193. package/dist/services/DbService.d.ts.map +1 -0
  194. package/dist/services/NotificationService.d.ts +151 -0
  195. package/dist/services/NotificationService.d.ts.map +1 -0
  196. package/dist/services/StorageService.d.ts +144 -0
  197. package/dist/services/StorageService.d.ts.map +1 -0
  198. package/dist/services/index.d.ts +12 -0
  199. package/dist/services/index.d.ts.map +1 -0
  200. package/dist/utils/common/id.d.ts +83 -0
  201. package/dist/utils/common/id.d.ts.map +1 -0
  202. package/dist/utils/common/index.d.ts +3 -1
  203. package/dist/utils/common/index.d.ts.map +1 -1
  204. package/dist/utils/common/object.d.ts +70 -0
  205. package/dist/utils/common/object.d.ts.map +1 -0
  206. package/dist/utils/common/validation.d.ts +20 -0
  207. package/dist/utils/common/validation.d.ts.map +1 -0
  208. package/dist/utils/featureFlags/conditions.d.ts.map +1 -1
  209. package/dist/utils/featureFlags/context.d.ts +0 -1
  210. package/dist/utils/featureFlags/context.d.ts.map +1 -1
  211. package/dist/utils/index.d.ts +1 -0
  212. package/dist/utils/index.d.ts.map +1 -1
  213. package/dist/utils/mapperUtils.d.ts +38 -0
  214. package/dist/utils/mapperUtils.d.ts.map +1 -0
  215. package/dist/utils/runtime.d.ts +15 -0
  216. package/dist/utils/runtime.d.ts.map +1 -0
  217. package/dist/version.d.ts +24 -0
  218. package/dist/version.d.ts.map +1 -0
  219. package/dist/web_app/auth/add_user.d.ts +3 -0
  220. package/dist/web_app/auth/add_user.d.ts.map +1 -0
  221. package/dist/web_app/auth/update_user.d.ts +2 -0
  222. package/dist/web_app/auth/update_user.d.ts.map +1 -0
  223. package/package.json +102 -15
  224. package/dist/backend/featureFlags/feature-flag.repository.d.ts +0 -85
  225. package/dist/backend/featureFlags/feature-flag.repository.d.ts.map +0 -1
  226. package/dist/backend/featureFlags/feature-flag.service.d.ts +0 -123
  227. package/dist/backend/featureFlags/feature-flag.service.d.ts.map +0 -1
  228. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts +0 -103
  229. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts.map +0 -1
  230. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts +0 -35
  231. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts.map +0 -1
  232. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts +0 -55
  233. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts.map +0 -1
  234. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts +0 -57
  235. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts.map +0 -1
  236. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts +0 -99
  237. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts.map +0 -1
  238. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts +0 -31
  239. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts.map +0 -1
  240. package/dist/frontend/featureFlags/providers/types.d.ts +0 -21
  241. package/dist/frontend/featureFlags/providers/types.d.ts.map +0 -1
  242. package/dist/index.cjs +0 -4383
  243. package/dist/index.cjs.map +0 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Frontend Providers
3
+ *
4
+ * @module frontend/providers
5
+ */
6
+ export * from './ApiProvider';
7
+ export * from './PlyazProvider';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frontend/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Feature Flag Store Integration
3
+ *
4
+ * Utilities for integrating feature flags with Zustand stores.
5
+ * Implements the "pull" pattern where stores fetch from services.
6
+ */
7
+ import type { FeatureFlagValue, FeatureFlagContext } from '@plyaz/types/features';
8
+ export type { CoreFeatureFlagServiceLike, CoreFeatureFlagFetcherOptions, CoreFeatureFlagStoreInitConfig, } from '@plyaz/types/core';
9
+ import type { CoreFeatureFlagFetcherOptions, CoreFeatureFlagStoreInitConfig } from '@plyaz/types/core';
10
+ /**
11
+ * Create a fetchFn for feature flag store that uses ServiceRegistry.
12
+ *
13
+ * This bridges the ServiceRegistry with the store's callback-based pattern.
14
+ * Use this for polling or manual refresh scenarios.
15
+ *
16
+ * @param options - Fetcher options
17
+ * @returns A function compatible with store initialization
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Basic usage
22
+ * const fetchFn = createFeatureFlagFetcher();
23
+ *
24
+ * // With context
25
+ * const fetchFn = createFeatureFlagFetcher({
26
+ * context: { userId: currentUser.id },
27
+ * });
28
+ *
29
+ * // Use in store initializer
30
+ * useFeatureFlagInitializer({ fetchFn });
31
+ * ```
32
+ */
33
+ export declare function createFeatureFlagFetcher(options?: CoreFeatureFlagFetcherOptions): () => Promise<Record<string, FeatureFlagValue>>;
34
+ /**
35
+ * Create full store initialization config with ServiceRegistry integration.
36
+ *
37
+ * @param options - Configuration options
38
+ * @returns Config object for store initialization
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const storeConfig = createFeatureFlagStoreConfig({
43
+ * context: { userId: user.id },
44
+ * defaults: { 'MY_FLAG': false },
45
+ * polling: { enabled: true, interval: 30000 },
46
+ * onFlagChange: (key, prev, next) => console.log(`${key}: ${prev} → ${next}`),
47
+ * });
48
+ *
49
+ * useFeatureFlagInitializer(storeConfig);
50
+ * ```
51
+ */
52
+ export declare function createFeatureFlagStoreConfig(options: {
53
+ serviceKey?: string;
54
+ context?: FeatureFlagContext;
55
+ defaults?: Record<string, FeatureFlagValue>;
56
+ polling?: {
57
+ enabled?: boolean;
58
+ interval?: number;
59
+ };
60
+ onFlagChange?: (key: string, prevValue: FeatureFlagValue | undefined, newValue: FeatureFlagValue) => void;
61
+ onError?: (error: unknown) => void;
62
+ }): CoreFeatureFlagStoreInitConfig;
63
+ //# sourceMappingURL=feature-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/frontend/store/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGlF,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAEV,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,mBAAmB,CAAC;AAM3B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,6BAAkC,GAC1C,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAmBjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,CAAC,EAAE,CACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,QAAQ,EAAE,gBAAgB,KACvB,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,GAAG,8BAA8B,CAUjC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Frontend Store Integration
3
+ *
4
+ * Utilities for integrating ServiceRegistry with @plyaz/store.
5
+ * These are frontend-only utilities - for backend, use NestJS modules or
6
+ * direct service instantiation.
7
+ *
8
+ * Note: Error store and middleware are in @plyaz/store and @plyaz/errors:
9
+ * - Error slice: import { useErrorStore } from '@plyaz/store'
10
+ * - Error middleware: import { createErrorStoreMiddleware } from '@plyaz/errors/middleware'
11
+ */
12
+ export { createFeatureFlagFetcher, createFeatureFlagStoreConfig, createServiceAccessor, createServiceAccessors, withServices, } from './integrations';
13
+ export type { CoreFeatureFlagFetcherOptions, CoreFeatureFlagServiceLike, CoreFeatureFlagStoreInitConfig, } from './integrations';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frontend/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Store Integration Utilities (Frontend Only)
3
+ *
4
+ * Re-exports all store integration utilities:
5
+ * - Generic service accessors (work with any service)
6
+ * - Feature flag specific utilities (pull pattern for polling/refresh)
7
+ *
8
+ * ## Integration Patterns
9
+ *
10
+ * ### Automatic Store Sync (Primary/Read Pattern)
11
+ * Services automatically sync to their primary store via ServiceRegistry injection.
12
+ * Stores are injected based on `primaryStoreKey` and `readStoreKeys` properties.
13
+ *
14
+ * ```typescript
15
+ * // Service automatically has stores injected
16
+ * const service = await ServiceRegistry.getAsync('featureFlags');
17
+ * await service.fetchAll(); // Automatically syncs to primary store
18
+ * ```
19
+ *
20
+ * ### Pull Pattern (Fetcher for Hooks)
21
+ * Store hooks can pull data from service via callbacks for polling/manual refresh.
22
+ * Use `createFeatureFlagFetcher()` for custom fetch logic.
23
+ *
24
+ * ```typescript
25
+ * useFeatureFlagInitializer({
26
+ * fetchFn: createFeatureFlagFetcher({ context: { userId } }),
27
+ * polling: { enabled: true, interval: 30000 },
28
+ * });
29
+ * ```
30
+ *
31
+ * See docs/guides/10-STORE-PATTERN.md for complete store pattern guide.
32
+ */
33
+ export { createServiceAccessor, createServiceAccessors, withServices } from './service-accessors';
34
+ export { createFeatureFlagFetcher, createFeatureFlagStoreConfig } from './feature-flags';
35
+ export type { CoreFeatureFlagFetcherOptions, CoreFeatureFlagServiceLike, CoreFeatureFlagStoreInitConfig, } from './feature-flags';
36
+ //# sourceMappingURL=integrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../../src/frontend/store/integrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAEzF,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Service Accessors (Generic)
3
+ *
4
+ * Generic utilities for accessing services from stores.
5
+ * These work with any domain service, not just feature flags.
6
+ */
7
+ import type { CoreDomainServiceInstance } from '@plyaz/types/core';
8
+ /**
9
+ * Create a service accessor function for use in stores.
10
+ *
11
+ * @param serviceKey - Key of the service in the registry
12
+ * @returns Async function that returns the service instance
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const getExampleService = createServiceAccessor<ExampleDomainService>('example');
17
+ *
18
+ * const myStoreSlice = {
19
+ * async createEntity(data) {
20
+ * const service = await getExampleService();
21
+ * return service.create(data);
22
+ * },
23
+ * };
24
+ * ```
25
+ */
26
+ export declare function createServiceAccessor<T extends CoreDomainServiceInstance>(serviceKey: string): () => Promise<T>;
27
+ /**
28
+ * Create multiple service accessors at once.
29
+ *
30
+ * @param keys - Object mapping accessor names to service keys
31
+ * @returns Object with accessor functions
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const services = createServiceAccessors({
36
+ * flags: 'featureFlags',
37
+ * examples: 'example',
38
+ * users: 'users',
39
+ * });
40
+ *
41
+ * const flags = await services.flags();
42
+ * const example = await services.examples();
43
+ * ```
44
+ */
45
+ export declare function createServiceAccessors<T extends Record<string, string>>(keys: T): {
46
+ [K in keyof T]: () => Promise<CoreDomainServiceInstance>;
47
+ };
48
+ /**
49
+ * Create a Zustand middleware that injects services into store actions.
50
+ *
51
+ * @param serviceKeys - Service keys to inject
52
+ * @returns Zustand middleware function
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * import { create } from 'zustand';
57
+ * import { withServices } from '@plyaz/core/frontend';
58
+ *
59
+ * interface MyStore {
60
+ * items: Item[];
61
+ * services: { example: ExampleDomainService };
62
+ * fetchItems: () => Promise<void>;
63
+ * }
64
+ *
65
+ * const useMyStore = create<MyStore>(
66
+ * withServices(['example'], (set, get, services) => ({
67
+ * items: [],
68
+ * services,
69
+ * fetchItems: async () => {
70
+ * const items = await services.example.getAll();
71
+ * set({ items });
72
+ * },
73
+ * }))
74
+ * );
75
+ * ```
76
+ */
77
+ export declare function withServices<TServices extends Record<string, CoreDomainServiceInstance>>(serviceKeys: string[], createStore: (set: (partial: unknown) => void, get: () => unknown, services: TServices) => unknown): (set: (partial: unknown) => void, get: () => unknown) => unknown;
78
+ //# sourceMappingURL=service-accessors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-accessors.d.ts","sourceRoot":"","sources":["../../../src/frontend/store/service-accessors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAOnE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,EACvE,UAAU,EAAE,MAAM,GACjB,MAAM,OAAO,CAAC,CAAC,CAAC,CAElB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrE,IAAI,EAAE,CAAC,GACN;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC;CAAE,CAQ9D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACtF,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,EAAE,QAAQ,EAAE,SAAS,KAAK,OAAO,GACjG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,KAAK,OAAO,CAclE"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,11 @@
1
+ import '@plyaz/types/globals';
1
2
  export * from './domain';
2
3
  export * from './engine';
3
4
  export * from './base';
4
- export * from './backend';
5
- export * from './frontend';
6
5
  export * from './utils';
6
+ export * from './services';
7
+ export * from './init';
8
+ export * from './version';
9
+ export * as CoreBackend from './backend';
10
+ export * as CoreFrontend from './frontend';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AAE9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAG1B,OAAO,KAAK,WAAW,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC"}