phaser-hooks 0.6.0 โ†’ 0.7.0

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.
package/README.md CHANGED
@@ -68,9 +68,25 @@ pnpm add phaser-hooks
68
68
  # or
69
69
  yarn add phaser-hooks
70
70
  ```
71
-
72
71
  > **Note:** This library uses "with" prefix (e.g., `withLocalState`) instead of "use" to avoid ESLint warnings in `.ts` files.
73
72
 
73
+ ## ๐ŸŒ UMD/CDN (JavaScript)
74
+
75
+ If you prefer not to use TypeScript or want to include the library via CDN, you can use the UMD build:
76
+
77
+ ```html
78
+ <script src="https://cdn.jsdelivr.net/npm/phaser-hooks@0.6.0/dist/phaser-hooks.min.js"></script>
79
+ ```
80
+
81
+ The library will be available globally as `window.PhaserHooks`. You can use it like this:
82
+
83
+ ```javascript
84
+ // Create local state
85
+ const playerState = window.PhaserHooks.withLocalState(scene, 'player', { hp: 100 });
86
+ ```
87
+
88
+ > **โš ๏ธ Note**: While UMD builds are available, we **strongly recommend using TypeScript** for better type safety, IntelliSense, and development experience. The TypeScript version provides better error detection and autocomplete features.
89
+
74
90
  ## Quick Start
75
91
 
76
92
  Here's a complete example showing the basics:
@@ -0,0 +1,9 @@
1
+ export type ContextParams = {
2
+ store: string;
3
+ op: 'patch' | 'set';
4
+ oldValue: unknown;
5
+ registryType: 'global' | 'local';
6
+ [key: string]: unknown;
7
+ };
8
+ export declare const withDevtoolsContext: (meta: ContextParams, fn: () => void) => void;
9
+ //# sourceMappingURL=devtools-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-context.d.ts","sourceRoot":"","sources":["../../src/hooks/devtools-context.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,GAAG,KAAK,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,aAAa,EAAE,IAAI,MAAM,IAAI,KAAG,IAqBzE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { PHASER_HOOKS_VERSION } from '../version.js';
2
+ export const withDevtoolsContext = (meta, fn) => {
3
+ // Check if window is available (browser environment)
4
+ if (typeof window !== 'undefined') {
5
+ const windowContext = window;
6
+ const stack = (windowContext.__PHASER_HOOKS_CTX__ ||= []);
7
+ stack.push({
8
+ lib: 'phaser-hooks',
9
+ version: PHASER_HOOKS_VERSION,
10
+ ...meta,
11
+ });
12
+ try {
13
+ fn();
14
+ }
15
+ finally {
16
+ stack.pop();
17
+ }
18
+ }
19
+ else {
20
+ // In non-browser environments (e.g., tests), just execute the function
21
+ fn();
22
+ }
23
+ };
24
+ //# sourceMappingURL=devtools-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-context.js","sourceRoot":"","sources":["../../src/hooks/devtools-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAmB,EAAE,EAAc,EAAQ,EAAE;IAC/E,qDAAqD;IACrD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAwD,CAAC;QAC/E,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;QAE1D,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,oBAAoB;YAC7B,GAAG,IAAI;SACR,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,EAAE,EAAE,CAAC;QACP,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,EAAE,EAAE,CAAC;IACP,CAAC;AACH,CAAC,CAAC"}
@@ -75,20 +75,22 @@ export type HookState<T> = {
75
75
  onChange: (callback: StateChangeCallback<T>) => void;
76
76
  /**
77
77
  * Registers a callback to be called whenever the state changes
78
- * @param callback Function to call when state changes
78
+ * @param event The event name ('change')
79
+ * @param callback Function to call when state changes - receives newValue and oldValue
79
80
  */
80
- on: (event: 'change', callback: () => void) => () => void;
81
+ on: (event: 'change', callback: (newValue: T, oldValue: T) => void) => () => void;
81
82
  /**
82
83
  * Registers a callback to be called whenever the state changes
83
- * @param callback Function to call when state changes
84
+ * @param event The event name ('change')
85
+ * @param callback Function to call when state changes - receives newValue and oldValue
84
86
  */
85
- once: (event: 'change', callback: () => void) => () => void;
87
+ once: (event: 'change', callback: (newValue: T, oldValue: T) => void) => () => void;
86
88
  /**
87
89
  * Removes an event listener
88
90
  * @param event The event to remove
89
- * @param callback The callback to remove
91
+ * @param callback The callback to remove - receives newValue and oldValue
90
92
  */
91
- off: (event: 'change', callback: () => void) => void;
93
+ off: (event: 'change', callback: (newValue: T, oldValue: T) => void) => void;
92
94
  /**
93
95
  * Removes all event listeners for this state
94
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/hooks/type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAGF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,CAAC;IAEb;;;OAGG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE1C;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAErD;;;OAGG;IACH,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAE1D;;;OAGG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAE5D;;;;OAIG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAErD;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/hooks/type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAGF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,CAAC;IAEb;;;OAGG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE1C;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAElF;;;;OAIG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAEpF;;;;OAIG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;IAE7E;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC"}
@@ -68,8 +68,8 @@ export const withGlobalState = (scene, key, initialValue, options) => {
68
68
  throw new Error('[withGlobalState] Scene parameter is required');
69
69
  }
70
70
  // Prefix the key with scene key to ensure locality
71
- const localKey = `phaser-hooks:global:${key}`;
72
- return withStateDef(scene, localKey, initialValue, {
71
+ const globalKey = `phaser-hooks:global:${key}`;
72
+ return withStateDef(scene, globalKey, initialValue, {
73
73
  ...options,
74
74
  persistent: false, // Local state shouldn't persist across scene changes
75
75
  global: true,
@@ -1 +1 @@
1
- {"version":3,"file":"with-global-state.js","sourceRoot":"","sources":["../../src/hooks/with-global-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAmB,EACnB,GAAW,EACX,YAAgB,EAChB,OAAyB,EACX,EAAE;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,uBAAuB,GAAG,EAAE,CAAC;IAE9C,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE;QACjD,GAAG,OAAO;QACV,UAAU,EAAE,KAAK,EAAE,qDAAqD;QACxE,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"with-global-state.js","sourceRoot":"","sources":["../../src/hooks/with-global-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAmB,EACnB,GAAW,EACX,YAAgB,EAChB,OAAyB,EACX,EAAE;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,uBAAuB,GAAG,EAAE,CAAC;IAE/C,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE;QAClD,GAAG,OAAO;QACV,UAAU,EAAE,KAAK,EAAE,qDAAqD;QACxE,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"with-local-state.d.ts","sourceRoot":"","sources":["../../src/hooks/with-local-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,OAAO,MAAM,CAAC,KAAK,EACnB,KAAK,MAAM,EACX,eAAe,CAAC,EAChB,UAAU,eAAe,KACxB,SAAS,CAAC,CAAC,CAcb,CAAC"}
1
+ {"version":3,"file":"with-local-state.d.ts","sourceRoot":"","sources":["../../src/hooks/with-local-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,OAAO,MAAM,CAAC,KAAK,EACnB,KAAK,MAAM,EACX,eAAe,CAAC,EAChB,UAAU,eAAe,KACxB,SAAS,CAAC,CAAC,CAab,CAAC"}
@@ -68,8 +68,7 @@ export const withLocalState = (scene, key, initialValue, options) => {
68
68
  throw new Error('[withLocalState] Scene parameter is required');
69
69
  }
70
70
  // Prefix the key with scene key to ensure locality
71
- const sceneKey = scene.scene?.key || 'unknown-scene';
72
- const localKey = `phaser-hooks:local:${sceneKey}:${key}`;
71
+ const localKey = `phaser-hooks:local:${key}`;
73
72
  return withStateDef(scene, localKey, initialValue, {
74
73
  ...options,
75
74
  persistent: false, // Local state shouldn't persist across scene changes
@@ -1 +1 @@
1
- {"version":3,"file":"with-local-state.js","sourceRoot":"","sources":["../../src/hooks/with-local-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAmB,EACnB,GAAW,EACX,YAAgB,EAChB,OAAyB,EACX,EAAE;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,eAAe,CAAC;IACrD,MAAM,QAAQ,GAAG,sBAAsB,QAAQ,IAAI,GAAG,EAAE,CAAC;IAEzD,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE;QACjD,GAAG,OAAO;QACV,UAAU,EAAE,KAAK,EAAE,qDAAqD;QACxE,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"with-local-state.js","sourceRoot":"","sources":["../../src/hooks/with-local-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAmB,EACnB,GAAW,EACX,YAAgB,EAChB,OAAyB,EACX,EAAE;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,sBAAsB,GAAG,EAAE,CAAC;IAE7C,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE;QACjD,GAAG,OAAO;QACV,UAAU,EAAE,KAAK,EAAE,qDAAqD;QACxE,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -31,7 +31,7 @@ describe('withLocalState', () => {
31
31
  const setSpy = vi.spyOn(scene.data, 'set');
32
32
  withLocalState(scene, key, initialState);
33
33
  // withLocalState uses scene.data, not scene.registry, for local state
34
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}`, initialState);
34
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}`, initialState);
35
35
  setSpy.mockRestore();
36
36
  });
37
37
  it('should not set state in second call', () => {
@@ -40,7 +40,7 @@ describe('withLocalState', () => {
40
40
  const initialState = { ...baseState, life: 75 };
41
41
  const setSpy = vi.spyOn(scene.data, 'set');
42
42
  withLocalState(scene, key, initialState);
43
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}`, initialState);
43
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}`, initialState);
44
44
  // second call should not set state
45
45
  const hook = withLocalState(scene, key, {
46
46
  ...baseState,
@@ -733,6 +733,7 @@ describe('withLocalState', () => {
733
733
  const hook = withLocalState(scene, key, initialState);
734
734
  hook.once('change', callback);
735
735
  hook.set({ ...baseState, life: 90 });
736
+ expect(callback).toHaveBeenCalledWith({ ...baseState, life: 90 }, initialState);
736
737
  expect(callback).toHaveBeenCalled();
737
738
  hook.set({ ...baseState, life: 100 });
738
739
  expect(callback).toHaveBeenCalledTimes(1);
@@ -749,6 +750,39 @@ describe('withLocalState', () => {
749
750
  hook.set({ ...baseState, life: 100 });
750
751
  expect(callback).not.toHaveBeenCalled();
751
752
  });
753
+ it('should validate TypeScript types for newValue and oldValue parameters after calling .set', () => {
754
+ const scene = buildSceneMock();
755
+ const key = `test-state-${Date.now()}`;
756
+ const initialState = { ...baseState, life: 100 };
757
+ const hook = withLocalState(scene, key, initialState);
758
+ // Test that callbacks receive correctly typed newValue and oldValue
759
+ let capturedNewValue;
760
+ let capturedOldValue;
761
+ const onCallback = (newValue, oldValue) => {
762
+ capturedNewValue = newValue;
763
+ capturedOldValue = oldValue;
764
+ };
765
+ const onceCallback = (newValue, oldValue) => {
766
+ // Type check: newValue and oldValue should be FakeState
767
+ expect(newValue).toBeDefined();
768
+ expect(oldValue).toBeDefined();
769
+ };
770
+ // Register listeners with typed callbacks
771
+ hook.on('change', onCallback);
772
+ hook.once('change', onceCallback);
773
+ // Call .set and verify types are correct
774
+ const newState = { ...baseState, life: 90 };
775
+ hook.set(newState);
776
+ // Verify that callbacks received the correct typed values
777
+ expect(capturedNewValue).toEqual(newState);
778
+ expect(capturedOldValue).toEqual(initialState);
779
+ // Remove listener using .off with typed callback
780
+ hook.off('change', onCallback);
781
+ // Verify .off worked by setting again and checking offCallback wasn't called
782
+ hook.set({ ...baseState, life: 80 });
783
+ // onCallback should still be called
784
+ expect(capturedNewValue).toEqual({ ...baseState, life: 90 });
785
+ });
752
786
  });
753
787
  });
754
788
  describe('validators', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"with-local-state.spec.js","sourceRoot":"","sources":["../../src/hooks/with-local-state.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-local-state.spec.js","sourceRoot":"","sources":["../../src/hooks/with-local-state.spec.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export type StateDefOptions = {
36
36
  * This is the foundation for all other state hooks and provides direct access to
37
37
  * Phaser's scene registry with additional safety and TypeScript support.
38
38
  *
39
- * โš ๏ธ **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
39
+ * ?? **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
40
40
  * for most use cases unless you need specific registry control.
41
41
  *
42
42
  * @template T The type of the state value
@@ -1 +1 @@
1
- {"version":3,"file":"with-state-def.d.ts","sourceRoot":"","sources":["../../src/hooks/with-state-def.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAcjC,OAAO,EAAE,KAAK,SAAS,EAAsE,MAAM,QAAQ,CAAC;AAQ5G;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAmXF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,OAAO,MAAM,CAAC,KAAK,EACnB,KAAK,MAAM,EACX,eAAe,CAAC,EAChB,UAAS,eAAoB,KAC5B,SAAS,CAAC,CAAC,CA8Db,CAAC"}
1
+ {"version":3,"file":"with-state-def.d.ts","sourceRoot":"","sources":["../../src/hooks/with-state-def.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAejC,OAAO,EAAE,KAAK,SAAS,EAAsE,MAAM,QAAQ,CAAC;AAQ5G;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAmYF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,OAAO,MAAM,CAAC,KAAK,EACnB,KAAK,MAAM,EACX,eAAe,CAAC,EAChB,UAAS,eAAoB,KAC5B,SAAS,CAAC,CAAC,CA+Db,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { logStateInit, logStateGet, logStateSet, logEventListenerAdd, logEventListenerRemove, logClearListeners, logError, logWarning, } from '../utils/logger';
2
2
  import { merge } from '../utils/merge';
3
+ import { withDevtoolsContext } from './devtools-context';
3
4
  /**
4
5
  * Map of callbacks to their wrapped versions
5
6
  * @type {WeakMap<Function, Function>}
@@ -30,7 +31,7 @@ const get = (registry, key, debug) => {
30
31
  * @param {(value: unknown) => boolean | string} [validator] - Optional validator function
31
32
  * @throws {Error} If the validator returns false or an error message
32
33
  */
33
- const set = (registry, key, value, debug, validator) => {
34
+ const set = (registry, key, value, debug, registryType, validator) => {
34
35
  const currentValue = registry.get(key);
35
36
  // If value is a function, execute it with current state
36
37
  const newValue = typeof value === 'function' ? value(currentValue) : value;
@@ -43,15 +44,22 @@ const set = (registry, key, value, debug, validator) => {
43
44
  throw new Error(`[withStateDef] ${message}`);
44
45
  }
45
46
  }
46
- registry.set(key, newValue);
47
+ withDevtoolsContext({
48
+ op: 'set',
49
+ oldValue: currentValue,
50
+ store: key,
51
+ registryType,
52
+ }, () => {
53
+ registry.set(key, newValue);
54
+ });
47
55
  if (debug) {
48
56
  logStateSet(key, currentValue, newValue);
49
57
  }
50
58
  };
51
59
  /**
52
- * Applies a shallow merge ("patch") to an object state in the registry.
60
+ * Applies a deep merge ("patch") to an object state in the registry.
53
61
  *
54
- * This method attempts to update the current state associated with the given key by performing a shallow merge
62
+ * This method attempts to update the current state associated with the given key by performing a deep merge
55
63
  * between the existing state and the provided value or the result of an updater function.
56
64
  * The function will throw an error if the current state is not an object.
57
65
  * An optional validator function can be provided to ensure the new value is valid before committing the patch.
@@ -64,7 +72,7 @@ const set = (registry, key, value, debug, validator) => {
64
72
  * @param {(value: unknown) => boolean | string} [validator] - Optional validator function; must return true or an error message
65
73
  * @throws {Error} If the current value is not an object or the validator returns false/an error message
66
74
  */
67
- const patch = (registry, key, value, debug, validator) => {
75
+ const patch = (registry, key, value, debug, registryType, validator) => {
68
76
  const currentValue = registry.get(key);
69
77
  if (typeof currentValue !== 'object' || currentValue === null) {
70
78
  throw new Error('[withStateDef] Current value is not an object');
@@ -81,7 +89,14 @@ const patch = (registry, key, value, debug, validator) => {
81
89
  throw new Error(`[withStateDef] ${message}`);
82
90
  }
83
91
  }
84
- registry.set(key, newValue);
92
+ withDevtoolsContext({
93
+ op: 'patch',
94
+ oldValue: currentValue,
95
+ store: key,
96
+ registryType,
97
+ }, () => {
98
+ registry.set(key, newValue);
99
+ });
85
100
  if (debug) {
86
101
  logStateSet(key, currentValue, newValue);
87
102
  }
@@ -202,7 +217,7 @@ const initializeState = (registry, key, debug, validator, initialValue) => {
202
217
  * @param {string | symbol} event - The event name ('change')
203
218
  * @param {string} key - The key to listen for changes
204
219
  * @param {boolean} debug - Whether to log debug info
205
- * @param {Function} callback - The callback to invoke on event
220
+ * @param {(newValue: T, oldValue: T) => void} callback - The callback to invoke on event - receives the new value and the old value
206
221
  * @returns {() => void} Unsubscribe function to remove the listener
207
222
  * @throws {Error} If event is not 'change'
208
223
  */
@@ -235,7 +250,7 @@ const once = (registry, event, key, debug, callback) => {
235
250
  * @param {string | symbol} event - The event name ('change')
236
251
  * @param {string} key - The key to remove the listener from
237
252
  * @param {boolean} debug - Whether to log debug info
238
- * @param {Function} callback - The callback to remove
253
+ * @param {(newValue: T, oldValue: T) => void} callback - The callback to remove
239
254
  * @throws {Error} If event is not 'change'
240
255
  */
241
256
  const off = (registry, event, key, debug, callback) => {
@@ -270,7 +285,7 @@ const clearListeners = (registry, key, debug) => {
270
285
  * This is the foundation for all other state hooks and provides direct access to
271
286
  * Phaser's scene registry with additional safety and TypeScript support.
272
287
  *
273
- * โš ๏ธ **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
288
+ * ?? **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
274
289
  * for most use cases unless you need specific registry control.
275
290
  *
276
291
  * @template T The type of the state value
@@ -349,6 +364,7 @@ export const withStateDef = (scene, key, initialValue, options = {}) => {
349
364
  validateHook(scene, options, key);
350
365
  const { validator, debug = false, global = false } = options;
351
366
  const registry = global ? scene.registry : scene.data;
367
+ const registryType = global ? 'global' : 'local';
352
368
  // Fix: move debug and validator before initialValue to match required params before optional
353
369
  initializeState(registry, key, debug, validator, initialValue);
354
370
  return {
@@ -361,12 +377,12 @@ export const withStateDef = (scene, key, initialValue, options = {}) => {
361
377
  * Sets a new state value and triggers change listeners.
362
378
  * @param {T | ((currentState: T) => T)} value - The new value to set or a function that receives current state and returns new state
363
379
  */
364
- set: (value) => set(registry, key, value, debug, validator),
380
+ set: (value) => set(registry, key, value, debug, registryType, validator),
365
381
  /**
366
382
  * Patches the current state value with a new value.
367
383
  * @param {DeepPartial<T> | StatePatchUpdater<T>} value - The new value to patch or a function that receives current state and returns new state
368
384
  */
369
- patch: (value) => patch(registry, key, value, debug, validator),
385
+ patch: (value) => patch(registry, key, value, debug, registryType, validator),
370
386
  /**
371
387
  * Registers a callback to be called whenever the state changes (DEPRECATED).
372
388
  * @param {StateChangeCallback<T>} callback
@@ -1 +1 @@
1
- {"version":3,"file":"with-state-def.js","sourceRoot":"","sources":["../../src/hooks/with-state-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-state-def.js","sourceRoot":"","sources":["../../src/hooks/with-state-def.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,9 @@ describe('withUndoableState', () => {
33
33
  const setSpy = vi.spyOn(scene.data, 'set');
34
34
  withUndoableState(scene, key, initialState, 10);
35
35
  // withUndoableState uses scene.data for current state, history, and historyIndex
36
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}`, initialState);
37
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}:history`, [initialState]);
38
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}:historyIndex`, 0);
36
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}`, initialState);
37
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}:history`, [initialState]);
38
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}:historyIndex`, 0);
39
39
  setSpy.mockRestore();
40
40
  });
41
41
  it('should not set state in second call', () => {
@@ -44,9 +44,9 @@ describe('withUndoableState', () => {
44
44
  const initialState = { ...baseState, life: 75 };
45
45
  const setSpy = vi.spyOn(scene.data, 'set');
46
46
  withUndoableState(scene, key, initialState, 10);
47
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}`, initialState);
48
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}:history`, [initialState]);
49
- expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:test-scene:${key}:historyIndex`, 0);
47
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}`, initialState);
48
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}:history`, [initialState]);
49
+ expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local:${key}:historyIndex`, 0);
50
50
  // second call should not set state
51
51
  const hook = withUndoableState(scene, key, { ...baseState, life: 100 }, 10);
52
52
  expect(setSpy).toHaveBeenCalledTimes(3); // Only the initial 3 calls
@@ -1 +1 @@
1
- {"version":3,"file":"with-undoable-state.spec.js","sourceRoot":"","sources":["../../src/hooks/with-undoable-state.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-undoable-state.spec.js","sourceRoot":"","sources":["../../src/hooks/with-undoable-state.spec.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM1D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,GAAG;KACV,CAAA;IAED,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,oDAAoD;YACpD,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAY,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,oDAAoD;YACpD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAY,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC;QAClL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YAE/C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAE3D,iFAAiF;YACjF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACzF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;YAEjF,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YAE/C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE3C,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACzF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;YAEjF,mCAAmC;YACnC,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAEvE,sCAAsC;YACtC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,2CAA2C;YAEjF,sDAAsD;YACtD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvD,iEAAiE;YACjE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa;YAE1B,mEAAmE;YACnE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAErC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;YACxD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,uBAAuB;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;gBAC3C,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;gBACjF,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAErC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACpC,WAAW,EAAE,CAAC;gBAEd,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;gBAC1E,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAErC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;gBACrD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;gBAC1D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;gBACnF,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;gBAEhD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,iBAAiB,CAAY,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClD,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;gBACpC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -344,6 +344,29 @@
344
344
  return result;
345
345
  };
346
346
 
347
+ // This file is auto-generated by scripts/generate-version.js
348
+ // Do not edit manually
349
+ var PHASER_HOOKS_VERSION = '0.6.1';
350
+
351
+ var withDevtoolsContext = function (meta, fn) {
352
+ // Check if window is available (browser environment)
353
+ if (typeof window !== 'undefined') {
354
+ var windowContext = window;
355
+ var stack = (windowContext.__PHASER_HOOKS_CTX__ || (windowContext.__PHASER_HOOKS_CTX__ = []));
356
+ stack.push(__assign({ lib: 'phaser-hooks', version: PHASER_HOOKS_VERSION }, meta));
357
+ try {
358
+ fn();
359
+ }
360
+ finally {
361
+ stack.pop();
362
+ }
363
+ }
364
+ else {
365
+ // In non-browser environments (e.g., tests), just execute the function
366
+ fn();
367
+ }
368
+ };
369
+
347
370
  /**
348
371
  * Map of callbacks to their wrapped versions
349
372
  * @type {WeakMap<Function, Function>}
@@ -374,7 +397,7 @@
374
397
  * @param {(value: unknown) => boolean | string} [validator] - Optional validator function
375
398
  * @throws {Error} If the validator returns false or an error message
376
399
  */
377
- var set = function (registry, key, value, debug, validator) {
400
+ var set = function (registry, key, value, debug, registryType, validator) {
378
401
  var currentValue = registry.get(key);
379
402
  // If value is a function, execute it with current state
380
403
  var newValue = typeof value === 'function' ? value(currentValue) : value;
@@ -387,15 +410,22 @@
387
410
  throw new Error("[withStateDef] ".concat(message));
388
411
  }
389
412
  }
390
- registry.set(key, newValue);
413
+ withDevtoolsContext({
414
+ op: 'set',
415
+ oldValue: currentValue,
416
+ store: key,
417
+ registryType: registryType,
418
+ }, function () {
419
+ registry.set(key, newValue);
420
+ });
391
421
  if (debug) {
392
422
  logStateSet(key, currentValue, newValue);
393
423
  }
394
424
  };
395
425
  /**
396
- * Applies a shallow merge ("patch") to an object state in the registry.
426
+ * Applies a deep merge ("patch") to an object state in the registry.
397
427
  *
398
- * This method attempts to update the current state associated with the given key by performing a shallow merge
428
+ * This method attempts to update the current state associated with the given key by performing a deep merge
399
429
  * between the existing state and the provided value or the result of an updater function.
400
430
  * The function will throw an error if the current state is not an object.
401
431
  * An optional validator function can be provided to ensure the new value is valid before committing the patch.
@@ -408,7 +438,7 @@
408
438
  * @param {(value: unknown) => boolean | string} [validator] - Optional validator function; must return true or an error message
409
439
  * @throws {Error} If the current value is not an object or the validator returns false/an error message
410
440
  */
411
- var patch = function (registry, key, value, debug, validator) {
441
+ var patch = function (registry, key, value, debug, registryType, validator) {
412
442
  var currentValue = registry.get(key);
413
443
  if (typeof currentValue !== 'object' || currentValue === null) {
414
444
  throw new Error('[withStateDef] Current value is not an object');
@@ -425,7 +455,14 @@
425
455
  throw new Error("[withStateDef] ".concat(message));
426
456
  }
427
457
  }
428
- registry.set(key, newValue);
458
+ withDevtoolsContext({
459
+ op: 'patch',
460
+ oldValue: currentValue,
461
+ store: key,
462
+ registryType: registryType,
463
+ }, function () {
464
+ registry.set(key, newValue);
465
+ });
429
466
  if (debug) {
430
467
  logStateSet(key, currentValue, newValue);
431
468
  }
@@ -546,7 +583,7 @@
546
583
  * @param {string | symbol} event - The event name ('change')
547
584
  * @param {string} key - The key to listen for changes
548
585
  * @param {boolean} debug - Whether to log debug info
549
- * @param {Function} callback - The callback to invoke on event
586
+ * @param {(newValue: T, oldValue: T) => void} callback - The callback to invoke on event - receives the new value and the old value
550
587
  * @returns {() => void} Unsubscribe function to remove the listener
551
588
  * @throws {Error} If event is not 'change'
552
589
  */
@@ -579,7 +616,7 @@
579
616
  * @param {string | symbol} event - The event name ('change')
580
617
  * @param {string} key - The key to remove the listener from
581
618
  * @param {boolean} debug - Whether to log debug info
582
- * @param {Function} callback - The callback to remove
619
+ * @param {(newValue: T, oldValue: T) => void} callback - The callback to remove
583
620
  * @throws {Error} If event is not 'change'
584
621
  */
585
622
  var off = function (registry, event, key, debug, callback) {
@@ -614,7 +651,7 @@
614
651
  * This is the foundation for all other state hooks and provides direct access to
615
652
  * Phaser's scene registry with additional safety and TypeScript support.
616
653
  *
617
- * โš ๏ธ **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
654
+ * ?? **Note**: This is a low-level hook. Consider using `withLocalState` or `withGlobalState`
618
655
  * for most use cases unless you need specific registry control.
619
656
  *
620
657
  * @template T The type of the state value
@@ -694,6 +731,7 @@
694
731
  validateHook(scene, options, key);
695
732
  var validator = options.validator, _a = options.debug, debug = _a === void 0 ? false : _a, _b = options.global, global = _b === void 0 ? false : _b;
696
733
  var registry = global ? scene.registry : scene.data;
734
+ var registryType = global ? 'global' : 'local';
697
735
  // Fix: move debug and validator before initialValue to match required params before optional
698
736
  initializeState(registry, key, debug, validator, initialValue);
699
737
  return {
@@ -706,12 +744,12 @@
706
744
  * Sets a new state value and triggers change listeners.
707
745
  * @param {T | ((currentState: T) => T)} value - The new value to set or a function that receives current state and returns new state
708
746
  */
709
- set: function (value) { return set(registry, key, value, debug, validator); },
747
+ set: function (value) { return set(registry, key, value, debug, registryType, validator); },
710
748
  /**
711
749
  * Patches the current state value with a new value.
712
750
  * @param {DeepPartial<T> | StatePatchUpdater<T>} value - The new value to patch or a function that receives current state and returns new state
713
751
  */
714
- patch: function (value) { return patch(registry, key, value, debug, validator); },
752
+ patch: function (value) { return patch(registry, key, value, debug, registryType, validator); },
715
753
  /**
716
754
  * Registers a callback to be called whenever the state changes (DEPRECATED).
717
755
  * @param {StateChangeCallback<T>} callback
@@ -820,13 +858,11 @@
820
858
  * @see {@link withStateDef} For low-level state management
821
859
  */
822
860
  var withLocalState = function (scene, key, initialValue, options) {
823
- var _a;
824
861
  if (!scene) {
825
862
  throw new Error('[withLocalState] Scene parameter is required');
826
863
  }
827
864
  // Prefix the key with scene key to ensure locality
828
- var sceneKey = ((_a = scene.scene) === null || _a === void 0 ? void 0 : _a.key) || 'unknown-scene';
829
- var localKey = "phaser-hooks:local:".concat(sceneKey, ":").concat(key);
865
+ var localKey = "phaser-hooks:local:".concat(key);
830
866
  return withStateDef(scene, localKey, initialValue, __assign(__assign({}, options), { persistent: false, global: false }));
831
867
  };
832
868
 
@@ -974,8 +1010,8 @@
974
1010
  throw new Error('[withGlobalState] Scene parameter is required');
975
1011
  }
976
1012
  // Prefix the key with scene key to ensure locality
977
- var localKey = "phaser-hooks:global:".concat(key);
978
- return withStateDef(scene, localKey, initialValue, __assign(__assign({}, options), { persistent: false, global: true }));
1013
+ var globalKey = "phaser-hooks:global:".concat(key);
1014
+ return withStateDef(scene, globalKey, initialValue, __assign(__assign({}, options), { persistent: false, global: true }));
979
1015
  };
980
1016
 
981
1017
  /**
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).PhaserHooks={})}(this,function(t){"use strict";var e={numberRange:function(t,e){return function(n){var o=n;return"number"!=typeof o||Number.isNaN(o)?"Value must be a number":!(o<t||o>e)||"Value must be between ".concat(t," and ").concat(e)}},nonEmptyString:function(t){return"string"==typeof t&&0!==t.trim().length||"Value must be a non-empty string"},arrayLength:function(t,e){return function(n){var o=n;return Array.isArray(o)?o.length<t?"Array must have at least ".concat(t," items"):!(void 0!==e&&o.length>e)||"Array must have at most ".concat(e," items"):"Value must be an array"}},oneOf:function(t){return function(e){return!!t.includes(e)||"Value must be one of: ".concat(t.join(", "))}}},n=function(){return n=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function o(t,e,n){if(n||2===arguments.length)for(var o,r=0,a=e.length;r<a;r++)!o&&r in e||(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var r=function(){return(new Date).toISOString().replace("T"," ").replace("Z","")},a=function(t){var e=r(),n=t?" %c".concat(t,"%c"):"";return"%c[".concat(e,"]%c ").concat("%c[phaser-hooks]%c").concat(n)},c=function(t){var e=["color: #bd93f9; font-weight: bold;","color: inherit;","color: #2563eb; font-weight: bold;","color: inherit;"];return t&&e.push("color: #059669; font-weight: bold;","color: inherit;"),e},i=function(t,e,n){var i=a("STATE_SET"),l=c("STATE_SET");console.groupCollapsed.apply(console,o(["".concat(i,' Updating state "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ค Old Value:",e),console.log("๐Ÿ“ฅ New Value:",n),console.log("๐Ÿ”„ Changed:",e!==n),console.log("โฐ Timestamp:",r()),console.groupEnd()},l=function(t,e,n){var i=a("EVENT_ADD"),l=c("EVENT_ADD");console.groupCollapsed.apply(console,o(["".concat(i,' Adding listener for "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ก Event:",e),console.log("๐ŸŽฏ Callback:",n.name||"anonymous"),console.log("โฐ Timestamp:",r()),console.groupEnd()},s=function(t,e,n){var i=a("EVENT_REMOVE"),l=c("EVENT_REMOVE");console.groupCollapsed.apply(console,o(["".concat(i,' Removing listener for "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ก Event:",e),console.log("๐ŸŽฏ Callback:",n.name||"anonymous"),console.log("โฐ Timestamp:",r()),console.groupEnd()},u=function(t,e,n){var i=a(t),l=c(t);console.groupCollapsed.apply(console,o(["".concat(i," WARNING")],l,!1)),console.warn("โš ๏ธ Operation:",t),console.warn("๐Ÿ“ข Message:",e),n&&console.warn("๐Ÿ“‹ Context:",n),console.warn("โฐ Timestamp:",r()),console.groupEnd()},f=function(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&"[object Object]"===Object.prototype.toString.call(t)},g=function(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(function(t){return g(t)});if(f(t)){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=g(t[n]));return e}return t},p=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(!f(t))return t;for(var o=g(t),r=0,a=e;r<a.length;r++){var c=a[r];if(f(c)){var i=g(c);for(var l in i)if(Object.prototype.hasOwnProperty.call(i,l)){var s=i[l],u=o[l];f(s)&&f(u)?o[l]=p(u,s):void 0!==s&&(o[l]=s)}}}return o},h=new WeakMap,v=function(t,e,n){var r=t.get(e);return n&&function(t,e){var n=a("STATE_GET"),r=c("STATE_GET");console.log.apply(console,o(o(["".concat(n,' Getting state "').concat(t,'":')],r,!1),[e],!1))}(e,r),r},d=function(t,e,n,l){if(u("DEPRECATED_ONCHANGE","onChange callback is deprecated in phaser-hooks. Use .on('change', callback) or .once('change', callback) instead.",{key:e}),!l||"function"!=typeof l)throw new Error("[withStateDef] onChange callback must be a function");t.events.on("changedata-".concat(e),function(t,e,s,u){n&&i(e,u,s);try{l(s,u)}catch(t){!function(t,e,n){var i=a(t),l=c(t);console.groupCollapsed.apply(console,o(["".concat(i," ERROR")],l,!1)),console.error("๐Ÿšจ Operation:",t),console.error("๐Ÿ’ฅ Error:",e),n&&console.error("๐Ÿ“‹ Context:",n),console.error("โฐ Timestamp:",r()),console.groupEnd()}("ONCHANGE_CALLBACK_ERROR",t,{key:e})}})},y=function(t,e,n,i,l){if(!t.has(e)&&void 0!==l){if(i){var s=i(l);if(!0!==s){var u="string"==typeof s?s:'Invalid initial value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(u))}}t.set(e,l),n&&function(t,e){var n=a("STATE_INIT"),i=c("STATE_INIT");console.groupCollapsed.apply(console,o(["".concat(n,' Initializing state "').concat(t,'"')],i,!1)),console.log("๐Ÿ”ง Key:",t),console.log("๐Ÿ“ฆ Initial Value:",e),console.log("โฐ Timestamp:",r()),console.groupEnd()}(e,l)}},w=function(t,e,n){t.events.removeAllListeners("changedata-".concat(e)),n&&function(t){var e=a("CLEAR_LISTENERS"),n=c("CLEAR_LISTENERS");console.groupCollapsed.apply(console,o(["".concat(e,' Clearing all listeners for "').concat(t,'"')],n,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿงน Action:","Removing all event listeners"),console.log("โฐ Timestamp:",r()),console.groupEnd()}(e)},E=function(t,e,n,o){void 0===o&&(o={}),function(t,e,n){if(!t)throw new Error("[withStateDef] Scene parameter is required");if(!n||"string"!=typeof n||0===n.trim().length)throw new Error("[withStateDef] Key must be a non-empty string");if(e.global&&!t.registry)throw new Error("[withStateDef] Scene registry is not available. Ensure the scene is properly initialized.");if(!e.global&&!t.data)throw new Error("[withStateDef] Scene data is not available. Ensure the scene is properly initialized.")}(t,o,e);var r=o.validator,a=o.debug,c=void 0!==a&&a,f=o.global,g=void 0!==f&&f?t.registry:t.data;return y(g,e,c,r,n),{get:function(){return v(g,e,c)},set:function(t){return function(t,e,n,o,r){var a=t.get(e),c="function"==typeof n?n(a):n;if(r){var l=r(c);if(!0!==l){var s="string"==typeof l?l:'Invalid value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(s))}}t.set(e,c),o&&i(e,a,c)}(g,e,t,c,r)},patch:function(t){return function(t,e,n,o,r){var a=t.get(e);if("object"!=typeof a||null===a)throw new Error("[withStateDef] Current value is not an object");var c="function"==typeof n?n(a):n,l=p({},a,c);if(r){var s=r(l);if(!0!==s){var u="string"==typeof s?s:'Invalid value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(u))}}t.set(e,l),o&&i(e,a,l)}(g,e,t,c,r)},onChange:function(t){return d(g,e,c,t)},on:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=function(t,e,n){r(e,n)};return h.has(r)||h.set(r,a),o&&l(n,e,a),t.events.on("changedata-".concat(n),a),function(){o&&s(n,e,a),t.events.off("changedata-".concat(n),a)}}(g,t,e,c,n)},once:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=function(t,e,n){r(e,n)};return h.has(r)||h.set(r,a),o&&l(n,e,a),t.events.once("changedata-".concat(n),a),function(){o&&s(n,e,a),t.events.off("changedata-".concat(n),a)}}(g,t,e,c,n)},off:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=h.get(r);a?(t.events.off("changedata-".concat(n),a),o&&s(n,e,a)):u("CALLBACK_NOT_FOUND",'Callback not found for key "'.concat(n,'"'),{key:n})}(g,t,e,c,n)},clearListeners:function(){return w(g,e,c)}}},m=function(t,e,o,r){var a;if(!t)throw new Error("[withLocalState] Scene parameter is required");var c=(null===(a=t.scene)||void 0===a?void 0:a.key)||"unknown-scene",i="phaser-hooks:local:".concat(c,":").concat(e);return E(t,i,o,n(n({},r),{persistent:!1,global:!1}))},S=function(t,e,o,r){if(!t)throw new Error("[withGlobalState] Scene parameter is required");var a="phaser-hooks:global:".concat(e);return E(t,a,o,n(n({},r),{persistent:!1,global:!0}))};t.batchStateUpdates=function(t){t()},t.isValidScene=function(t){return null!=t&&"object"==typeof t&&"registry"in t&&"scene"in t},t.validators=e,t.withComputedState=function(t,e,o,r){var a=r(o.get()),c=m(t,e,a);return o.on("change",function(){var t=o.get(),e=r(t);c.set(e)}),n(n({},c),{set:function(){throw new Error('[withComputedState] Cannot directly set computed state "'.concat(e,'". Update the source state instead.'))}})},t.withDebouncedState=function(t,e,o,r){var a=m(t,e,o),c=null,i=function(t){var e="function"==typeof t?t(a.get()):t;c&&clearTimeout(c),c=setTimeout(function(){a.set(e),c=null},r)};return n(n({},a),{set:i,patch:function(t){var e="function"==typeof t?t(a.get()):t;i(function(t){return p(t,e)})}})},t.withGlobalState=S,t.withLocalState=m,t.withPersistentState=function(t,e,n,o,r){void 0===r&&(r="local");var a=null!=o?o:"phaser-hooks-state:".concat(e),c=n;try{var i="local"===r?localStorage.getItem(a):sessionStorage.getItem(a);i&&(c=JSON.parse(i))}catch(t){console.warn('[withPersistentState] Failed to load stored state for "'.concat(e,'":'),t)}var l=S(t,e,c);return l.onChange(function(t){try{("local"===r?localStorage:sessionStorage).setItem(a,JSON.stringify(t))}catch(t){console.warn('[withPersistentState] Failed to save state for "'.concat(e,'":'),t)}}),l},t.withStateDef=E,t.withUndoableState=function(t,e,o,r){var a=m(t,e,o),c=m(t,"".concat(e,":history"),[o]),i=m(t,"".concat(e,":historyIndex"),0),l=function(t){var e="function"==typeof t?t(a.get()):t;!function(t){var e=c.get(),n=i.get(),o=e.slice(0,n+1);o.push(t),o.length>r?o.shift():i.set(n+1),c.set(o)}(e),a.set(e)};return n(n({},a),{set:function(t){var e="function"==typeof t?t(a.get()):t;l(e)},patch:function(t){var e="function"==typeof t?t(a.get()):t;l(function(t){return p(t,e)})},undo:function(){var t=i.get();if(t>0){var e=t-1;i.set(e);var n=c.get()[e];if(void 0!==n)return a.set(n),!0}return!1},redo:function(){var t=i.get(),e=c.get();if(t<e.length-1){var n=t+1;i.set(n);var o=e[n];if(void 0!==o)return a.set(o),!0}return!1},canUndo:function(){return i.get()>0},canRedo:function(){return i.get()<c.get().length-1},clearHistory:function(){var t=a.get();c.set([t]),i.set(0)}})}});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).PhaserHooks={})}(this,function(t){"use strict";var e={numberRange:function(t,e){return function(n){var o=n;return"number"!=typeof o||Number.isNaN(o)?"Value must be a number":!(o<t||o>e)||"Value must be between ".concat(t," and ").concat(e)}},nonEmptyString:function(t){return"string"==typeof t&&0!==t.trim().length||"Value must be a non-empty string"},arrayLength:function(t,e){return function(n){var o=n;return Array.isArray(o)?o.length<t?"Array must have at least ".concat(t," items"):!(void 0!==e&&o.length>e)||"Array must have at most ".concat(e," items"):"Value must be an array"}},oneOf:function(t){return function(e){return!!t.includes(e)||"Value must be one of: ".concat(t.join(", "))}}},n=function(){return n=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function o(t,e,n){if(n||2===arguments.length)for(var o,r=0,a=e.length;r<a;r++)!o&&r in e||(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var r=function(){return(new Date).toISOString().replace("T"," ").replace("Z","")},a=function(t){var e=r(),n=t?" %c".concat(t,"%c"):"";return"%c[".concat(e,"]%c ").concat("%c[phaser-hooks]%c").concat(n)},c=function(t){var e=["color: #bd93f9; font-weight: bold;","color: inherit;","color: #2563eb; font-weight: bold;","color: inherit;"];return t&&e.push("color: #059669; font-weight: bold;","color: inherit;"),e},i=function(t,e,n){var i=a("STATE_SET"),l=c("STATE_SET");console.groupCollapsed.apply(console,o(["".concat(i,' Updating state "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ค Old Value:",e),console.log("๐Ÿ“ฅ New Value:",n),console.log("๐Ÿ”„ Changed:",e!==n),console.log("โฐ Timestamp:",r()),console.groupEnd()},l=function(t,e,n){var i=a("EVENT_ADD"),l=c("EVENT_ADD");console.groupCollapsed.apply(console,o(["".concat(i,' Adding listener for "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ก Event:",e),console.log("๐ŸŽฏ Callback:",n.name||"anonymous"),console.log("โฐ Timestamp:",r()),console.groupEnd()},s=function(t,e,n){var i=a("EVENT_REMOVE"),l=c("EVENT_REMOVE");console.groupCollapsed.apply(console,o(["".concat(i,' Removing listener for "').concat(t,'"')],l,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿ“ก Event:",e),console.log("๐ŸŽฏ Callback:",n.name||"anonymous"),console.log("โฐ Timestamp:",r()),console.groupEnd()},u=function(t,e,n){var i=a(t),l=c(t);console.groupCollapsed.apply(console,o(["".concat(i," WARNING")],l,!1)),console.warn("โš ๏ธ Operation:",t),console.warn("๐Ÿ“ข Message:",e),n&&console.warn("๐Ÿ“‹ Context:",n),console.warn("โฐ Timestamp:",r()),console.groupEnd()},f=function(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)&&"[object Object]"===Object.prototype.toString.call(t)},p=function(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(function(t){return p(t)});if(f(t)){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=p(t[n]));return e}return t},g=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(!f(t))return t;for(var o=p(t),r=0,a=e;r<a.length;r++){var c=a[r];if(f(c)){var i=p(c);for(var l in i)if(Object.prototype.hasOwnProperty.call(i,l)){var s=i[l],u=o[l];f(s)&&f(u)?o[l]=g(u,s):void 0!==s&&(o[l]=s)}}}return o},h=function(t,e){if("undefined"!=typeof window){var o=window,r=o.__PHASER_HOOKS_CTX__||(o.__PHASER_HOOKS_CTX__=[]);r.push(n({lib:"phaser-hooks",version:"0.6.1"},t));try{e()}finally{r.pop()}}else e()},v=new WeakMap,d=function(t,e,n){var r=t.get(e);return n&&function(t,e){var n=a("STATE_GET"),r=c("STATE_GET");console.log.apply(console,o(o(["".concat(n,' Getting state "').concat(t,'":')],r,!1),[e],!1))}(e,r),r},y=function(t,e,n,l){if(u("DEPRECATED_ONCHANGE","onChange callback is deprecated in phaser-hooks. Use .on('change', callback) or .once('change', callback) instead.",{key:e}),!l||"function"!=typeof l)throw new Error("[withStateDef] onChange callback must be a function");t.events.on("changedata-".concat(e),function(t,e,s,u){n&&i(e,u,s);try{l(s,u)}catch(t){!function(t,e,n){var i=a(t),l=c(t);console.groupCollapsed.apply(console,o(["".concat(i," ERROR")],l,!1)),console.error("๐Ÿšจ Operation:",t),console.error("๐Ÿ’ฅ Error:",e),n&&console.error("๐Ÿ“‹ Context:",n),console.error("โฐ Timestamp:",r()),console.groupEnd()}("ONCHANGE_CALLBACK_ERROR",t,{key:e})}})},w=function(t,e,n,i,l){if(!t.has(e)&&void 0!==l){if(i){var s=i(l);if(!0!==s){var u="string"==typeof s?s:'Invalid initial value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(u))}}t.set(e,l),n&&function(t,e){var n=a("STATE_INIT"),i=c("STATE_INIT");console.groupCollapsed.apply(console,o(["".concat(n,' Initializing state "').concat(t,'"')],i,!1)),console.log("๐Ÿ”ง Key:",t),console.log("๐Ÿ“ฆ Initial Value:",e),console.log("โฐ Timestamp:",r()),console.groupEnd()}(e,l)}},E=function(t,e,n){t.events.removeAllListeners("changedata-".concat(e)),n&&function(t){var e=a("CLEAR_LISTENERS"),n=c("CLEAR_LISTENERS");console.groupCollapsed.apply(console,o(["".concat(e,' Clearing all listeners for "').concat(t,'"')],n,!1)),console.log("๐Ÿ”‘ Key:",t),console.log("๐Ÿงน Action:","Removing all event listeners"),console.log("โฐ Timestamp:",r()),console.groupEnd()}(e)},S=function(t,e,n,o){void 0===o&&(o={}),function(t,e,n){if(!t)throw new Error("[withStateDef] Scene parameter is required");if(!n||"string"!=typeof n||0===n.trim().length)throw new Error("[withStateDef] Key must be a non-empty string");if(e.global&&!t.registry)throw new Error("[withStateDef] Scene registry is not available. Ensure the scene is properly initialized.");if(!e.global&&!t.data)throw new Error("[withStateDef] Scene data is not available. Ensure the scene is properly initialized.")}(t,o,e);var r=o.validator,a=o.debug,c=void 0!==a&&a,f=o.global,p=void 0!==f&&f,S=p?t.registry:t.data,m=p?"global":"local";return w(S,e,c,r,n),{get:function(){return d(S,e,c)},set:function(t){return function(t,e,n,o,r,a){var c=t.get(e),l="function"==typeof n?n(c):n;if(a){var s=a(l);if(!0!==s){var u="string"==typeof s?s:'Invalid value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(u))}}h({op:"set",oldValue:c,store:e,registryType:r},function(){t.set(e,l)}),o&&i(e,c,l)}(S,e,t,c,m,r)},patch:function(t){return function(t,e,n,o,r,a){var c=t.get(e);if("object"!=typeof c||null===c)throw new Error("[withStateDef] Current value is not an object");var l="function"==typeof n?n(c):n,s=g({},c,l);if(a){var u=a(s);if(!0!==u){var f="string"==typeof u?u:'Invalid value for key "'.concat(e,'"');throw new Error("[withStateDef] ".concat(f))}}h({op:"patch",oldValue:c,store:e,registryType:r},function(){t.set(e,s)}),o&&i(e,c,s)}(S,e,t,c,m,r)},onChange:function(t){return y(S,e,c,t)},on:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=function(t,e,n){r(e,n)};return v.has(r)||v.set(r,a),o&&l(n,e,a),t.events.on("changedata-".concat(n),a),function(){o&&s(n,e,a),t.events.off("changedata-".concat(n),a)}}(S,t,e,c,n)},once:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=function(t,e,n){r(e,n)};return v.has(r)||v.set(r,a),o&&l(n,e,a),t.events.once("changedata-".concat(n),a),function(){o&&s(n,e,a),t.events.off("changedata-".concat(n),a)}}(S,t,e,c,n)},off:function(t,n){return function(t,e,n,o,r){if("change"!==e)throw new Error('[withStateDef] Invalid event. Only "change" is supported.');var a=v.get(r);a?(t.events.off("changedata-".concat(n),a),o&&s(n,e,a)):u("CALLBACK_NOT_FOUND",'Callback not found for key "'.concat(n,'"'),{key:n})}(S,t,e,c,n)},clearListeners:function(){return E(S,e,c)}}},m=function(t,e,o,r){if(!t)throw new Error("[withLocalState] Scene parameter is required");var a="phaser-hooks:local:".concat(e);return S(t,a,o,n(n({},r),{persistent:!1,global:!1}))},b=function(t,e,o,r){if(!t)throw new Error("[withGlobalState] Scene parameter is required");var a="phaser-hooks:global:".concat(e);return S(t,a,o,n(n({},r),{persistent:!1,global:!0}))};t.batchStateUpdates=function(t){t()},t.isValidScene=function(t){return null!=t&&"object"==typeof t&&"registry"in t&&"scene"in t},t.validators=e,t.withComputedState=function(t,e,o,r){var a=r(o.get()),c=m(t,e,a);return o.on("change",function(){var t=o.get(),e=r(t);c.set(e)}),n(n({},c),{set:function(){throw new Error('[withComputedState] Cannot directly set computed state "'.concat(e,'". Update the source state instead.'))}})},t.withDebouncedState=function(t,e,o,r){var a=m(t,e,o),c=null,i=function(t){var e="function"==typeof t?t(a.get()):t;c&&clearTimeout(c),c=setTimeout(function(){a.set(e),c=null},r)};return n(n({},a),{set:i,patch:function(t){var e="function"==typeof t?t(a.get()):t;i(function(t){return g(t,e)})}})},t.withGlobalState=b,t.withLocalState=m,t.withPersistentState=function(t,e,n,o,r){void 0===r&&(r="local");var a=null!=o?o:"phaser-hooks-state:".concat(e),c=n;try{var i="local"===r?localStorage.getItem(a):sessionStorage.getItem(a);i&&(c=JSON.parse(i))}catch(t){console.warn('[withPersistentState] Failed to load stored state for "'.concat(e,'":'),t)}var l=b(t,e,c);return l.onChange(function(t){try{("local"===r?localStorage:sessionStorage).setItem(a,JSON.stringify(t))}catch(t){console.warn('[withPersistentState] Failed to save state for "'.concat(e,'":'),t)}}),l},t.withStateDef=S,t.withUndoableState=function(t,e,o,r){var a=m(t,e,o),c=m(t,"".concat(e,":history"),[o]),i=m(t,"".concat(e,":historyIndex"),0),l=function(t){var e="function"==typeof t?t(a.get()):t;!function(t){var e=c.get(),n=i.get(),o=e.slice(0,n+1);o.push(t),o.length>r?o.shift():i.set(n+1),c.set(o)}(e),a.set(e)};return n(n({},a),{set:function(t){var e="function"==typeof t?t(a.get()):t;l(e)},patch:function(t){var e="function"==typeof t?t(a.get()):t;l(function(t){return g(t,e)})},undo:function(){var t=i.get();if(t>0){var e=t-1;i.set(e);var n=c.get()[e];if(void 0!==n)return a.set(n),!0}return!1},redo:function(){var t=i.get(),e=c.get();if(t<e.length-1){var n=t+1;i.set(n);var o=e[n];if(void 0!==o)return a.set(o),!0}return!1},canUndo:function(){return i.get()>0},canRedo:function(){return i.get()<c.get().length-1},clearHistory:function(){var t=a.get();c.set([t]),i.set(0)}})}});
@@ -0,0 +1,2 @@
1
+ export declare const PHASER_HOOKS_VERSION: "0.6.1";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,EAAG,OAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ // This file is auto-generated by scripts/generate-version.js
2
+ // Do not edit manually
3
+ export const PHASER_HOOKS_VERSION = '0.6.1';
4
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,uBAAuB;AAEvB,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phaser-hooks",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Hooks in react-style for Phaser games",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -61,7 +61,9 @@
61
61
  "access": "public"
62
62
  },
63
63
  "scripts": {
64
+ "prebuild": "node scripts/generate-version.js",
64
65
  "build": "tsc --build --force",
66
+ "predev": "node scripts/generate-version.js",
65
67
  "dev": "tsc --build --watch",
66
68
  "clean": "rm -rf dist",
67
69
  "test": "vitest run",