frosty 0.0.154 → 0.0.156

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 (75) hide show
  1. package/dist/_native.d.mts +2 -1
  2. package/dist/_native.d.mts.map +1 -1
  3. package/dist/_native.d.ts +2 -1
  4. package/dist/_native.d.ts.map +1 -1
  5. package/dist/_native.js +3 -3
  6. package/dist/_native.mjs +1 -1
  7. package/dist/dom.d.mts +3 -2
  8. package/dist/dom.d.mts.map +1 -1
  9. package/dist/dom.d.ts +3 -2
  10. package/dist/dom.d.ts.map +1 -1
  11. package/dist/dom.js +3 -3
  12. package/dist/dom.mjs +2 -2
  13. package/dist/i18n.d.mts +38 -0
  14. package/dist/i18n.d.mts.map +1 -0
  15. package/dist/i18n.d.ts +38 -0
  16. package/dist/i18n.d.ts.map +1 -0
  17. package/dist/i18n.js +79 -0
  18. package/dist/i18n.js.map +1 -0
  19. package/dist/i18n.mjs +72 -0
  20. package/dist/i18n.mjs.map +1 -0
  21. package/dist/index.js +47 -42
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +4 -2
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/internals/callback-DEKCuARB.mjs +170 -0
  26. package/dist/internals/callback-DEKCuARB.mjs.map +1 -0
  27. package/dist/internals/callback-DVD1MTA9.js +180 -0
  28. package/dist/internals/callback-DVD1MTA9.js.map +1 -0
  29. package/dist/internals/{events-BgboMOG9.js → events-CcBnpWOF.js} +7 -3
  30. package/dist/internals/{events-BgboMOG9.js.map → events-CcBnpWOF.js.map} +1 -1
  31. package/dist/internals/{form-BGe5OdHZ.js → form-CC8A5nkh.js} +40 -205
  32. package/dist/internals/form-CC8A5nkh.js.map +1 -0
  33. package/dist/internals/{form-RKmiM_eK.mjs → form-Cee86QUZ.mjs} +4 -168
  34. package/dist/internals/form-Cee86QUZ.mjs.map +1 -0
  35. package/dist/internals/{index-CHID44Lo.js → index-Bvwj3lIq.js} +39 -35
  36. package/dist/internals/{index-CHID44Lo.js.map → index-Bvwj3lIq.js.map} +1 -1
  37. package/dist/internals/{index-DCYqTHyF.d.mts → index-BzVLlTCa.d.mts} +3 -1
  38. package/dist/internals/index-BzVLlTCa.d.mts.map +1 -0
  39. package/dist/internals/{index-BXYwGmMq.d.ts → index-OvcTjmzX.d.ts} +3 -1
  40. package/dist/internals/index-OvcTjmzX.d.ts.map +1 -0
  41. package/dist/internals/{renderer-BtM_6vlI.d.mts → renderer-BluiQ1F-.d.mts} +2 -2
  42. package/dist/internals/{renderer-BtM_6vlI.d.mts.map → renderer-BluiQ1F-.d.mts.map} +1 -1
  43. package/dist/internals/{renderer-CRJ6yD_V.mjs → renderer-BvM6i6Cl.mjs} +2 -2
  44. package/dist/internals/{renderer-CRJ6yD_V.mjs.map → renderer-BvM6i6Cl.mjs.map} +1 -1
  45. package/dist/internals/{renderer-1wYRgACC.d.ts → renderer-C1RBQB2f.d.ts} +2 -2
  46. package/dist/internals/{renderer-1wYRgACC.d.ts.map → renderer-C1RBQB2f.d.ts.map} +1 -1
  47. package/dist/internals/{renderer-BXTVLEhY.js → renderer-C5NIsxDg.js} +67 -61
  48. package/dist/internals/{renderer-BXTVLEhY.js.map → renderer-C5NIsxDg.js.map} +1 -1
  49. package/dist/internals/{renderer-FQADFg6I.js → renderer-DR_CVQzd.js} +17 -11
  50. package/dist/internals/renderer-DR_CVQzd.js.map +1 -0
  51. package/dist/internals/{renderer-DxQAalyV.mjs → renderer-DaX4zUo8.mjs} +3 -2
  52. package/dist/internals/renderer-DaX4zUo8.mjs.map +1 -0
  53. package/dist/server-dom.d.mts +3 -2
  54. package/dist/server-dom.d.mts.map +1 -1
  55. package/dist/server-dom.d.ts +3 -2
  56. package/dist/server-dom.d.ts.map +1 -1
  57. package/dist/server-dom.js +3 -3
  58. package/dist/server-dom.mjs +2 -2
  59. package/dist/web.d.mts +3 -2
  60. package/dist/web.d.mts.map +1 -1
  61. package/dist/web.d.ts +3 -2
  62. package/dist/web.d.ts.map +1 -1
  63. package/dist/web.js +31 -26
  64. package/dist/web.js.map +1 -1
  65. package/dist/web.mjs +5 -4
  66. package/dist/web.mjs.map +1 -1
  67. package/package.json +2 -1
  68. package/packages/frosty-cli/webpack.mjs +2 -2
  69. package/packages/frosty-cli/yarn.lock +3 -3
  70. package/dist/internals/form-BGe5OdHZ.js.map +0 -1
  71. package/dist/internals/form-RKmiM_eK.mjs.map +0 -1
  72. package/dist/internals/index-BXYwGmMq.d.ts.map +0 -1
  73. package/dist/internals/index-DCYqTHyF.d.mts.map +0 -1
  74. package/dist/internals/renderer-DxQAalyV.mjs.map +0 -1
  75. package/dist/internals/renderer-FQADFg6I.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,12 +1,17 @@
1
1
  'use strict';
2
2
 
3
3
  var runtime = require('./internals/runtime-CeVOFcK_.js');
4
- var index = require('./internals/index-CHID44Lo.js');
5
- var form = require('./internals/form-BGe5OdHZ.js');
4
+ var index = require('./internals/index-Bvwj3lIq.js');
5
+ var form = require('./internals/form-CC8A5nkh.js');
6
6
  var _ = require('lodash');
7
+ var callback = require('./internals/callback-DVD1MTA9.js');
7
8
  require('myers.js');
8
9
  require('./jsx-runtime.js');
9
10
 
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var ___default = /*#__PURE__*/_interopDefault(_);
14
+
10
15
  //
11
16
  // debounce.ts
12
17
  //
@@ -33,7 +38,7 @@ require('./jsx-runtime.js');
33
38
  //
34
39
  const debounce = (callback, settings) => {
35
40
  const { wait, ...options } = settings;
36
- return _.debounce(callback, wait, {
41
+ return ___default.default.debounce(callback, wait, {
37
42
  ...options,
38
43
  leading: 'leading' in options ? !!options.leading : true,
39
44
  trailing: 'trailing' in options ? !!options.trailing : true,
@@ -43,12 +48,12 @@ const asyncDebounce = (func, settings) => {
43
48
  let preflight;
44
49
  const debounced = debounce(async function (resolve, ...args) {
45
50
  const result = func.call(this, ...args);
46
- if (_.isFunction(resolve))
51
+ if (___default.default.isFunction(resolve))
47
52
  resolve(result);
48
53
  return result;
49
54
  }, settings);
50
55
  return function (...args) {
51
- if (_.isNil(preflight)) {
56
+ if (___default.default.isNil(preflight)) {
52
57
  preflight = new Promise(r => debounced.call(this, r, ...args));
53
58
  return preflight;
54
59
  }
@@ -70,17 +75,17 @@ const asyncDebounce = (func, settings) => {
70
75
  * - Other lodash debounce options such as `leading` and `trailing`.
71
76
  * @returns A debounced version of the callback function.
72
77
  */
73
- const useDebounce = (callback, settings) => {
74
- const store = form._useMemo('useDebounce', () => {
78
+ const useDebounce = (callback$1, settings) => {
79
+ const store = callback._useMemo('useDebounce', () => {
75
80
  const store = {
76
- current: callback,
81
+ current: callback$1,
77
82
  stable: debounce((function (...args) {
78
83
  return store.current.call(this, ...args);
79
84
  }), settings),
80
85
  };
81
86
  return store;
82
87
  }, null);
83
- store.current = callback;
88
+ store.current = callback$1;
84
89
  return store.stable;
85
90
  };
86
91
  /**
@@ -98,17 +103,17 @@ const useDebounce = (callback, settings) => {
98
103
  * - Other lodash debounce options such as `leading` and `trailing`.
99
104
  * @returns A debounced version of the asynchronous callback function.
100
105
  */
101
- const useAsyncDebounce = (callback, settings) => {
102
- const store = form._useMemo('useAsyncDebounce', () => {
106
+ const useAsyncDebounce = (callback$1, settings) => {
107
+ const store = callback._useMemo('useAsyncDebounce', () => {
103
108
  const store = {
104
- current: callback,
109
+ current: callback$1,
105
110
  stable: asyncDebounce((function (...args) {
106
111
  return store.current.call(this, ...args);
107
112
  }), settings),
108
113
  };
109
114
  return store;
110
115
  }, null);
111
- store.current = callback;
116
+ store.current = callback$1;
112
117
  return store.stable;
113
118
  };
114
119
 
@@ -157,11 +162,11 @@ const useAsyncDebounce = (callback, settings) => {
157
162
  * - `setResource`: A function to manually update the resource state.
158
163
  */
159
164
  const useResource = (config, deps) => {
160
- const fetch = _.isFunction(config) ? config : config.fetch;
161
- const debounce = _.isFunction(config) ? {} : config.debounce;
165
+ const fetch = ___default.default.isFunction(config) ? config : config.fetch;
166
+ const debounce = ___default.default.isFunction(config) ? {} : config.debounce;
162
167
  const [state, setState] = form.useState({});
163
168
  const _dispatch = (token, next) => setState(state => state.token === token ? ({
164
- ...(_.isFunction(next) ? next(state.flag ? state : _.omit(state, 'resource', 'error')) : next),
169
+ ...(___default.default.isFunction(next) ? next(state.flag ? state : ___default.default.omit(state, 'resource', 'error')) : next),
165
170
  count: state.flag ? state.count : (state.count ?? 0) + 1,
166
171
  flag: true,
167
172
  }) : state);
@@ -176,7 +181,7 @@ const useResource = (config, deps) => {
176
181
  dispatch: (next) => {
177
182
  _dispatch(token, state => ({
178
183
  ...state,
179
- resource: _.isFunction(next) ? next(state.resource) : next,
184
+ resource: ___default.default.isFunction(next) ? next(state.resource) : next,
180
185
  }));
181
186
  },
182
187
  });
@@ -194,12 +199,12 @@ const useResource = (config, deps) => {
194
199
  void _fetch('refresh', controller, true);
195
200
  return () => controller.abort();
196
201
  }, deps ?? []);
197
- const _cancelRef = form.useCallback((reason) => { state.abort?.abort(reason); });
198
- const _refreshRef = form.useCallback((param) => _fetch('refresh', new AbortController(), true, param));
199
- const _nextRef = form.useCallback((param) => _fetch('next', new AbortController(), false, param, state.resource));
200
- const _setResRef = form.useCallback((resource) => setState(state => ({
201
- ..._.omit(state, 'resource', 'error'),
202
- resource: _.isFunction(resource) ? resource(state.resource) : resource,
202
+ const _cancelRef = callback.useCallback((reason) => { state.abort?.abort(reason); });
203
+ const _refreshRef = callback.useCallback((param) => _fetch('refresh', new AbortController(), true, param));
204
+ const _nextRef = callback.useCallback((param) => _fetch('next', new AbortController(), false, param, state.resource));
205
+ const _setResRef = callback.useCallback((resource) => setState(state => ({
206
+ ...___default.default.omit(state, 'resource', 'error'),
207
+ resource: ___default.default.isFunction(resource) ? resource(state.resource) : resource,
203
208
  })));
204
209
  const { setErrors } = form.useErrorContext();
205
210
  form.useEffect(() => {
@@ -210,15 +215,15 @@ const useResource = (config, deps) => {
210
215
  token,
211
216
  error,
212
217
  refresh: _refreshRef,
213
- refreshing: !_.isNil(abort) && type === 'refresh',
214
- loading: !_.isNil(abort),
218
+ refreshing: !___default.default.isNil(abort) && type === 'refresh',
219
+ loading: !___default.default.isNil(abort),
215
220
  }]);
216
- return () => setErrors(v => _.filter(v, x => x.token !== token));
221
+ return () => setErrors(v => ___default.default.filter(v, x => x.token !== token));
217
222
  }, [state]);
218
223
  return {
219
224
  count: state.count ?? 0,
220
- refreshing: !_.isNil(state.abort) && state.type === 'refresh',
221
- loading: !_.isNil(state.abort),
225
+ refreshing: !___default.default.isNil(state.abort) && state.type === 'refresh',
226
+ loading: !___default.default.isNil(state.abort),
222
227
  resource: state.resource,
223
228
  error: state.error,
224
229
  cancel: _cancelRef,
@@ -239,8 +244,8 @@ const useResource = (config, deps) => {
239
244
  * @returns An object containing the same properties as `useResource`, but optimized for iterable resources.
240
245
  */
241
246
  const useIterableResource = (config, deps) => {
242
- const fetch = _.isFunction(config) ? config : config.fetch;
243
- const debounce = _.isFunction(config) ? {} : config.debounce;
247
+ const fetch = ___default.default.isFunction(config) ? config : config.fetch;
248
+ const debounce = ___default.default.isFunction(config) ? {} : config.debounce;
244
249
  const { next, ...result } = useResource({
245
250
  fetch: async ({ dispatch, abortSignal, param }) => {
246
251
  const resource = await fetch({ abortSignal, param });
@@ -290,7 +295,7 @@ const useIterableResource = (config, deps) => {
290
295
  * }, 1000);
291
296
  */
292
297
  const useInterval = (callback, ms) => form.useEffect(() => {
293
- if (_.isNil(ms))
298
+ if (___default.default.isNil(ms))
294
299
  return;
295
300
  const interval = setInterval(() => {
296
301
  callback();
@@ -357,7 +362,7 @@ class Store {
357
362
  */
358
363
  setValue(dispatch) {
359
364
  const oldVal = this.#value;
360
- this.#value = _.isFunction(dispatch) ? dispatch(this.#value) : dispatch;
365
+ this.#value = ___default.default.isFunction(dispatch) ? dispatch(this.#value) : dispatch;
361
366
  this.#listeners.forEach(listener => void listener(oldVal, this.#value));
362
367
  }
363
368
  /**
@@ -397,7 +402,7 @@ const createStore = (initialValue) => new Store(initialValue);
397
402
  * // Using a selector
398
403
  * const userName = useStore(userStore, user => user.name);
399
404
  */
400
- const useStore = (store, selector = v => v, equal = _.isEqual) => form.useSyncExternalStore((onStoreChange) => store.subscribe((oldVal, newVal) => {
405
+ const useStore = (store, selector = v => v, equal = ___default.default.isEqual) => form.useSyncExternalStore((onStoreChange) => store.subscribe((oldVal, newVal) => {
401
406
  if (!equal(selector(oldVal), selector(newVal)))
402
407
  onStoreChange();
403
408
  }), () => selector(store.value));
@@ -460,7 +465,7 @@ const useAwaited = (factory, deps) => {
460
465
  const state = index.reconciler.currentHookState;
461
466
  if (!state)
462
467
  throw Error('useAwaited must be used within a render function.');
463
- const promise = form._useMemo('useAwaited', () => factory(), deps ?? null);
468
+ const promise = callback._useMemo('useAwaited', () => factory(), deps ?? null);
464
469
  if (resolved.has(promise)) {
465
470
  const { result, error } = resolved.get(promise) ?? {};
466
471
  if (error)
@@ -503,7 +508,7 @@ const useAwaited = (factory, deps) => {
503
508
  // THE SOFTWARE.
504
509
  //
505
510
  function useRef(initialValue) {
506
- return form._useMemo('useRef', () => ({ current: initialValue }), null);
511
+ return callback._useMemo('useRef', () => ({ current: initialValue }), null);
507
512
  }
508
513
  /**
509
514
  * Associates a reference with a value created by an initializer function.
@@ -514,7 +519,7 @@ function useRef(initialValue) {
514
519
  * @param init A function that initializes and returns the value to associate with the reference.
515
520
  * @param deps An optional dependency array. The initializer function is re-executed when the dependencies change.
516
521
  */
517
- const useRefHandle = (ref, init, deps) => form._useEffect('useRefHandle', () => {
522
+ const useRefHandle = (ref, init, deps) => callback._useEffect('useRefHandle', () => {
518
523
  try {
519
524
  if (ref) {
520
525
  const _ref = init();
@@ -569,7 +574,7 @@ const useStack = () => {
569
574
  const state = index.reconciler.currentHookState;
570
575
  if (!state)
571
576
  throw Error('useStack must be used within a render function.');
572
- return _.map(state.stack, x => x.component);
577
+ return ___default.default.map(state.stack, x => x.component);
573
578
  };
574
579
 
575
580
  //
@@ -597,9 +602,9 @@ const useStack = () => {
597
602
  // THE SOFTWARE.
598
603
  //
599
604
  function useReducer(reducer, initialState) {
600
- const { value, dispatch } = form._useMemo('useReducer', (_state) => {
605
+ const { value, dispatch } = callback._useMemo('useReducer', (_state) => {
601
606
  const state = {
602
- value: _.isFunction(initialState) ? initialState() : initialState,
607
+ value: ___default.default.isFunction(initialState) ? initialState() : initialState,
603
608
  dispatch: (action) => {
604
609
  const oldValue = state.value;
605
610
  const newValue = reducer(state.value, action);
@@ -625,17 +630,17 @@ exports.mergeRefs = index.mergeRefs;
625
630
  exports.useContext = index.useContext;
626
631
  exports.FormActivity = form.FormActivity;
627
632
  exports.ResourceErrors = form.ResourceErrors;
628
- exports._useCallbacks = form._useCallbacks;
629
633
  exports.createActivity = form.createActivity;
630
634
  exports.useActivity = form.useActivity;
631
- exports.useCallback = form.useCallback;
632
635
  exports.useEffect = form.useEffect;
633
636
  exports.useFormState = form.useFormState;
634
- exports.useMemo = form.useMemo;
635
637
  exports.useRendererStorage = form.useRendererStorage;
636
638
  exports.useResourceErrors = form.useResourceErrors;
637
639
  exports.useState = form.useState;
638
640
  exports.useSyncExternalStore = form.useSyncExternalStore;
641
+ exports._useCallbacks = callback._useCallbacks;
642
+ exports.useCallback = callback.useCallback;
643
+ exports.useMemo = callback.useMemo;
639
644
  exports.createStore = createStore;
640
645
  exports.useAsyncDebounce = useAsyncDebounce;
641
646
  exports.useAwaited = useAwaited;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/hooks/debounce.ts","../../src/core/hooks/misc/resource/index.ts","../../src/core/hooks/misc/interval.ts","../../src/core/hooks/misc/store.ts","../../src/core/hooks/awaited.ts","../../src/core/hooks/ref.ts","../../src/core/hooks/stack.ts","../../src/core/hooks/reducer.ts"],"sourcesContent":["//\n// debounce.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useMemo } from '../reconciler/hooks';\n\nconst debounce = <T extends (...args: any) => any>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const { wait, ...options } = settings;\n return _.debounce(callback, wait, {\n ...options,\n leading: 'leading' in options ? !!options.leading : true,\n trailing: 'trailing' in options ? !!options.trailing : true,\n });\n}\n\nconst asyncDebounce = <T extends (...args: any) => PromiseLike<any>>(\n func: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n\n type R = T extends (...args: any) => PromiseLike<infer R> ? R : never;\n let preflight: Promise<R>;\n\n const debounced = debounce(async function (\n this: any,\n resolve?: (value: PromiseLike<R>) => void,\n ...args: Parameters<T>\n ) {\n const result = func.call(this, ...args as any) as PromiseLike<R>;\n if (_.isFunction(resolve)) resolve(result);\n return result;\n }, settings);\n\n return function (this: any, ...args: Parameters<T>) {\n if (_.isNil(preflight)) {\n preflight = new Promise<R>(r => debounced.call(this, r, ...args));\n return preflight;\n }\n return debounced.call(this, undefined, ...args) ?? preflight;\n };\n};\n\n/**\n * A hook that creates a debounced version of a function.\n * The debounced function delays invoking the callback until after\n * the specified wait time has elapsed since the last time it was called.\n * \n * This is useful for optimizing performance in scenarios where frequent\n * function calls (e.g., during user input or window resizing) can be expensive.\n * \n * @template T The type of the callback function.\n * @param callback The function to debounce.\n * @param settings Configuration options for debouncing, including:\n * - `wait` (number): The number of milliseconds to delay.\n * - Other lodash debounce options such as `leading` and `trailing`.\n * @returns A debounced version of the callback function.\n */\nexport const useDebounce = <T extends (...args: any) => any>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const store = _useMemo('useDebounce', () => {\n const store = {\n current: callback,\n stable: debounce((function (this: any, ...args) {\n return store.current.call(this, ...args);\n }) as T, settings),\n };\n return store;\n }, null);\n store.current = callback;\n return store.stable;\n}\n\n/**\n * A hook that creates a debounced version of an asynchronous function.\n * The debounced function delays invoking the callback until after\n * the specified wait time has elapsed since the last time it was called.\n * \n * This is particularly useful for scenarios where frequent API calls\n * or other asynchronous operations need to be throttled to improve performance.\n * \n * @template T The type of the asynchronous callback function.\n * @param callback The asynchronous function to debounce.\n * @param settings Configuration options for debouncing, including:\n * - `wait` (number): The number of milliseconds to delay.\n * - Other lodash debounce options such as `leading` and `trailing`.\n * @returns A debounced version of the asynchronous callback function.\n */\nexport const useAsyncDebounce = <T extends (...args: any) => PromiseLike<any>>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const store = _useMemo('useAsyncDebounce', () => {\n const store = {\n current: callback,\n stable: asyncDebounce((function (this: any, ...args) {\n return store.current.call(this, ...args);\n }) as T, settings),\n };\n return store;\n }, null);\n store.current = callback;\n return store.stable;\n}\n","//\n// index.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { SetStateAction } from '../../../types/common';\nimport { Config, Fetch, FetchWithIterable } from './types';\nimport { useState } from '../../state';\nimport { useEffect } from '../../effect';\nimport { useCallback } from '../../callback';\nimport { useAsyncDebounce } from '../../debounce';\nimport { useErrorContext } from './error';\nimport { uniqueId } from '../../../../core/utils';\nexport { ResourceErrors, useResourceErrors } from './error';\n\n/**\n * A hook to manage asynchronous resources with support for debouncing, error handling, and state management.\n * \n * @template T - The type of the resource being fetched.\n * @template P - The type of the parameters passed to the fetch function.\n * \n * @param config - The fetch function or a configuration object containing the fetch function and optional debounce settings.\n * @param deps - An optional dependency array to control when the resource is refreshed.\n * \n * @returns An object containing:\n * - `count`: The number of times the resource has been fetched.\n * - `refreshing`: A boolean indicating if the resource is currently being refreshed.\n * - `loading`: A boolean indicating if the resource is currently being loaded.\n * - `resource`: The fetched resource.\n * - `error`: Any error encountered during the fetch.\n * - `cancel`: A function to cancel the current fetch operation.\n * - `refresh`: A function to refresh the resource.\n * - `next`: A function to fetch the next set of data (for paginated resources).\n * - `setResource`: A function to manually update the resource state.\n */\nexport const useResource = <T, P = any>(\n config: Fetch<T, P> | Config<Fetch<T, P>>,\n deps?: any,\n) => {\n\n const fetch = _.isFunction(config) ? config : config.fetch;\n const debounce = _.isFunction(config) ? {} : config.debounce;\n\n const [state, setState] = useState<{\n type?: 'refresh' | 'next';\n count?: number;\n flag?: boolean;\n resource?: T;\n error?: any;\n token?: string;\n abort?: AbortController;\n }>({});\n\n const _dispatch = (\n token: string,\n next: SetStateAction<typeof state>,\n ) => setState(state => state.token === token ? ({\n ...(_.isFunction(next) ? next(state.flag ? state : _.omit(state, 'resource', 'error')) : next),\n count: state.flag ? state.count : (state.count ?? 0) + 1,\n flag: true,\n }) : state);\n\n const _fetch = useAsyncDebounce(async (\n type: 'refresh' | 'next',\n abort: AbortController,\n reset: boolean,\n param?: P,\n prevState?: T,\n ) => {\n\n const token = uniqueId();\n setState(state => ({ ...state, type, token, abort, flag: !reset }));\n\n try {\n\n const resource = await fetch({\n param,\n prevState,\n abortSignal: abort.signal,\n dispatch: (next) => {\n _dispatch(token, state => ({\n ...state,\n resource: _.isFunction(next) ? next(state.resource) : next,\n }));\n },\n });\n\n _dispatch(token, state => ({ resource: resource ?? state.resource }));\n\n } catch (error) {\n\n _dispatch(token, state => ({\n resource: state.resource,\n error,\n }));\n }\n\n }, debounce ?? {});\n\n useEffect(() => {\n const controller = new AbortController();\n void _fetch('refresh', controller, true);\n return () => controller.abort();\n }, deps ?? []);\n\n const _cancelRef = useCallback((reason?: any) => { state.abort?.abort(reason) });\n const _refreshRef = useCallback((param?: P) => _fetch('refresh', new AbortController(), true, param));\n const _nextRef = useCallback((param?: P) => _fetch('next', new AbortController(), false, param, state.resource));\n const _setResRef = useCallback((resource: T | ((prevState?: T) => T)) => setState(state => ({\n ..._.omit(state, 'resource', 'error'),\n resource: _.isFunction(resource) ? resource(state.resource) : resource,\n })));\n\n const { setErrors } = useErrorContext();\n useEffect(() => {\n const { type, abort, token = uniqueId(), error } = state;\n if (!error) return;\n setErrors(v => [...v, {\n token,\n error,\n refresh: _refreshRef,\n refreshing: !_.isNil(abort) && type === 'refresh',\n loading: !_.isNil(abort),\n }]);\n return () => setErrors(v => _.filter(v, x => x.token !== token));\n }, [state]);\n\n return {\n count: state.count ?? 0,\n refreshing: !_.isNil(state.abort) && state.type === 'refresh',\n loading: !_.isNil(state.abort),\n resource: state.resource,\n error: state.error,\n cancel: _cancelRef,\n refresh: _refreshRef,\n next: _nextRef,\n setResource: _setResRef,\n };\n}\n\n/**\n * A hook to manage asynchronous iterable resources, such as streams or paginated data.\n * \n * @template T - The type of the resource items being fetched.\n * @template P - The type of the parameters passed to the fetch function.\n * \n * @param config - The fetch function or a configuration object containing the fetch function and optional debounce settings.\n * @param deps - An optional dependency array to control when the resource is refreshed.\n * \n * @returns An object containing the same properties as `useResource`, but optimized for iterable resources.\n */\nexport const useIterableResource = <T, P = any>(\n config: FetchWithIterable<T, P> | Config<FetchWithIterable<T, P>>,\n deps?: any,\n) => {\n const fetch = _.isFunction(config) ? config : config.fetch;\n const debounce = _.isFunction(config) ? {} : config.debounce;\n const { next, ...result } = useResource<T[]>({\n fetch: async ({ dispatch, abortSignal, param }) => {\n const resource = await fetch({ abortSignal, param });\n for await (const item of resource) {\n dispatch(items => items ? [...items, item] : [item]);\n }\n },\n debounce,\n }, deps);\n return result;\n}\n","//\n// interval.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { useEffect } from '../effect';\n\n/**\n * A hook that repeatedly calls the provided callback function at the specified interval.\n * \n * @param callback - The function to be executed at each interval.\n * @param ms - The delay in milliseconds between each call to the callback. If not provided, the interval will not be set.\n * @returns void\n * \n * @example\n * useInterval(() => {\n * // Code to run every 1000ms\n * }, 1000);\n */\nexport const useInterval = (\n callback: () => void,\n ms?: number,\n) => useEffect(() => {\n if (_.isNil(ms)) return;\n const interval = setInterval(() => {\n callback();\n }, ms);\n return () => clearInterval(interval);\n}, [ms]);\n","//\n// store.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { SetStateAction } from '../../types/common';\nimport { useSyncExternalStore } from '../sync';\n\n/**\n * A class representing a store that holds a value and allows for subscription\n * to changes in that value.\n *\n * @template T - The type of the value stored in the store.\n *\n * @example\n * const store = createStore(0);\n * store.setValue(1);\n * store.subscribe((oldVal, newVal) => {\n * console.log(`Value changed from ${oldVal} to ${newVal}`);\n * });\n */\nclass Store<T> {\n\n #listeners = new Set<(oldVal: T, newVal: T) => void>();\n #value: T;\n\n /** @internal */\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n\n /**\n * Gets the current value of the store.\n * \n * @returns The current value of the store.\n */\n get value() {\n return this.#value;\n }\n\n /**\n * Sets the value of the store and notifies all subscribers.\n * \n * @param dispatch - The new value or a function that returns the new value.\n */\n setValue(dispatch: SetStateAction<T>) {\n const oldVal = this.#value;\n this.#value = _.isFunction(dispatch) ? dispatch(this.#value) : dispatch;\n this.#listeners.forEach(listener => void listener(oldVal, this.#value));\n }\n\n /**\n * Subscribes to changes in the store's value.\n * \n * @param callback - The function to call when the value changes.\n * @returns A function to unsubscribe from the store.\n */\n subscribe(callback: (oldVal: T, newVal: T) => void) {\n this.#listeners.add(callback);\n return () => { this.#listeners.delete(callback); };\n }\n}\n\n/**\n * Creates a new store with the given initial value.\n * \n * @param initialValue - The initial value to be stored.\n * @returns {Store<T>} A new store instance.\n *\n * @example\n * const counterStore = createStore(0);\n */\nexport const createStore = <T extends unknown = any>(initialValue: T) => new Store(initialValue);\n\n/**\n * A hook to subscribe to a store and select a slice of its state.\n * The component will re-render when the selected state changes.\n * \n * @param store - The store instance to subscribe to.\n * @param selector - A function to select a part of the store's state. Defaults to the entire state.\n * @param equal - A function to compare selected values for equality. Defaults to deep equality.\n * @returns The selected slice of the store's state.\n *\n * @example\n * const count = useStore(counterStore);\n *\n * @example\n * // Using a selector\n * const userName = useStore(userStore, user => user.name);\n */\nexport const useStore = <T extends unknown = any, S = T>(\n store: Store<T>,\n selector: (state: T) => S = v => v as any,\n equal: (value: S, other: S) => boolean = _.isEqual,\n): S => useSyncExternalStore(\n (onStoreChange) => store.subscribe((oldVal, newVal) => {\n if (!equal(selector(oldVal), selector(newVal))) onStoreChange();\n }),\n () => selector(store.value)\n);\n","//\n// awaited.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { reconciler } from '../reconciler';\nimport { _useMemo } from '../reconciler/hooks';\n\nconst resolved = new WeakMap<PromiseLike<any>, { result?: any; error?: any; }>();\n\n/**\n * Eagerly resolves a promise returned by the factory function and caches its result or error.\n *\n * This hook ensures the promise settles before rendering completes. If the promise is still pending,\n * it returns `undefined` and schedules an immediate rerender of the current component. Once resolved, it returns the value.\n * If rejected, it throws the error.\n *\n * #### Usage\n * ```typescript\n * const data = useAwaited(() => fetchData(id), [id]);\n * ```\n *\n * #### Parameters\n * - `factory`: `() => PromiseLike<T>` \n * A function that returns a promise to resolve.\n * - `deps` (optional): `any` \n * Dependency array for memoization. The promise is recreated when dependencies change.\n *\n * #### Returns\n * - `T | undefined` \n * The resolved value, once available. Returns `undefined` while the promise is pending.\n * - Throws the rejection error if the promise fails.\n *\n * #### Throws\n * - Error if used outside a render function.\n * - The rejection error if the promise fails.\n *\n * @template T Type of the resolved value.\n */\nexport const useAwaited = <T>(\n factory: () => PromiseLike<T>,\n deps?: any,\n): T | undefined => {\n const state = reconciler.currentHookState;\n if (!state) throw Error('useAwaited must be used within a render function.');\n const promise = _useMemo('useAwaited', () => factory(), deps ?? null);\n if (resolved.has(promise)) {\n const { result, error } = resolved.get(promise) ?? {};\n if (error) throw error;\n return result;\n }\n state.tasks.push((async () => {\n try {\n const result = await promise;\n resolved.set(promise, { result });\n } catch (error) {\n resolved.set(promise, { error });\n }\n })());\n}","//\n// memo.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useEffect, _useMemo } from '../reconciler/hooks';\nimport { Ref, RefObject } from '../types/common';\n\n/**\n * Creates a mutable reference object that persists across function calls.\n * \n * @template T The type of the value stored in the reference.\n * @param initialValue The initial value to store in the reference.\n * @returns An object with a `current` property that holds the value.\n */\nexport function useRef<T>(initialValue: T): RefObject<T>;\nexport function useRef<T = undefined>(): RefObject<T | undefined>;\n\nexport function useRef(initialValue?: any) {\n return _useMemo('useRef', () => ({ current: initialValue }), null);\n}\n\n/**\n * Associates a reference with a value created by an initializer function.\n * \n * @template T The type of the reference.\n * @template R The type of the value created by the initializer function.\n * @param ref A reference object or a callback function to receive the value.\n * @param init A function that initializes and returns the value to associate with the reference.\n * @param deps An optional dependency array. The initializer function is re-executed when the dependencies change.\n */\nexport const useRefHandle = <T, R extends T>(\n ref: Ref<T> | undefined,\n init: () => R,\n deps?: any\n) => _useEffect('useRefHandle', () => {\n try {\n if (ref) {\n const _ref = init();\n if (typeof ref === 'function') ref(_ref);\n else if (typeof ref === 'object') ref.current = _ref;\n }\n return () => void 0;\n } catch (e) {\n console.error(e);\n return () => void 0;\n }\n}, deps);","//\n// stack.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { reconciler } from '../reconciler';\n\n/**\n * Retrieves the stack of parent components from the current hook state.\n *\n * This function accesses the current hook state and extracts the stack of \n * parent components. It throws an error if called outside of a valid render \n * context.\n *\n * @returns An array of parent components from the current hook state.\n * @throws Will throw an error if the function is called outside of a valid render context.\n */\nexport const useStack = () => {\n const state = reconciler.currentHookState;\n if (!state) throw Error('useStack must be used within a render function.');\n return _.map(state.stack, x => x.component);\n}\n","//\n// reducer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useMemo } from '../reconciler/hooks';\n\n/**\n * A utility function that manages state using a reducer pattern.\n * \n * @template T The type of the state.\n * @template A The type of the action object (optional).\n * @param reducer A function that takes the current state and an action, and returns the new state.\n * @param initialState The initial state value or a function that returns the initial state.\n * @returns A tuple containing the current state and a dispatch function to update the state.\n */\nexport function useReducer<T>(\n reducer: (prevState: T) => T,\n initialState: T | (() => T),\n): [T, (dispatch: () => void) => void];\n\nexport function useReducer<T, A = any>(\n reducer: (prevState: T, action: A) => T,\n initialState: T | (() => T),\n): [T, (dispatch: (action: A) => void) => void];\n\nexport function useReducer<T = undefined>(\n reducer: (prevState: T | undefined) => T | undefined\n): [T | undefined, (dispatch: () => void) => void];\n\nexport function useReducer<T = undefined, A = any>(\n reducer: (prevState: T | undefined, action: A) => T | undefined\n): [T | undefined, (dispatch: (action: A) => void) => void];\n\nexport function useReducer(\n reducer: (prevState: any, action?: any) => any,\n initialState?: any,\n) {\n const { value, dispatch } = _useMemo('useReducer', (_state) => {\n const state = {\n value: _.isFunction(initialState) ? initialState() : initialState,\n dispatch: (action?: any) => {\n const oldValue = state.value;\n const newValue = reducer(state.value, action);\n if (oldValue === newValue) return;\n state.value = newValue;\n _state.setDirty();\n },\n };\n return state;\n }, null);\n return [value, dispatch];\n}\n"],"names":["_useMemo","useState","uniqueId","useEffect","useCallback","useErrorContext","useSyncExternalStore","reconciler","_useEffect"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA,MAAM,QAAQ,GAAG,CACf,QAAW,EACX,QAAiD,KAC/C;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ;AACrC,IAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE;AAChC,QAAA,GAAG,OAAO;AACV,QAAA,OAAO,EAAE,SAAS,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI;AACxD,QAAA,QAAQ,EAAE,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;AAC5D,KAAA,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,CACpB,IAAO,EACP,QAAiD,KAC/C;AAGF,IAAA,IAAI,SAAqB;IAEzB,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAEzB,OAAyC,EACzC,GAAG,IAAmB,EAAA;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAW,CAAmB;AAChE,QAAA,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;AAC1C,QAAA,OAAO,MAAM;IACf,CAAC,EAAE,QAAQ,CAAC;IAEZ,OAAO,UAAqB,GAAG,IAAmB,EAAA;AAChD,QAAA,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACtB,SAAS,GAAG,IAAI,OAAO,CAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACjE,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS;AAC9D,IAAA,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;AAcG;MACU,WAAW,GAAG,CACzB,QAAW,EACX,QAAiD,KAC/C;AACF,IAAA,MAAM,KAAK,GAAGA,aAAQ,CAAC,aAAa,EAAE,MAAK;AACzC,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,MAAM,EAAE,QAAQ,EAAE,UAAqB,GAAG,IAAI,EAAA;gBAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;YAC1C,CAAC,GAAQ,QAAQ,CAAC;SACnB;AACD,QAAA,OAAO,KAAK;IACd,CAAC,EAAE,IAAI,CAAC;AACR,IAAA,KAAK,CAAC,OAAO,GAAG,QAAQ;IACxB,OAAO,KAAK,CAAC,MAAM;AACrB;AAEA;;;;;;;;;;;;;;AAcG;MACU,gBAAgB,GAAG,CAC9B,QAAW,EACX,QAAiD,KAC/C;AACF,IAAA,MAAM,KAAK,GAAGA,aAAQ,CAAC,kBAAkB,EAAE,MAAK;AAC9C,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,MAAM,EAAE,aAAa,EAAE,UAAqB,GAAG,IAAI,EAAA;gBACjD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;YAC1C,CAAC,GAAQ,QAAQ,CAAC;SACnB;AACD,QAAA,OAAO,KAAK;IACd,CAAC,EAAE,IAAI,CAAC;AACR,IAAA,KAAK,CAAC,OAAO,GAAG,QAAQ;IACxB,OAAO,KAAK,CAAC,MAAM;AACrB;;ACjIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;;;;;;;;;;;;;;;;;;;AAmBG;MACU,WAAW,GAAG,CACzB,MAAyC,EACzC,IAAU,KACR;AAEF,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK;AAC1D,IAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ;IAE5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,aAAQ,CAQ/B,EAAE,CAAC;IAEN,MAAM,SAAS,GAAG,CAChB,KAAa,EACb,IAAkC,KAC/B,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI;AAC9C,QAAA,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9F,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;AACxD,QAAA,IAAI,EAAE,IAAI;AACX,KAAA,IAAI,KAAK,CAAC;AAEX,IAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAC9B,IAAwB,EACxB,KAAsB,EACtB,KAAc,EACd,KAAS,EACT,SAAa,KACX;AAEF,QAAA,MAAM,KAAK,GAAGC,cAAQ,EAAE;QACxB,QAAQ,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AAEnE,QAAA,IAAI;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;gBAC3B,KAAK;gBACL,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,MAAM;AACzB,gBAAA,QAAQ,EAAE,CAAC,IAAI,KAAI;AACjB,oBAAA,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK;AACzB,wBAAA,GAAG,KAAK;AACR,wBAAA,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;AAC3D,qBAAA,CAAC,CAAC;gBACL,CAAC;AACF,aAAA,CAAC;AAEF,YAAA,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvE;QAAE,OAAO,KAAK,EAAE;AAEd,YAAA,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK;gBACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK;AACN,aAAA,CAAC,CAAC;QACL;AAEF,IAAA,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;IAElBC,cAAS,CAAC,MAAK;AACb,QAAA,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;QACxC,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC;AACxC,QAAA,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE;AACjC,IAAA,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IAEd,MAAM,UAAU,GAAGC,gBAAW,CAAC,CAAC,MAAY,KAAI,EAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAGA,gBAAW,CAAC,CAAC,KAAS,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAGA,gBAAW,CAAC,CAAC,KAAS,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChH,IAAA,MAAM,UAAU,GAAGA,gBAAW,CAAC,CAAC,QAAoC,KAAK,QAAQ,CAAC,KAAK,KAAK;QAC1F,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;AACrC,QAAA,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ;KACvE,CAAC,CAAC,CAAC;AAEJ,IAAA,MAAM,EAAE,SAAS,EAAE,GAAGC,oBAAe,EAAE;IACvCF,cAAS,CAAC,MAAK;AACb,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAGD,cAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK;AACxD,QAAA,IAAI,CAAC,KAAK;YAAE;QACZ,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACpB,KAAK;gBACL,KAAK;AACL,gBAAA,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS;AACjD,gBAAA,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACzB,aAAA,CAAC,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAClE,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,OAAO;AACL,QAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;AACvB,QAAA,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,WAAW,EAAE,UAAU;KACxB;AACH;AAEA;;;;;;;;;;AAUG;MACU,mBAAmB,GAAG,CACjC,MAAiE,EACjE,IAAU,KACR;AACF,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK;AAC1D,IAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAM;QAC3C,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAI;YAChD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACpD,YAAA,WAAW,MAAM,IAAI,IAAI,QAAQ,EAAE;gBACjC,QAAQ,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD;QACF,CAAC;QACD,QAAQ;KACT,EAAE,IAAI,CAAC;AACR,IAAA,OAAO,MAAM;AACf;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;;;;;;;;;;;AAWG;AACI,MAAM,WAAW,GAAG,CACzB,QAAoB,EACpB,EAAW,KACRC,cAAS,CAAC,MAAK;AAClB,IAAA,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE;AACjB,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,QAAQ,EAAE;IACZ,CAAC,EAAE,EAAE,CAAC;AACN,IAAA,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC;AACtC,CAAC,EAAE,CAAC,EAAE,CAAC;;ACjDP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;;;;;;;;;;;AAYG;AACH,MAAM,KAAK,CAAA;AAET,IAAA,UAAU,GAAG,IAAI,GAAG,EAAkC;AACtD,IAAA,MAAM;;AAGN,IAAA,WAAA,CAAY,YAAe,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,YAAY;IAC5B;AAEA;;;;AAIG;AACH,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;;AAIG;AACH,IAAA,QAAQ,CAAC,QAA2B,EAAA;AAClC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ;AACvE,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE;AAEA;;;;;AAKG;AACH,IAAA,SAAS,CAAC,QAAwC,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,QAAA,OAAO,MAAK,EAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD;AACD;AAED;;;;;;;;AAQG;AACI,MAAM,WAAW,GAAG,CAA0B,YAAe,KAAK,IAAI,KAAK,CAAC,YAAY;AAE/F;;;;;;;;;;;;;;;AAeG;AACI,MAAM,QAAQ,GAAG,CACtB,KAAe,EACf,QAAA,GAA4B,CAAC,IAAI,CAAQ,EACzC,KAAA,GAAyC,CAAC,CAAC,OAAO,KAC5CG,yBAAoB,CAC1B,CAAC,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,KAAI;AACpD,IAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AAAE,QAAA,aAAa,EAAE;AACjE,CAAC,CAAC,EACF,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;;ACvH7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAoD;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;MACU,UAAU,GAAG,CACxB,OAA6B,EAC7B,IAAU,KACO;AACjB,IAAA,MAAM,KAAK,GAAGC,gBAAU,CAAC,gBAAgB;AACzC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,MAAM,KAAK,CAAC,mDAAmD,CAAC;AAC5E,IAAA,MAAM,OAAO,GAAGP,aAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC;AACrE,IAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACzB,QAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;AACrD,QAAA,IAAI,KAAK;AAAE,YAAA,MAAM,KAAK;AACtB,QAAA,OAAO,MAAM;IACf;IACA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAW;AAC3B,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,MAAM,OAAO;YAC5B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;QACnC;QAAE,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;QAClC;IACF,CAAC,GAAG,CAAC;AACP;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBM,SAAU,MAAM,CAAC,YAAkB,EAAA;AACvC,IAAA,OAAOA,aAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC;AACpE;AAEA;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG,CAC1B,GAAuB,EACvB,IAAa,EACb,IAAU,KACPQ,eAAU,CAAC,cAAc,EAAE,MAAK;AACnC,IAAA,IAAI;QACF,IAAI,GAAG,EAAE;AACP,YAAA,MAAM,IAAI,GAAG,IAAI,EAAE;YACnB,IAAI,OAAO,GAAG,KAAK,UAAU;gBAAE,GAAG,CAAC,IAAI,CAAC;iBACnC,IAAI,OAAO,GAAG,KAAK,QAAQ;AAAE,gBAAA,GAAG,CAAC,OAAO,GAAG,IAAI;QACtD;AACA,QAAA,OAAO,MAAM,KAAK,CAAC;IACrB;IAAE,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,OAAO,MAAM,MAAM;IACrB;AACF,CAAC,EAAE,IAAI;;ACpEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;;;;;;;;;AASG;AACI,MAAM,QAAQ,GAAG,MAAK;AAC3B,IAAA,MAAM,KAAK,GAAGD,gBAAU,CAAC,gBAAgB;AACzC,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,MAAM,KAAK,CAAC,iDAAiD,CAAC;AAC1E,IAAA,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;AAC7C;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgCM,SAAU,UAAU,CACxB,OAA8C,EAC9C,YAAkB,EAAA;AAElB,IAAA,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAGP,aAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,KAAI;AAC5D,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY;AACjE,YAAA,QAAQ,EAAE,CAAC,MAAY,KAAI;AACzB,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK;gBAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC7C,IAAI,QAAQ,KAAK,QAAQ;oBAAE;AAC3B,gBAAA,KAAK,CAAC,KAAK,GAAG,QAAQ;gBACtB,MAAM,CAAC,QAAQ,EAAE;YACnB,CAAC;SACF;AACD,QAAA,OAAO,KAAK;IACd,CAAC,EAAE,IAAI,CAAC;AACR,IAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/hooks/debounce.ts","../../src/core/hooks/misc/resource/index.ts","../../src/core/hooks/misc/interval.ts","../../src/core/hooks/misc/store.ts","../../src/core/hooks/awaited.ts","../../src/core/hooks/ref.ts","../../src/core/hooks/stack.ts","../../src/core/hooks/reducer.ts"],"sourcesContent":["//\n// debounce.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useMemo } from '../reconciler/hooks';\n\nconst debounce = <T extends (...args: any) => any>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const { wait, ...options } = settings;\n return _.debounce(callback, wait, {\n ...options,\n leading: 'leading' in options ? !!options.leading : true,\n trailing: 'trailing' in options ? !!options.trailing : true,\n });\n}\n\nconst asyncDebounce = <T extends (...args: any) => PromiseLike<any>>(\n func: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n\n type R = T extends (...args: any) => PromiseLike<infer R> ? R : never;\n let preflight: Promise<R>;\n\n const debounced = debounce(async function (\n this: any,\n resolve?: (value: PromiseLike<R>) => void,\n ...args: Parameters<T>\n ) {\n const result = func.call(this, ...args as any) as PromiseLike<R>;\n if (_.isFunction(resolve)) resolve(result);\n return result;\n }, settings);\n\n return function (this: any, ...args: Parameters<T>) {\n if (_.isNil(preflight)) {\n preflight = new Promise<R>(r => debounced.call(this, r, ...args));\n return preflight;\n }\n return debounced.call(this, undefined, ...args) ?? preflight;\n };\n};\n\n/**\n * A hook that creates a debounced version of a function.\n * The debounced function delays invoking the callback until after\n * the specified wait time has elapsed since the last time it was called.\n * \n * This is useful for optimizing performance in scenarios where frequent\n * function calls (e.g., during user input or window resizing) can be expensive.\n * \n * @template T The type of the callback function.\n * @param callback The function to debounce.\n * @param settings Configuration options for debouncing, including:\n * - `wait` (number): The number of milliseconds to delay.\n * - Other lodash debounce options such as `leading` and `trailing`.\n * @returns A debounced version of the callback function.\n */\nexport const useDebounce = <T extends (...args: any) => any>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const store = _useMemo('useDebounce', () => {\n const store = {\n current: callback,\n stable: debounce((function (this: any, ...args) {\n return store.current.call(this, ...args);\n }) as T, settings),\n };\n return store;\n }, null);\n store.current = callback;\n return store.stable;\n}\n\n/**\n * A hook that creates a debounced version of an asynchronous function.\n * The debounced function delays invoking the callback until after\n * the specified wait time has elapsed since the last time it was called.\n * \n * This is particularly useful for scenarios where frequent API calls\n * or other asynchronous operations need to be throttled to improve performance.\n * \n * @template T The type of the asynchronous callback function.\n * @param callback The asynchronous function to debounce.\n * @param settings Configuration options for debouncing, including:\n * - `wait` (number): The number of milliseconds to delay.\n * - Other lodash debounce options such as `leading` and `trailing`.\n * @returns A debounced version of the asynchronous callback function.\n */\nexport const useAsyncDebounce = <T extends (...args: any) => PromiseLike<any>>(\n callback: T,\n settings: _.DebounceSettings & { wait?: number; },\n) => {\n const store = _useMemo('useAsyncDebounce', () => {\n const store = {\n current: callback,\n stable: asyncDebounce((function (this: any, ...args) {\n return store.current.call(this, ...args);\n }) as T, settings),\n };\n return store;\n }, null);\n store.current = callback;\n return store.stable;\n}\n","//\n// index.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { SetStateAction } from '../../../types/common';\nimport { Config, Fetch, FetchWithIterable } from './types';\nimport { useState } from '../../state';\nimport { useEffect } from '../../effect';\nimport { useCallback } from '../../callback';\nimport { useAsyncDebounce } from '../../debounce';\nimport { useErrorContext } from './error';\nimport { uniqueId } from '../../../../core/utils';\nexport { ResourceErrors, useResourceErrors } from './error';\n\n/**\n * A hook to manage asynchronous resources with support for debouncing, error handling, and state management.\n * \n * @template T - The type of the resource being fetched.\n * @template P - The type of the parameters passed to the fetch function.\n * \n * @param config - The fetch function or a configuration object containing the fetch function and optional debounce settings.\n * @param deps - An optional dependency array to control when the resource is refreshed.\n * \n * @returns An object containing:\n * - `count`: The number of times the resource has been fetched.\n * - `refreshing`: A boolean indicating if the resource is currently being refreshed.\n * - `loading`: A boolean indicating if the resource is currently being loaded.\n * - `resource`: The fetched resource.\n * - `error`: Any error encountered during the fetch.\n * - `cancel`: A function to cancel the current fetch operation.\n * - `refresh`: A function to refresh the resource.\n * - `next`: A function to fetch the next set of data (for paginated resources).\n * - `setResource`: A function to manually update the resource state.\n */\nexport const useResource = <T, P = any>(\n config: Fetch<T, P> | Config<Fetch<T, P>>,\n deps?: any,\n) => {\n\n const fetch = _.isFunction(config) ? config : config.fetch;\n const debounce = _.isFunction(config) ? {} : config.debounce;\n\n const [state, setState] = useState<{\n type?: 'refresh' | 'next';\n count?: number;\n flag?: boolean;\n resource?: T;\n error?: any;\n token?: string;\n abort?: AbortController;\n }>({});\n\n const _dispatch = (\n token: string,\n next: SetStateAction<typeof state>,\n ) => setState(state => state.token === token ? ({\n ...(_.isFunction(next) ? next(state.flag ? state : _.omit(state, 'resource', 'error')) : next),\n count: state.flag ? state.count : (state.count ?? 0) + 1,\n flag: true,\n }) : state);\n\n const _fetch = useAsyncDebounce(async (\n type: 'refresh' | 'next',\n abort: AbortController,\n reset: boolean,\n param?: P,\n prevState?: T,\n ) => {\n\n const token = uniqueId();\n setState(state => ({ ...state, type, token, abort, flag: !reset }));\n\n try {\n\n const resource = await fetch({\n param,\n prevState,\n abortSignal: abort.signal,\n dispatch: (next) => {\n _dispatch(token, state => ({\n ...state,\n resource: _.isFunction(next) ? next(state.resource) : next,\n }));\n },\n });\n\n _dispatch(token, state => ({ resource: resource ?? state.resource }));\n\n } catch (error) {\n\n _dispatch(token, state => ({\n resource: state.resource,\n error,\n }));\n }\n\n }, debounce ?? {});\n\n useEffect(() => {\n const controller = new AbortController();\n void _fetch('refresh', controller, true);\n return () => controller.abort();\n }, deps ?? []);\n\n const _cancelRef = useCallback((reason?: any) => { state.abort?.abort(reason) });\n const _refreshRef = useCallback((param?: P) => _fetch('refresh', new AbortController(), true, param));\n const _nextRef = useCallback((param?: P) => _fetch('next', new AbortController(), false, param, state.resource));\n const _setResRef = useCallback((resource: T | ((prevState?: T) => T)) => setState(state => ({\n ..._.omit(state, 'resource', 'error'),\n resource: _.isFunction(resource) ? resource(state.resource) : resource,\n })));\n\n const { setErrors } = useErrorContext();\n useEffect(() => {\n const { type, abort, token = uniqueId(), error } = state;\n if (!error) return;\n setErrors(v => [...v, {\n token,\n error,\n refresh: _refreshRef,\n refreshing: !_.isNil(abort) && type === 'refresh',\n loading: !_.isNil(abort),\n }]);\n return () => setErrors(v => _.filter(v, x => x.token !== token));\n }, [state]);\n\n return {\n count: state.count ?? 0,\n refreshing: !_.isNil(state.abort) && state.type === 'refresh',\n loading: !_.isNil(state.abort),\n resource: state.resource,\n error: state.error,\n cancel: _cancelRef,\n refresh: _refreshRef,\n next: _nextRef,\n setResource: _setResRef,\n };\n}\n\n/**\n * A hook to manage asynchronous iterable resources, such as streams or paginated data.\n * \n * @template T - The type of the resource items being fetched.\n * @template P - The type of the parameters passed to the fetch function.\n * \n * @param config - The fetch function or a configuration object containing the fetch function and optional debounce settings.\n * @param deps - An optional dependency array to control when the resource is refreshed.\n * \n * @returns An object containing the same properties as `useResource`, but optimized for iterable resources.\n */\nexport const useIterableResource = <T, P = any>(\n config: FetchWithIterable<T, P> | Config<FetchWithIterable<T, P>>,\n deps?: any,\n) => {\n const fetch = _.isFunction(config) ? config : config.fetch;\n const debounce = _.isFunction(config) ? {} : config.debounce;\n const { next, ...result } = useResource<T[]>({\n fetch: async ({ dispatch, abortSignal, param }) => {\n const resource = await fetch({ abortSignal, param });\n for await (const item of resource) {\n dispatch(items => items ? [...items, item] : [item]);\n }\n },\n debounce,\n }, deps);\n return result;\n}\n","//\n// interval.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { useEffect } from '../effect';\n\n/**\n * A hook that repeatedly calls the provided callback function at the specified interval.\n * \n * @param callback - The function to be executed at each interval.\n * @param ms - The delay in milliseconds between each call to the callback. If not provided, the interval will not be set.\n * @returns void\n * \n * @example\n * useInterval(() => {\n * // Code to run every 1000ms\n * }, 1000);\n */\nexport const useInterval = (\n callback: () => void,\n ms?: number,\n) => useEffect(() => {\n if (_.isNil(ms)) return;\n const interval = setInterval(() => {\n callback();\n }, ms);\n return () => clearInterval(interval);\n}, [ms]);\n","//\n// store.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { SetStateAction } from '../../types/common';\nimport { useSyncExternalStore } from '../sync';\n\n/**\n * A class representing a store that holds a value and allows for subscription\n * to changes in that value.\n *\n * @template T - The type of the value stored in the store.\n *\n * @example\n * const store = createStore(0);\n * store.setValue(1);\n * store.subscribe((oldVal, newVal) => {\n * console.log(`Value changed from ${oldVal} to ${newVal}`);\n * });\n */\nclass Store<T> {\n\n #listeners = new Set<(oldVal: T, newVal: T) => void>();\n #value: T;\n\n /** @internal */\n constructor(initialValue: T) {\n this.#value = initialValue;\n }\n\n /**\n * Gets the current value of the store.\n * \n * @returns The current value of the store.\n */\n get value() {\n return this.#value;\n }\n\n /**\n * Sets the value of the store and notifies all subscribers.\n * \n * @param dispatch - The new value or a function that returns the new value.\n */\n setValue(dispatch: SetStateAction<T>) {\n const oldVal = this.#value;\n this.#value = _.isFunction(dispatch) ? dispatch(this.#value) : dispatch;\n this.#listeners.forEach(listener => void listener(oldVal, this.#value));\n }\n\n /**\n * Subscribes to changes in the store's value.\n * \n * @param callback - The function to call when the value changes.\n * @returns A function to unsubscribe from the store.\n */\n subscribe(callback: (oldVal: T, newVal: T) => void) {\n this.#listeners.add(callback);\n return () => { this.#listeners.delete(callback); };\n }\n}\n\n/**\n * Creates a new store with the given initial value.\n * \n * @param initialValue - The initial value to be stored.\n * @returns {Store<T>} A new store instance.\n *\n * @example\n * const counterStore = createStore(0);\n */\nexport const createStore = <T extends unknown = any>(initialValue: T) => new Store(initialValue);\n\n/**\n * A hook to subscribe to a store and select a slice of its state.\n * The component will re-render when the selected state changes.\n * \n * @param store - The store instance to subscribe to.\n * @param selector - A function to select a part of the store's state. Defaults to the entire state.\n * @param equal - A function to compare selected values for equality. Defaults to deep equality.\n * @returns The selected slice of the store's state.\n *\n * @example\n * const count = useStore(counterStore);\n *\n * @example\n * // Using a selector\n * const userName = useStore(userStore, user => user.name);\n */\nexport const useStore = <T extends unknown = any, S = T>(\n store: Store<T>,\n selector: (state: T) => S = v => v as any,\n equal: (value: S, other: S) => boolean = _.isEqual,\n): S => useSyncExternalStore(\n (onStoreChange) => store.subscribe((oldVal, newVal) => {\n if (!equal(selector(oldVal), selector(newVal))) onStoreChange();\n }),\n () => selector(store.value)\n);\n","//\n// awaited.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { reconciler } from '../reconciler';\nimport { _useMemo } from '../reconciler/hooks';\n\nconst resolved = new WeakMap<PromiseLike<any>, { result?: any; error?: any; }>();\n\n/**\n * Eagerly resolves a promise returned by the factory function and caches its result or error.\n *\n * This hook ensures the promise settles before rendering completes. If the promise is still pending,\n * it returns `undefined` and schedules an immediate rerender of the current component. Once resolved, it returns the value.\n * If rejected, it throws the error.\n *\n * #### Usage\n * ```typescript\n * const data = useAwaited(() => fetchData(id), [id]);\n * ```\n *\n * #### Parameters\n * - `factory`: `() => PromiseLike<T>` \n * A function that returns a promise to resolve.\n * - `deps` (optional): `any` \n * Dependency array for memoization. The promise is recreated when dependencies change.\n *\n * #### Returns\n * - `T | undefined` \n * The resolved value, once available. Returns `undefined` while the promise is pending.\n * - Throws the rejection error if the promise fails.\n *\n * #### Throws\n * - Error if used outside a render function.\n * - The rejection error if the promise fails.\n *\n * @template T Type of the resolved value.\n */\nexport const useAwaited = <T>(\n factory: () => PromiseLike<T>,\n deps?: any,\n): T | undefined => {\n const state = reconciler.currentHookState;\n if (!state) throw Error('useAwaited must be used within a render function.');\n const promise = _useMemo('useAwaited', () => factory(), deps ?? null);\n if (resolved.has(promise)) {\n const { result, error } = resolved.get(promise) ?? {};\n if (error) throw error;\n return result;\n }\n state.tasks.push((async () => {\n try {\n const result = await promise;\n resolved.set(promise, { result });\n } catch (error) {\n resolved.set(promise, { error });\n }\n })());\n}","//\n// memo.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useEffect, _useMemo } from '../reconciler/hooks';\nimport { Ref, RefObject } from '../types/common';\n\n/**\n * Creates a mutable reference object that persists across function calls.\n * \n * @template T The type of the value stored in the reference.\n * @param initialValue The initial value to store in the reference.\n * @returns An object with a `current` property that holds the value.\n */\nexport function useRef<T>(initialValue: T): RefObject<T>;\nexport function useRef<T = undefined>(): RefObject<T | undefined>;\n\nexport function useRef(initialValue?: any) {\n return _useMemo('useRef', () => ({ current: initialValue }), null);\n}\n\n/**\n * Associates a reference with a value created by an initializer function.\n * \n * @template T The type of the reference.\n * @template R The type of the value created by the initializer function.\n * @param ref A reference object or a callback function to receive the value.\n * @param init A function that initializes and returns the value to associate with the reference.\n * @param deps An optional dependency array. The initializer function is re-executed when the dependencies change.\n */\nexport const useRefHandle = <T, R extends T>(\n ref: Ref<T> | undefined,\n init: () => R,\n deps?: any\n) => _useEffect('useRefHandle', () => {\n try {\n if (ref) {\n const _ref = init();\n if (typeof ref === 'function') ref(_ref);\n else if (typeof ref === 'object') ref.current = _ref;\n }\n return () => void 0;\n } catch (e) {\n console.error(e);\n return () => void 0;\n }\n}, deps);","//\n// stack.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { reconciler } from '../reconciler';\n\n/**\n * Retrieves the stack of parent components from the current hook state.\n *\n * This function accesses the current hook state and extracts the stack of \n * parent components. It throws an error if called outside of a valid render \n * context.\n *\n * @returns An array of parent components from the current hook state.\n * @throws Will throw an error if the function is called outside of a valid render context.\n */\nexport const useStack = () => {\n const state = reconciler.currentHookState;\n if (!state) throw Error('useStack must be used within a render function.');\n return _.map(state.stack, x => x.component);\n}\n","//\n// reducer.ts\n//\n// The MIT License\n// Copyright (c) 2021 - 2026 O2ter Limited. All rights reserved.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\nimport _ from 'lodash';\nimport { _useMemo } from '../reconciler/hooks';\n\n/**\n * A utility function that manages state using a reducer pattern.\n * \n * @template T The type of the state.\n * @template A The type of the action object (optional).\n * @param reducer A function that takes the current state and an action, and returns the new state.\n * @param initialState The initial state value or a function that returns the initial state.\n * @returns A tuple containing the current state and a dispatch function to update the state.\n */\nexport function useReducer<T>(\n reducer: (prevState: T) => T,\n initialState: T | (() => T),\n): [T, (dispatch: () => void) => void];\n\nexport function useReducer<T, A = any>(\n reducer: (prevState: T, action: A) => T,\n initialState: T | (() => T),\n): [T, (dispatch: (action: A) => void) => void];\n\nexport function useReducer<T = undefined>(\n reducer: (prevState: T | undefined) => T | undefined\n): [T | undefined, (dispatch: () => void) => void];\n\nexport function useReducer<T = undefined, A = any>(\n reducer: (prevState: T | undefined, action: A) => T | undefined\n): [T | undefined, (dispatch: (action: A) => void) => void];\n\nexport function useReducer(\n reducer: (prevState: any, action?: any) => any,\n initialState?: any,\n) {\n const { value, dispatch } = _useMemo('useReducer', (_state) => {\n const state = {\n value: _.isFunction(initialState) ? initialState() : initialState,\n dispatch: (action?: any) => {\n const oldValue = state.value;\n const newValue = reducer(state.value, action);\n if (oldValue === newValue) return;\n state.value = newValue;\n _state.setDirty();\n },\n };\n return state;\n }, null);\n return [value, dispatch];\n}\n"],"names":["_","callback","_useMemo","useState","uniqueId","useEffect","useCallback","useErrorContext","useSyncExternalStore","reconciler","_useEffect"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,9 +1,11 @@
1
1
  export { C as ComponentNode, F as Fragment, c as createElement } from './internals/runtime-Bpq-U9sI.mjs';
2
2
  import { u as uniqueId, r as reconciler } from './internals/index-CODWK-gF.mjs';
3
3
  export { E as ErrorBoundary, P as PropsProvider, c as createContext, a as createPairs, m as mergeRefs, b as useContext } from './internals/index-CODWK-gF.mjs';
4
- import { _ as _useMemo, u as useState, a as useEffect, b as useCallback, c as useErrorContext, d as useSyncExternalStore, e as _useEffect } from './internals/form-RKmiM_eK.mjs';
5
- export { F as FormActivity, R as ResourceErrors, f as _useCallbacks, g as createActivity, h as useActivity, i as useFormState, j as useMemo, k as useRendererStorage, l as useResourceErrors } from './internals/form-RKmiM_eK.mjs';
4
+ import { u as useState, a as useEffect, b as useErrorContext, c as useSyncExternalStore } from './internals/form-Cee86QUZ.mjs';
5
+ export { F as FormActivity, R as ResourceErrors, d as createActivity, e as useActivity, f as useFormState, g as useRendererStorage, h as useResourceErrors } from './internals/form-Cee86QUZ.mjs';
6
6
  import _ from 'lodash';
7
+ import { _ as _useMemo, u as useCallback, a as _useEffect } from './internals/callback-DEKCuARB.mjs';
8
+ export { b as _useCallbacks, c as useMemo } from './internals/callback-DEKCuARB.mjs';
7
9
  import 'myers.js';
8
10
  import './jsx-runtime.mjs';
9
11