@kosdev-code/kos-dispense-sdk 3.0.26 → 3.0.27

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 (65) hide show
  1. package/dispense-registration-manager-Da9CW_cN.js.map +1 -1
  2. package/dispense-registration-manager-Dtb31fcI.cjs.map +1 -1
  3. package/{extension-utils-CwctwFhK.cjs → extension-utils-Cfhe358W.cjs} +39 -166
  4. package/extension-utils-Cfhe358W.cjs.map +1 -0
  5. package/{extension-utils-C_pwmFbZ.js → extension-utils-D_dnBLH6.js} +39 -166
  6. package/extension-utils-D_dnBLH6.js.map +1 -0
  7. package/index.cjs +2 -2
  8. package/index.js +2 -2
  9. package/models/constants/constants.d.ts +14 -178
  10. package/models/constants/constants.d.ts.map +1 -1
  11. package/models/models/assembly/assembly-registration.d.ts +9 -69
  12. package/models/models/assembly/assembly-registration.d.ts.map +1 -1
  13. package/models/models/availability/availability-model.d.ts +10 -76
  14. package/models/models/availability/availability-model.d.ts.map +1 -1
  15. package/models/models/availability/types/index.d.ts +3 -12
  16. package/models/models/board/board-container-registration.d.ts +9 -74
  17. package/models/models/board/board-container-registration.d.ts.map +1 -1
  18. package/models/models/board/board-registration.d.ts +9 -72
  19. package/models/models/board/board-registration.d.ts.map +1 -1
  20. package/models/models/device-assembly/device-assembly-registration.d.ts +10 -76
  21. package/models/models/device-assembly/device-assembly-registration.d.ts.map +1 -1
  22. package/models/models/generic-pour/generic-pour-registration.d.ts +9 -72
  23. package/models/models/generic-pour/generic-pour-registration.d.ts.map +1 -1
  24. package/models/models/holder/holder-model.d.ts +9 -73
  25. package/models/models/holder/holder-model.d.ts.map +1 -1
  26. package/models/models/holder-container/holder-container-model.d.ts +9 -68
  27. package/models/models/holder-container/holder-container-model.d.ts.map +1 -1
  28. package/models/models/ingredient/ingredient-model.d.ts +9 -74
  29. package/models/models/ingredient/ingredient-model.d.ts.map +1 -1
  30. package/models/models/ingredient/types/index.d.ts +3 -10
  31. package/models/models/ingredient-container/ingredient-container-model.d.ts +9 -68
  32. package/models/models/ingredient-container/ingredient-container-model.d.ts.map +1 -1
  33. package/models/models/nozzle/nozzle-model.d.ts +10 -72
  34. package/models/models/nozzle/nozzle-model.d.ts.map +1 -1
  35. package/models/models/nozzle/services/nozzle-services.d.ts +11 -65
  36. package/models/models/nozzle/services/nozzle-services.d.ts.map +1 -1
  37. package/models/models/pump/pump-model.d.ts +9 -79
  38. package/models/models/pump/pump-model.d.ts.map +1 -1
  39. package/models/models/pump-container/pump-container-model.d.ts +9 -68
  40. package/models/models/pump-container/pump-container-model.d.ts.map +1 -1
  41. package/models/models/types/intent.d.ts +11 -78
  42. package/models/models/types/intent.d.ts.map +1 -1
  43. package/models/utils/extension-utils.d.ts +38 -165
  44. package/models/utils/extension-utils.d.ts.map +1 -1
  45. package/models.cjs +1 -1
  46. package/models.js +1 -1
  47. package/package.json +2 -2
  48. package/{pump-provider-CAKW652V.js → pump-provider-BQmCKz7S.js} +3 -5
  49. package/pump-provider-BQmCKz7S.js.map +1 -0
  50. package/{pump-provider-SXrqGmxO.cjs → pump-provider-uNNMh9uh.cjs} +3 -5
  51. package/pump-provider-uNNMh9uh.cjs.map +1 -0
  52. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts +16 -43
  53. package/ui/hooks/cui-kit/use-default-cui-kit-lifecycle.d.ts.map +1 -1
  54. package/ui/hooks/ingredient/use-ingredient-pour.d.ts +7 -18
  55. package/ui/hooks/ingredient/use-ingredient-pour.d.ts.map +1 -1
  56. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts +6 -17
  57. package/ui/hooks/nozzle-pour/use-nozzle-pour.d.ts.map +1 -1
  58. package/ui/hooks/pour/use-pour.d.ts +7 -18
  59. package/ui/hooks/pour/use-pour.d.ts.map +1 -1
  60. package/ui.cjs +1 -1
  61. package/ui.js +1 -1
  62. package/extension-utils-C_pwmFbZ.js.map +0 -1
  63. package/extension-utils-CwctwFhK.cjs.map +0 -1
  64. package/pump-provider-CAKW652V.js.map +0 -1
  65. package/pump-provider-SXrqGmxO.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../../../../packages/kos-dispense-sdk/src/models/models/types/intent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,CACX,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAC/B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEjE;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../../../../../packages/kos-dispense-sdk/src/models/models/types/intent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,CACX,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAC/B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEjE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -34,85 +34,28 @@ export type AssemblyMapper<AdditionalData extends object = Record<string, any>,
34
34
  export declare class DispenseExtensionManager {
35
35
  core: CoreExtensionManager;
36
36
  /**
37
- * Maps data into the {@link IngredientModel}
37
+ * Registers a data mapper for the {@link IngredientModel}.
38
38
  *
39
- * It is common for the ingredient data provided by the ingredient service to be augmented with additional properties that are
40
- * not provided by the base KOS Ingredient model. The {@link IngredientMapper} extension point allows for the data to be mapped
41
- * into the {@link IngredientModel} and the {@link IngredientModel.data} property to be augmented with additional properties.
39
+ * Ingredient service data often needs properties the base model does not carry. The mapper receives each
40
+ * {@link IngredientResponse} and the data returned by the ingredient loader as context, and its result
41
+ * becomes the model's `data` property.
42
42
  *
43
43
  * @param ingredientDataMapper - Mapping function that maps an {@link IngredientResponse} into additional model data
44
44
  * @param options - Optional {@link ExtensionOptions} to control failure behavior.
45
45
  * Defaults to `failurePolicy: "throw"`, which throws an {@link ExtensionException} on mapper failure.
46
46
  * Set to `"continue"` to log the error and continue processing remaining mappers.
47
47
  * @returns this instance for chaining
48
- *
49
- * @example
50
- * The following example shows how to map the data from the service response into the {@link IngredientModel}.
51
- * The context is provided by the {@link IngredientLoader} extension point with its data being used to optionally augment the
52
- * ingredient data.
53
- *
54
- * The result of the mapping will be available in the `data` property of the {@link IngredientModel}.
55
- *
56
- * In this case the `IngedientReponseData` interface represents the data being returned by the ingredient service and the
57
- * `IngredientData` interface represents the data that will be available in the {@link IngredientModel.data} property. The `ingredientDataMapper`
58
- * is responsible for mapping from one format to the other.
59
- *
60
- * ```typescript
61
- *
62
- * interface IngredientResponseData extends NozzleServices.IngredientResponse {
63
- * chilled: boolean;
64
- * carbonated: boolean;
65
- * highYield: boolean;
66
- * }
67
- *
68
- * interface IngredientData {
69
- * chilled: boolean;
70
- * carbonated: boolean;
71
- * highYield: boolean;
72
- * }
73
- *
74
- * export const ingredientDataMapper = async (
75
- * data: IngredientResponseData,
76
- * context: IngredientContext
77
- * ): Promise<IngredientData> => {
78
- * return {
79
- * chilled: data.chilled,
80
- * carbonated: data.carbonated,
81
- * highYield: data.highYield,
82
- * }
83
- * }
84
- * ```
85
- * */
48
+ */
86
49
  registerIngredientDataMapper(ingredientDataMapper: IngredientDataMapper, options?: ExtensionOptions): this;
87
50
  /**
88
- * Loads data that will be provided as context into the {@link IngredientMapper}.
51
+ * Registers a loader whose result is passed as context to the ingredient data and type mappers.
89
52
  *
90
53
  * @param ingredientLoader - Async function that loads and returns ingredient context data
91
54
  * @param options - Optional {@link ExtensionOptions} to control failure behavior.
92
55
  * Defaults to `failurePolicy: "throw"`, which throws an {@link ExtensionException} on loader failure.
93
56
  * Set to `"continue"` to log the error and return `undefined` instead.
94
57
  * @returns this instance for chaining
95
- *
96
- * @example
97
- * The following example shows how to load the brandset data, normalize it into a map and then provide it back to the framework
98
- * where it can be used by the other extension points.
99
- *
100
- * In the ingredient container model, the data is provided to the {@link IngredientMapper} extension point in order to augment ingredient data
101
- * and also loaded into the ingredient container model context in order to make the data available throughout the code.
102
- *
103
- * ```typescript
104
- * export const ingredientContextLoader = async (): Promise<BeverageContext> => {
105
- * const response = await kosFetch('kos:/system/some/ingredient/endpoint.json');
106
- *
107
- * if (response.status !== 200) {
108
- * KosLog.error('Failed to load ingredient data');
109
- * return {};
110
- * }
111
- * const json = await response.json();
112
- * return json;
113
- * };
114
- * ```
115
- * */
58
+ */
116
59
  registerIngredientLoader(ingredientLoader: DataLoader, options?: ExtensionOptions): this;
117
60
  registerIngredientIndex(ingredientIndex: IndexExtension): this;
118
61
  /**
@@ -161,7 +104,10 @@ export declare class DispenseExtensionManager {
161
104
  registerHolderIngredientMapper(holderTypeMapper: HolderTypeMapper, options?: ExtensionOptions): this;
162
105
  registerHolderIndex<T extends HolderModel = HolderModel>(holderIndex: IndexExtension<T>): this;
163
106
  /**
164
- * Maps data into the {@link AvailabilityModel}.
107
+ * Registers a data mapper for the {@link AvailabilityModel}.
108
+ *
109
+ * The mapper receives each availability node, with its `groupId`, and the data returned by the
110
+ * availability loader as context. Its result becomes the model's `data` property.
165
111
  *
166
112
  * @param availabilityMapper - Mapping function that maps a {@link GroupBeverageResponse} into additional availability data
167
113
  * @param options - Optional {@link ExtensionOptions} to control failure behavior.
@@ -170,31 +116,19 @@ export declare class DispenseExtensionManager {
170
116
  * @returns this instance for chaining
171
117
  *
172
118
  * @example
173
- * The following example shows how to map the data from the service response into the {@link AvailabilityModel}.
174
- * The context is provided by the {@link AvailabilityLoader} extension point with its data being used to augment the
175
- * availability data.
176
- *
177
- * The result of the mapping will be available in the `data` property of the {@link AvailabilityModel}.
178
- *
179
119
  * ```typescript
180
- * export const beverageDataMapper = async (
181
- * data: NozzleServices.BeverageResponse,
182
- * context: BeverageContext
183
- * ): Promise<BeverageData> => {
184
- * const id = data.altId;
185
- * const iconUrl = encodeURI(
186
- * `http://localhost:8081/system/brandset/${context?.[id]?.icon}`
187
- * );
188
- * const cuiColorCode = context?.[id]?.cuiColorCode
189
- * ? context?.[id]?.cuiColorCode
190
- * : '';
191
- * return { iconUrl, cuiColorCode };
192
- * };
120
+ * const beverageDataMapper: AvailabilityDataMapper<BeverageData> = async (
121
+ * data,
122
+ * context?: Record<string, BrandsetIngredient>
123
+ * ) => ({
124
+ * iconUrl: context?.[data.altId]?.icon ?? "",
125
+ * });
193
126
  * ```
194
- * */
127
+ */
195
128
  registerAvailabilityDataMapper(availabilityMapper: AvailabilityDataMapper, options?: ExtensionOptions): this;
196
129
  /**
197
- * Loads data that will be provided as context into the {@link AvailabilityMapper}.
130
+ * Registers a loader whose result is passed as context to the availability data mapper. A common use is
131
+ * loading UI-specific brandset data that the backend service does not provide.
198
132
  *
199
133
  * @param availabilityLoader - Async function that loads and returns availability context data
200
134
  * @param options - Optional {@link ExtensionOptions} to control failure behavior.
@@ -203,32 +137,14 @@ export declare class DispenseExtensionManager {
203
137
  * @returns this instance for chaining
204
138
  *
205
139
  * @example
206
- * A common use case is to load brandset data that is UI specific and not provided directly by the Java service.
207
- *
208
- * The following example shows how to load the brandset data, normalize it into a map and then provide it back to the framework
209
- * where it can be used by the other extension points.
210
- *
211
- * In the nozzle model, the data is provided to the {@link AvailabilityMapper} extension point in order to augment availability data
212
- * and also loaded into the nozzle model context in order to make the data available throughout the code.
213
- *
214
140
  * ```typescript
215
- * export const beverageContextLoader = async (): Promise<BeverageContext> => {
216
- * const response = await kosFetch('kos:/system/brandset/brandset.json');
217
- *
218
- * if (response.status !== 200) {
219
- * KosLog.error('Failed to load beverage data');
220
- * return {};
221
- * }
222
- * const json: BrandsetResponse | null = await response.json();
223
- * const initialBeverages: Record<string, BrandsetIngredient> = {};
224
- * const beverages = json?.ingredients?.reduce((acc, beverage) => {
225
- * acc[beverage.ingredientId] = beverage;
226
- * return acc;
227
- * }, initialBeverages);
228
- * return beverages;
229
- * };
141
+ * const beverageContextLoader = async () => {
142
+ * const response = await kosFetch("kos:/system/brandset/brandset.json");
143
+ * const json: BrandsetResponse = await response.json();
144
+ * return Object.fromEntries(json.ingredients.map((i) => [i.ingredientId, i]));
145
+ * };
230
146
  * ```
231
- * */
147
+ */
232
148
  registerAvailabilityLoader(availabilityLoader: DataLoader, options?: ExtensionOptions): this;
233
149
  /**
234
150
  * Maps the abstract {@link SelectedPourable} data into a format that is specific to the nozzle.
@@ -241,9 +157,8 @@ export declare class DispenseExtensionManager {
241
157
  * */
242
158
  registerSelectedPourableDataMapper(selectedPourableMapper: SelectedPourableMapper, options?: ExtensionOptions): this;
243
159
  /**
244
- * Maps data into the {@link AssemblyModel} data.
245
- * Used in cases where the base assembly has been extended with additional properties in the backend. This extension
246
- * point allows for the data to be mapped into the {@link AssemblyModel} and augmented with additional properties.
160
+ * Registers a data mapper for the {@link AssemblyModel}, for backends that extend the assembly response
161
+ * with additional properties. The mapper's result is merged into the assembly model.
247
162
  *
248
163
  * @param assemblyDataMapper - Mapping function that maps an {@link AssemblyTypes.AssemblyResponse} into additional assembly data
249
164
  * @param options - Optional {@link ExtensionOptions} to control failure behavior.
@@ -252,60 +167,18 @@ export declare class DispenseExtensionManager {
252
167
  * @returns this instance for chaining
253
168
  *
254
169
  * @example
255
- *
256
- * In this example of an implementation of a {@link AssemblyMapper}, the {@link AssemblyResponse} data is mapped into
257
- * a {@link FreestyleAssembly} object.
258
- *
259
- * The {@link FreestyleAssemblyResponse} interface represents the additional data being returned by the assembly service and is
260
- * merged into the {@link AssemblyResponse} interface.
261
- *
262
- * The {@link FreestyleAssembly} interface represents the additional data, beyond the base data set, that will be merged into the {@link AssemblyModel}.
263
- *
264
- * The mapper is responsible for mapping from the {@link FreestyleAssemblyResponse} format to the {@link FreestyleAssembly} format.
265
170
  * ```typescript
266
- * import { AssemblyTypes } from "@kosdev-code/kos-dispense-sdk";
267
- * import { DataMapper } from "@kosdev-code/kos-ui-sdk";
268
- *
269
- * // define the additional data being returned by the assembly service
270
- * export interface FreestyleAssemblyResponse {
271
- * iceAgitator?: {
272
- * name: "iceAgitator";
273
- * path: string;
274
- * };
275
- * }
276
- *
277
- * // define the additional data structure that will be merged into the assembly model
278
- * export interface FreestyleAssembly {
279
- * iceAgitator: {
280
- * path: string;
281
- * };
282
- * carbAgitator: {
283
- * path: string;
284
- * };
285
- * }
286
- *
287
- *
288
- * // define the mapper that will map the data from the service response into the additional data structure
289
- * // that will be merged into the assembly model.
290
- * // In this case the mapper is responsible for mapping from the {@link FreestyleAssemblyResponse} format to the {@link FreestyleAssembly} format.
291
- * export const assemblyDataMapper: DataMapper<
292
- * AssemblyTypes.AssemblyResponse<FreestyleAssemblyResponse>,
293
- * FreestyleAssembly
294
- * > = async (data) => {
295
- * const response = data.assemblies.reduce((acc, assembly) => {
296
- * const agitatorKeys = ["iceAgitator", "carbAgitator"];
297
- * agitatorKeys.forEach((key) => {
298
- * const agitator = assembly[key];
299
- * if (agitator) {
300
- * acc[key] = agitator;
301
- * }
302
- * });
171
+ * interface IceAgitatorExt {
172
+ * iceAgitator?: { name: string; path: string };
173
+ * }
303
174
  *
304
- * return acc;
305
- * }, {} as FreestyleAssembly);
306
- * return response;
307
- * };
308
- *```
175
+ * const assemblyDataMapper: AssemblyMapper<
176
+ * { iceAgitatorPath?: string },
177
+ * AssemblyTypes.AssemblyResponse<{ AssemblyExt: IceAgitatorExt }>
178
+ * > = async (data) => ({
179
+ * iceAgitatorPath: data.assemblies.find((a) => a.iceAgitator)?.iceAgitator?.path,
180
+ * });
181
+ * ```
309
182
  */
310
183
  registerAssemblyDataMapper(assemblyDataMapper: AssemblyMapper, options?: ExtensionOptions): this;
311
184
  registerBoardIndex(boardIndex: IndexExtension): this;
@@ -1 +1 @@
1
- {"version":3,"file":"extension-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/kos-dispense-sdk/src/models/utils/extension-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/kos-dispense-sdk/src/models/utils/extension-utils.ts"],"names":[],"mappings":"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"}
package/models.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const dispenseRegistrationManager = require("./dispense-registration-manager-Dtb31fcI.cjs");
4
- const extensionUtils = require("./extension-utils-CwctwFhK.cjs");
4
+ const extensionUtils = require("./extension-utils-Cfhe358W.cjs");
5
5
  exports.Assembly = dispenseRegistrationManager.Assembly;
6
6
  exports.Availability = dispenseRegistrationManager.Availability;
7
7
  exports.Board = dispenseRegistrationManager.Board;
package/models.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { A, a, B, b, c, C, d, D, e, E, G, H, f, I, g, K, N, P, h, i, j, T, k, l, m, n, o, r } from "./dispense-registration-manager-Da9CW_cN.js";
2
- import { i as i2, a as a2, D as D2, b as b2, c as c2, d as d2, K as K2, e as e2, f as f2, g as g2 } from "./extension-utils-C_pwmFbZ.js";
2
+ import { i as i2, a as a2, D as D2, b as b2, c as c2, d as d2, K as K2, e as e2, f as f2, g as g2 } from "./extension-utils-D_dnBLH6.js";
3
3
  export {
4
4
  A as Assembly,
5
5
  i2 as AssemblyServices,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kosdev-code/kos-dispense-sdk",
3
- "version": "3.0.26",
3
+ "version": "3.0.27",
4
4
  "type": "module",
5
5
  "types": "./index.d.ts",
6
6
  "main": "./index.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "kos": {
48
48
  "build": {
49
- "gitHash": "81591542fbf659141e885941c2469ef83f879c2e"
49
+ "gitHash": "d5940a35064adbc3194fd9eca2be1831bb8614c2"
50
50
  }
51
51
  }
52
52
  }
@@ -1099,10 +1099,8 @@ const useDefaultCuiKitLifecycle = ({
1099
1099
  onPourCancel: handlePourCancel,
1100
1100
  onBeforePourRejected: handleBeforePourRejected,
1101
1101
  onInit: handleInit
1102
- // Note: Timer-related handlers (onIdleTimeout, onAmbientTimer, onAttractTimer,
1103
- // onResumeAttractTimer, onAreYouThereTimeout) are NOT included here since this
1104
- // component's own timer hooks call those handlers directly. Including them would
1105
- // create circular event loops.
1102
+ // The timer handlers are left out because this hook's own timers call them directly;
1103
+ // subscribing to their events as well would create an event loop.
1106
1104
  });
1107
1105
  const areYouThereCountdown = hasPoured ? areYouTherePourTimeout : areYouThereTimeout;
1108
1106
  useEffect(() => {
@@ -1801,4 +1799,4 @@ export {
1801
1799
  useCuiKit as y,
1802
1800
  useCuiKitTimers as z
1803
1801
  };
1804
- //# sourceMappingURL=pump-provider-CAKW652V.js.map
1802
+ //# sourceMappingURL=pump-provider-BQmCKz7S.js.map