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 +17 -1
- package/dist/hooks/devtools-context.d.ts +9 -0
- package/dist/hooks/devtools-context.d.ts.map +1 -0
- package/dist/hooks/devtools-context.js +24 -0
- package/dist/hooks/devtools-context.js.map +1 -0
- package/dist/hooks/type.d.ts +8 -6
- package/dist/hooks/type.d.ts.map +1 -1
- package/dist/hooks/with-global-state.js +2 -2
- package/dist/hooks/with-global-state.js.map +1 -1
- package/dist/hooks/with-local-state.d.ts.map +1 -1
- package/dist/hooks/with-local-state.js +1 -2
- package/dist/hooks/with-local-state.js.map +1 -1
- package/dist/hooks/with-local-state.spec.js +36 -2
- package/dist/hooks/with-local-state.spec.js.map +1 -1
- package/dist/hooks/with-state-def.d.ts +1 -1
- package/dist/hooks/with-state-def.d.ts.map +1 -1
- package/dist/hooks/with-state-def.js +27 -11
- package/dist/hooks/with-state-def.js.map +1 -1
- package/dist/hooks/with-undoable-state.spec.js +6 -6
- package/dist/hooks/with-undoable-state.spec.js.map +1 -1
- package/dist/phaser-hooks.js +52 -16
- package/dist/phaser-hooks.min.js +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -1
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"}
|
package/dist/hooks/type.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
*/
|
package/dist/hooks/type.d.ts.map
CHANGED
|
@@ -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
|
|
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
|
|
72
|
-
return withStateDef(scene,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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;
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
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
|
-
*
|
|
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":"AAIA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,EACR,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
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
|
|
37
|
-
expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local
|
|
38
|
-
expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local
|
|
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
|
|
48
|
-
expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local
|
|
49
|
-
expect(setSpy).toHaveBeenCalledWith(`phaser-hooks:local
|
|
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":"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"}
|
package/dist/phaser-hooks.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
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
|
-
*
|
|
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
|
|
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
|
|
978
|
-
return withStateDef(scene,
|
|
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
|
/**
|
package/dist/phaser-hooks.min.js
CHANGED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,EAAG,OAAgB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -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.
|
|
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",
|