@plyaz/core 1.8.0 → 1.8.2

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.
@@ -121,7 +121,12 @@ export declare abstract class BaseFrontendDomainService<TConfig extends CoreBase
121
121
  /** Primary store - the main store this service can mutate */
122
122
  private _primaryStore;
123
123
  /**
124
- * Primary store key - override in subclass to set default
124
+ * Primary store key - resolved from (in order of precedence):
125
+ * 1. serviceConfig.store (explicit config)
126
+ * 2. Static defaultStoreKey on class
127
+ * 3. undefined (no store integration)
128
+ *
129
+ * Override in subclass or set via config.
125
130
  * @example protected primaryStoreKey = STORE_KEYS.EXAMPLE;
126
131
  */
127
132
  protected primaryStoreKey?: string;
@@ -142,6 +147,29 @@ export declare abstract class BaseFrontendDomainService<TConfig extends CoreBase
142
147
  /** Maximum rollback stack size */
143
148
  private readonly _maxRollbackStackSize;
144
149
  constructor(config: CoreBaseFrontendServiceConstructorConfig<TConfig, TStore, TData, TMapper, TValidator>);
150
+ /**
151
+ * Auto-resolve apiClientConfig from serviceConfig.apiBasePath if not explicitly provided.
152
+ * This reduces boilerplate in child services - they only need to set apiBasePath in config.
153
+ *
154
+ * Priority:
155
+ * 1. Explicit apiClientConfig.baseURL (full control)
156
+ * 2. serviceConfig.apiBasePath (auto-constructed, merged with injected options)
157
+ * 3. undefined (no API client)
158
+ *
159
+ * When auto-constructing, merges injected API options (headers, timeout, etc.)
160
+ * with the service's apiBasePath as baseURL.
161
+ */
162
+ protected static resolveApiClientConfig<T extends {
163
+ serviceConfig: {
164
+ apiBasePath?: string;
165
+ };
166
+ apiClientConfig?: {
167
+ baseURL?: string;
168
+ };
169
+ injected?: {
170
+ api?: unknown;
171
+ };
172
+ }>(config: T): T;
145
173
  /**
146
174
  * Get the number of connected stores (primary + read stores).
147
175
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFrontendDomainService.d.ts","sourceRoot":"","sources":["../../../src/domain/base/BaseFrontendDomainService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseFrontendDomainService.d.ts","sourceRoot":"","sources":["../../../src/domain/base/BaseFrontendDomainService.ts"],"names":[],"mappings":"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"}
@@ -72,16 +72,18 @@ export declare class FrontendExampleDomainService extends BaseFrontendDomainServ
72
72
  * Required by BaseFrontendDomainService
73
73
  */
74
74
  protected eventPrefix: string;
75
- /**
76
- * Primary store key - the store this service can mutate
77
- */
78
- protected primaryStoreKey: "example";
79
75
  /**
80
76
  * Read-only store keys - inherits error and featureFlags from base
81
77
  * No need to redeclare them - they're always included by default
82
78
  */
83
79
  private pollingTimer;
84
80
  static readonly serviceKey: "example-frontend";
81
+ /**
82
+ * Primary store key for this service.
83
+ * Used by ServiceRegistry to auto-inject the store if not specified in config.
84
+ * Also used by base class constructor to set instance primaryStoreKey.
85
+ */
86
+ static readonly primaryStoreKey: "example";
85
87
  /**
86
88
  * Factory method for ServiceRegistry auto-initialization.
87
89
  * Creates and initializes the service instance.
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendExampleDomainService.d.ts","sourceRoot":"","sources":["../../../src/domain/example/FrontendExampleDomainService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAc7D,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,IAAI,6BAA6B,EAC7D,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,4BAA6B,SAAQ,yBAAyB,CACzE,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,CAAC,OAAO,kBAAkB,CAAC,EACvC,yBAAyB,EACzB,IAAI,CACL;IAKC;;;OAGG;IACH,SAAS,CAAC,WAAW,SAAa;IAElC;;OAEG;IACH,SAAS,CAAC,eAAe,YAAsB;IAE/C;;;OAGG;IAOH,OAAO,CAAC,YAAY,CAA+C;IAMnE,MAAM,CAAC,QAAQ,CAAC,UAAU,qBAAiC;IAE3D;;;OAGG;WACU,MAAM,CACjB,MAAM,EAAE,6BAA6B,EACrC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,4BAA4B,CAAC;gBAoB5B,MAAM,GAAE,6BAAkC,EAAE,OAAO,CAAC,EAAE,wBAAwB;IA6E1F,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,IAAI;IASf;;;OAGG;cACsB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BhF;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAQjF;;;OAGG;IACH,YAAY,IAAI,IAAI;IAapB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAItE;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAInD;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAIlD;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAkBtD"}
1
+ {"version":3,"file":"FrontendExampleDomainService.d.ts","sourceRoot":"","sources":["../../../src/domain/example/FrontendExampleDomainService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAc7D,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,IAAI,6BAA6B,EAC7D,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAMnE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,4BAA6B,SAAQ,yBAAyB,CACzE,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,CAAC,OAAO,kBAAkB,CAAC,EACvC,yBAAyB,EACzB,IAAI,CACL;IAKC;;;OAGG;IACH,SAAS,CAAC,WAAW,SAAa;IAElC;;;OAGG;IAOH,OAAO,CAAC,YAAY,CAA+C;IAMnE,MAAM,CAAC,QAAQ,CAAC,UAAU,qBAAiC;IAE3D;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,eAAe,YAAsB;IAErD;;;OAGG;WACU,MAAM,CACjB,MAAM,EAAE,6BAA6B,EACrC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,4BAA4B,CAAC;gBAoB5B,MAAM,GAAE,6BAAkC,EAAE,OAAO,CAAC,EAAE,wBAAwB;IA2E1F,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,IAAI;IASf;;;OAGG;cACsB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BhF;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAQjF;;;OAGG;IACH,YAAY,IAAI,IAAI;IAapB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAItE;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAInD;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAIlD;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAkBtD"}
@@ -558,7 +558,7 @@ function getConfigForEnvironment(env) {
558
558
  }
559
559
  }
560
560
  function validateBaseURL(mergedConfig, errors) {
561
- if (!mergedConfig.baseURL) {
561
+ if (mergedConfig.baseURL === void 0 || mergedConfig.baseURL === null) {
562
562
  errors.push("baseURL is required in API configuration (apiConfig parameter)");
563
563
  }
564
564
  }
@@ -2441,10 +2441,16 @@ var init_ServiceRegistry = __esm({
2441
2441
  return initPromise;
2442
2442
  }
2443
2443
  /** Build stores for service injection */
2444
- static buildStoresForService(config) {
2444
+ // eslint-disable-next-line complexity
2445
+ static buildStoresForService(config, entry) {
2445
2446
  const allKeys = /* @__PURE__ */ new Set();
2446
2447
  if (config.store) {
2447
2448
  allKeys.add(config.store);
2449
+ } else if ("primaryStoreKey" in entry.service && typeof entry.service.primaryStoreKey === "string") {
2450
+ allKeys.add(entry.service.primaryStoreKey);
2451
+ _ServiceRegistry.logger.debug(
2452
+ `Auto-resolved store key '${entry.service.primaryStoreKey}' from service class`
2453
+ );
2448
2454
  }
2449
2455
  if (config.readStores) {
2450
2456
  config.readStores.forEach((key) => allKeys.add(key));
@@ -2482,7 +2488,7 @@ var init_ServiceRegistry = __esm({
2482
2488
  const observability = _ServiceRegistry.buildObservabilityConfig(config, entry);
2483
2489
  const storage = await _ServiceRegistry.buildStorageConfig(config, entry);
2484
2490
  const notifications = await _ServiceRegistry.buildNotificationsConfig(config, entry);
2485
- const stores = _ServiceRegistry.buildStoresForService(config);
2491
+ const stores = _ServiceRegistry.buildStoresForService(config, entry);
2486
2492
  let observabilityInstance = observability?.instance;
2487
2493
  if (observability?.dedicated && observability.config) {
2488
2494
  observabilityInstance = await _ServiceRegistry.createDedicatedObservability(
@@ -4489,13 +4495,14 @@ var init_BaseFrontendDomainService = __esm({
4489
4495
  init_BaseDomainService();
4490
4496
  init_CoreEventManager();
4491
4497
  init_CoreInitializer();
4492
- BaseFrontendDomainService = class extends exports.BaseDomainService {
4498
+ BaseFrontendDomainService = class _BaseFrontendDomainService extends exports.BaseDomainService {
4493
4499
  // ─────────────────────────────────────────────────────────────────────────
4494
4500
  // Constructor
4495
4501
  // ─────────────────────────────────────────────────────────────────────────
4496
4502
  // eslint-disable-next-line complexity
4497
4503
  constructor(config) {
4498
- super(config);
4504
+ const resolvedConfig = _BaseFrontendDomainService.resolveApiClientConfig(config);
4505
+ super(resolvedConfig);
4499
4506
  // ─────────────────────────────────────────────────────────────────────────
4500
4507
  // Store Properties
4501
4508
  // ─────────────────────────────────────────────────────────────────────────
@@ -4521,6 +4528,11 @@ var init_BaseFrontendDomainService = __esm({
4521
4528
  const serviceConfig = config.serviceConfig;
4522
4529
  if (serviceConfig.store !== void 0) {
4523
4530
  this.primaryStoreKey = serviceConfig.store;
4531
+ } else {
4532
+ const staticKey = this.constructor.primaryStoreKey;
4533
+ if (staticKey) {
4534
+ this.primaryStoreKey = staticKey;
4535
+ }
4524
4536
  }
4525
4537
  if (serviceConfig.readStores !== void 0) {
4526
4538
  this.readStoreKeys = Array.from(
@@ -4566,6 +4578,36 @@ var init_BaseFrontendDomainService = __esm({
4566
4578
  static {
4567
4579
  __name(this, "BaseFrontendDomainService");
4568
4580
  }
4581
+ /**
4582
+ * Auto-resolve apiClientConfig from serviceConfig.apiBasePath if not explicitly provided.
4583
+ * This reduces boilerplate in child services - they only need to set apiBasePath in config.
4584
+ *
4585
+ * Priority:
4586
+ * 1. Explicit apiClientConfig.baseURL (full control)
4587
+ * 2. serviceConfig.apiBasePath (auto-constructed, merged with injected options)
4588
+ * 3. undefined (no API client)
4589
+ *
4590
+ * When auto-constructing, merges injected API options (headers, timeout, etc.)
4591
+ * with the service's apiBasePath as baseURL.
4592
+ */
4593
+ static resolveApiClientConfig(config) {
4594
+ if (config.apiClientConfig?.baseURL) {
4595
+ return config;
4596
+ }
4597
+ const apiBasePath = config.serviceConfig.apiBasePath;
4598
+ if (apiBasePath) {
4599
+ const injectedOptions = config.injected?.api ? {} : config.apiClientConfig ?? {};
4600
+ return {
4601
+ ...config,
4602
+ apiClientConfig: {
4603
+ ...injectedOptions,
4604
+ baseURL: apiBasePath
4605
+ // Service's apiBasePath always takes precedence
4606
+ }
4607
+ };
4608
+ }
4609
+ return config;
4610
+ }
4569
4611
  // ─────────────────────────────────────────────────────────────────────────
4570
4612
  // Store Management (Public API)
4571
4613
  // ─────────────────────────────────────────────────────────────────────────
@@ -7797,8 +7839,6 @@ var init_FrontendExampleDomainService = __esm({
7797
7839
  super({
7798
7840
  serviceName: "ExampleFrontendService",
7799
7841
  supportedRuntimes: ["frontend"],
7800
- // API client config - uses injected options or creates from apiBasePath
7801
- apiClientConfig: options?.apiClient?.options ?? { baseURL: apiBasePath },
7802
7842
  serviceConfig: {
7803
7843
  enabled: true,
7804
7844
  apiBasePath,
@@ -7862,10 +7902,6 @@ var init_FrontendExampleDomainService = __esm({
7862
7902
  * Required by BaseFrontendDomainService
7863
7903
  */
7864
7904
  this.eventPrefix = "example";
7865
- /**
7866
- * Primary store key - the store this service can mutate
7867
- */
7868
- this.primaryStoreKey = store.STORE_KEYS.EXAMPLE;
7869
7905
  /**
7870
7906
  * Read-only store keys - inherits error and featureFlags from base
7871
7907
  * No need to redeclare them - they're always included by default
@@ -7888,6 +7924,14 @@ var init_FrontendExampleDomainService = __esm({
7888
7924
  // ─────────────────────────────────────────────────────────────────────────
7889
7925
  this.serviceKey = core.SERVICE_KEYS.EXAMPLE_FRONTEND;
7890
7926
  }
7927
+ static {
7928
+ /**
7929
+ * Primary store key for this service.
7930
+ * Used by ServiceRegistry to auto-inject the store if not specified in config.
7931
+ * Also used by base class constructor to set instance primaryStoreKey.
7932
+ */
7933
+ this.primaryStoreKey = store.STORE_KEYS.EXAMPLE;
7934
+ }
7891
7935
  /**
7892
7936
  * Factory method for ServiceRegistry auto-initialization.
7893
7937
  * Creates and initializes the service instance.