@xmachines/play-xstate 1.0.0-beta.1 → 1.0.0-beta.3
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/dist/catalog/index.d.ts +1 -0
- package/dist/catalog/index.d.ts.map +1 -1
- package/dist/catalog/validate-props.d.ts +14 -6
- package/dist/catalog/validate-props.d.ts.map +1 -1
- package/dist/catalog/validate-props.js +13 -5
- package/dist/catalog/validate-props.js.map +1 -1
- package/dist/catalog/validate-props.typecheck.d.ts +2 -0
- package/dist/catalog/validate-props.typecheck.d.ts.map +1 -0
- package/dist/catalog/validate-props.typecheck.js +6 -0
- package/dist/catalog/validate-props.typecheck.js.map +1 -0
- package/dist/define-player.d.ts +1 -1
- package/dist/define-player.d.ts.map +1 -1
- package/dist/define-player.js +1 -1
- package/dist/define-player.js.map +1 -1
- package/dist/define-player.typecheck.d.ts +2 -0
- package/dist/define-player.typecheck.d.ts.map +1 -0
- package/dist/define-player.typecheck.js +42 -0
- package/dist/define-player.typecheck.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/player-actor.d.ts +6 -4
- package/dist/player-actor.d.ts.map +1 -1
- package/dist/player-actor.js +27 -10
- package/dist/player-actor.js.map +1 -1
- package/dist/player-actor.typecheck.d.ts +2 -0
- package/dist/player-actor.typecheck.d.ts.map +1 -0
- package/dist/player-actor.typecheck.js +23 -0
- package/dist/player-actor.typecheck.js.map +1 -0
- package/dist/routing/format-play-route-transitions.d.ts +14 -1
- package/dist/routing/format-play-route-transitions.d.ts.map +1 -1
- package/dist/routing/format-play-route-transitions.js +7 -4
- package/dist/routing/format-play-route-transitions.js.map +1 -1
- package/dist/routing/index.d.ts +2 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/types.d.ts +3 -13
- package/dist/routing/types.d.ts.map +1 -1
- package/dist/signals/index.d.ts +0 -1
- package/dist/signals/index.d.ts.map +1 -1
- package/dist/signals/index.js +0 -1
- package/dist/signals/index.js.map +1 -1
- package/dist/types.d.ts +10 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -11
- package/.oxfmtrc.json +0 -3
- package/.oxlintrc.json +0 -3
- package/examples/simple-machine.ts +0 -187
- package/src/catalog/index.ts +0 -12
- package/src/catalog/types.ts +0 -38
- package/src/catalog/validate-binding.ts +0 -35
- package/src/catalog/validate-props.ts +0 -109
- package/src/define-player.ts +0 -121
- package/src/guards/compose.ts +0 -169
- package/src/guards/helpers.ts +0 -104
- package/src/guards/index.ts +0 -12
- package/src/guards/types.ts +0 -23
- package/src/index.ts +0 -40
- package/src/player-actor.ts +0 -346
- package/src/routing/build-url.ts +0 -127
- package/src/routing/derive-route.ts +0 -152
- package/src/routing/format-play-route-transitions.ts +0 -77
- package/src/routing/index.ts +0 -13
- package/src/routing/types.ts +0 -26
- package/src/signals/debounce.ts +0 -38
- package/src/signals/index.ts +0 -2
- package/src/signals/state-signal.ts +0 -45
- package/src/types.ts +0 -47
- package/test/derive-route.test.ts +0 -166
- package/test/devtools-integration.spec.ts +0 -97
- package/test/format-play-route-transitions-query.test.ts +0 -187
- package/test/guards-edge-cases.spec.ts +0 -630
- package/test/player-actor-basic.spec.ts +0 -189
- package/test/player-actor-edge-cases.spec.ts +0 -769
- package/test/routing-edge-cases.spec.ts +0 -340
- package/tsconfig.json +0 -15
- package/tsconfig.tsbuildinfo +0 -1
- package/vitest.config.ts +0 -27
package/dist/catalog/index.d.ts
CHANGED
|
@@ -8,5 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { validateComponentBinding } from "./validate-binding.js";
|
|
10
10
|
export { validateViewProps, mergeViewProps } from "./validate-props.js";
|
|
11
|
+
export type { ValidationResult, ViewMergeContext } from "./validate-props.js";
|
|
11
12
|
export type { Catalog, CatalogEntry, ViewMetadata } from "./types.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/catalog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import type { z } from "zod";
|
|
2
2
|
import type { Catalog, ViewMetadata } from "./types.js";
|
|
3
|
+
export type ViewMergeContext = {
|
|
4
|
+
routeParams?: Record<string, unknown>;
|
|
5
|
+
queryParams?: Record<string, unknown>;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
};
|
|
8
|
+
export type ValidationResult = {
|
|
9
|
+
success: true;
|
|
10
|
+
data: unknown;
|
|
11
|
+
} | {
|
|
12
|
+
success: false;
|
|
13
|
+
error: z.ZodError | Error;
|
|
14
|
+
};
|
|
3
15
|
/**
|
|
4
16
|
* Validate view props against Zod schema
|
|
5
17
|
*
|
|
@@ -23,11 +35,7 @@ import type { Catalog, ViewMetadata } from "./types.js";
|
|
|
23
35
|
* @param catalog - Component catalog with schemas
|
|
24
36
|
* @returns Zod parse result
|
|
25
37
|
*/
|
|
26
|
-
export declare const validateViewProps: (componentName: string, props:
|
|
27
|
-
success: boolean;
|
|
28
|
-
data?: any;
|
|
29
|
-
error?: z.ZodError | Error;
|
|
30
|
-
};
|
|
38
|
+
export declare const validateViewProps: (componentName: string, props: unknown, catalog: Catalog) => ValidationResult;
|
|
31
39
|
/**
|
|
32
40
|
* Merge view metadata with context for props
|
|
33
41
|
*
|
|
@@ -37,5 +45,5 @@ export declare const validateViewProps: (componentName: string, props: any, cata
|
|
|
37
45
|
* @param context - Machine context
|
|
38
46
|
* @returns Merged props object
|
|
39
47
|
*/
|
|
40
|
-
export declare const mergeViewProps: (view: ViewMetadata, context:
|
|
48
|
+
export declare const mergeViewProps: (view: ViewMetadata, context: ViewMergeContext | null | undefined) => Record<string, unknown>;
|
|
41
49
|
//# sourceMappingURL=validate-props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-props.d.ts","sourceRoot":"","sources":["../../src/catalog/validate-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"validate-props.d.ts","sourceRoot":"","sources":["../../src/catalog/validate-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACzB;IACA,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACb,GACD;IACA,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;CACzB,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,GAC7B,eAAe,MAAM,EACrB,OAAO,OAAO,EACd,SAAS,OAAO,KACd,gBA2BF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAC1B,MAAM,YAAY,EAClB,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAkDxB,CAAC"}
|
|
@@ -54,14 +54,22 @@ export const validateViewProps = (componentName, props, catalog) => {
|
|
|
54
54
|
* @returns Merged props object
|
|
55
55
|
*/
|
|
56
56
|
export const mergeViewProps = (view, context) => {
|
|
57
|
+
const viewRecord = view;
|
|
58
|
+
const normalizedContext = context && typeof context === "object" ? context : {};
|
|
57
59
|
// Extract component and props from view metadata
|
|
58
|
-
const { component: _component, props, ...rest } =
|
|
60
|
+
const { component: _component, props, ...rest } = viewRecord;
|
|
59
61
|
// Determine view props based on structure
|
|
60
62
|
let viewProps;
|
|
61
63
|
if (typeof props === "function") {
|
|
62
64
|
// Case 0: props is a factory function — call it with { context }
|
|
63
65
|
// e.g. props: ({ context }) => ({ welcome: true, username: context.username })
|
|
64
|
-
|
|
66
|
+
const nextProps = props({
|
|
67
|
+
context: normalizedContext,
|
|
68
|
+
});
|
|
69
|
+
viewProps =
|
|
70
|
+
nextProps && typeof nextProps === "object" && !Array.isArray(nextProps)
|
|
71
|
+
? nextProps
|
|
72
|
+
: {};
|
|
65
73
|
}
|
|
66
74
|
else if (props && typeof props === "object" && !Array.isArray(props)) {
|
|
67
75
|
// Case 1: view has explicit props object: { component: 'X', props: { a: 1 } }
|
|
@@ -77,7 +85,7 @@ export const mergeViewProps = (view, context) => {
|
|
|
77
85
|
}
|
|
78
86
|
// Extract infrastructure props that should bypass catalog validation
|
|
79
87
|
// These are reserved keys that components receive but aren't in catalog schemas
|
|
80
|
-
const { routeParams, queryParams, ...catalogContext } =
|
|
88
|
+
const { routeParams, queryParams, ...catalogContext } = normalizedContext;
|
|
81
89
|
// Merge catalog-validated context with viewProps
|
|
82
90
|
const mergedProps = {
|
|
83
91
|
...catalogContext,
|
|
@@ -88,8 +96,8 @@ export const mergeViewProps = (view, context) => {
|
|
|
88
96
|
// Components receive route params as direct props, not nested
|
|
89
97
|
return {
|
|
90
98
|
...mergedProps,
|
|
91
|
-
...routeParams
|
|
92
|
-
...(queryParams &&
|
|
99
|
+
...(routeParams && typeof routeParams === "object" ? routeParams : {}),
|
|
100
|
+
...(queryParams && typeof queryParams === "object" ? { queryParams } : {}),
|
|
93
101
|
};
|
|
94
102
|
};
|
|
95
103
|
//# sourceMappingURL=validate-props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-props.js","sourceRoot":"","sources":["../../src/catalog/validate-props.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-props.js","sourceRoot":"","sources":["../../src/catalog/validate-props.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-props.typecheck.d.ts","sourceRoot":"","sources":["../../src/catalog/validate-props.typecheck.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-props.typecheck.js","sourceRoot":"","sources":["../../src/catalog/validate-props.typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxE,MAAM,kBAAkB,GAAmC,KAAK,CAAC;AACjE,KAAK,kBAAkB,CAAC;AAKxB,MAAM,kBAAkB,GAAmC,KAAK,CAAC;AACjE,KAAK,kBAAkB,CAAC"}
|
package/dist/define-player.d.ts
CHANGED
|
@@ -106,5 +106,5 @@ import type { PlayerConfig, PlayerFactory } from "./types.js";
|
|
|
106
106
|
* @see {@link PlayerConfig} for configuration options
|
|
107
107
|
* @see {@link PlayerFactory} for factory function signature
|
|
108
108
|
*/
|
|
109
|
-
export declare const definePlayer: <TMachine extends AnyStateMachine, TCatalog =
|
|
109
|
+
export declare const definePlayer: <TMachine extends AnyStateMachine, TCatalog = Record<string, unknown>>(config: PlayerConfig<TMachine, TCatalog>) => PlayerFactory<TMachine>;
|
|
110
110
|
//# sourceMappingURL=define-player.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-player.d.ts","sourceRoot":"","sources":["../src/define-player.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"define-player.d.ts","sourceRoot":"","sources":["../src/define-player.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,QAAQ,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChG,QAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,KACtC,aAAa,CAAC,QAAQ,CAQxB,CAAC"}
|
package/dist/define-player.js
CHANGED
|
@@ -110,7 +110,7 @@ export const definePlayer = (config) => {
|
|
|
110
110
|
// Return factory function
|
|
111
111
|
// Per CONTEXT.md: "Factory function for creating multiple actor instances"
|
|
112
112
|
return (input) => {
|
|
113
|
-
return new PlayerActor(machine, catalog
|
|
113
|
+
return new PlayerActor(machine, catalog ?? {}, options ?? {}, input);
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
//# sourceMappingURL=define-player.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-player.js","sourceRoot":"","sources":["../src/define-player.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,MAAwC,
|
|
1
|
+
{"version":3,"file":"define-player.js","sourceRoot":"","sources":["../src/define-player.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,MAAwC,EACd,EAAE;IAC5B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE7C,0BAA0B;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,KAA2B,EAAE,EAAE;QACtC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-player.typecheck.d.ts","sourceRoot":"","sources":["../src/define-player.typecheck.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { setup } from "xstate";
|
|
2
|
+
import { definePlayer } from "./define-player.js";
|
|
3
|
+
const machine = setup({
|
|
4
|
+
types: {
|
|
5
|
+
context: {},
|
|
6
|
+
input: {},
|
|
7
|
+
events: {},
|
|
8
|
+
},
|
|
9
|
+
}).createMachine({
|
|
10
|
+
context: ({ input }) => ({ count: input.count }),
|
|
11
|
+
initial: "active",
|
|
12
|
+
states: {
|
|
13
|
+
active: {
|
|
14
|
+
on: {
|
|
15
|
+
inc: {
|
|
16
|
+
actions: ({ context }) => {
|
|
17
|
+
context.count += 1;
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const createPlayer = definePlayer({
|
|
25
|
+
machine,
|
|
26
|
+
options: {
|
|
27
|
+
onTransition: (actor, prevState, nextState) => {
|
|
28
|
+
const actorNotAny = false;
|
|
29
|
+
const prevNotAny = false;
|
|
30
|
+
const nextNotAny = false;
|
|
31
|
+
void actorNotAny;
|
|
32
|
+
void prevNotAny;
|
|
33
|
+
void nextNotAny;
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
const actor = createPlayer({ count: 1 });
|
|
38
|
+
const returnNotAny = false;
|
|
39
|
+
void returnNotAny;
|
|
40
|
+
// @ts-expect-error factory input must match machine input shape
|
|
41
|
+
createPlayer("invalid");
|
|
42
|
+
//# sourceMappingURL=define-player.typecheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-player.typecheck.js","sourceRoot":"","sources":["../src/define-player.typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,OAAO,GAAG,KAAK,CAAC;IACrB,KAAK,EAAE;QACN,OAAO,EAAE,EAAuB;QAChC,KAAK,EAAE,EAAuB;QAC9B,MAAM,EAAE,EAAqB;KAC7B;CACD,CAAC,CAAC,aAAa,CAAC;IAChB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE;QACP,MAAM,EAAE;YACP,EAAE,EAAE;gBACH,GAAG,EAAE;oBACJ,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;wBACxB,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;oBACpB,CAAC;iBACD;aACD;SACD;KACD;CACD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,YAAY,CAAC;IACjC,OAAO;IACP,OAAO,EAAE;QACR,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YAK7C,MAAM,WAAW,GAA4B,KAAK,CAAC;YACnD,MAAM,UAAU,GAA2B,KAAK,CAAC;YACjD,MAAM,UAAU,GAA2B,KAAK,CAAC;YAEjD,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU,CAAC;YAChB,KAAK,UAAU,CAAC;QACjB,CAAC;KACD;CACD,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAGzC,MAAM,YAAY,GAA6B,KAAK,CAAC;AACrD,KAAK,YAAY,CAAC;AAElB,gEAAgE;AAChE,YAAY,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,9 @@ export type { PlayerConfig, PlayerOptions, PlayerFactory } from "./types.js";
|
|
|
16
16
|
export { composeGuards, composeGuardsOr, negateGuard, hasContext, eventMatches, stateMatches, } from "./guards/index.js";
|
|
17
17
|
export type { Guard, GuardArray } from "./guards/types.js";
|
|
18
18
|
export { deriveRoute, isAbsoluteRoute, buildRouteUrl, formatPlayRouteTransitions, } from "./routing/index.js";
|
|
19
|
-
export type {
|
|
19
|
+
export type { RouteMachineConfig, RouteStateNode } from "./routing/index.js";
|
|
20
|
+
export type { RouteContext } from "./routing/types.js";
|
|
20
21
|
export { validateComponentBinding, validateViewProps, mergeViewProps } from "./catalog/index.js";
|
|
22
|
+
export type { ValidationResult, ViewMergeContext } from "./catalog/index.js";
|
|
21
23
|
export type { Catalog, CatalogEntry, ViewMetadata } from "./catalog/types.js";
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjG,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,kBAAkB;AAClB,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAG3B,oBAAoB;AACpB,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,kBAAkB;AAClB,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAG3B,oBAAoB;AACpB,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAI5B,oBAAoB;AACpB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/player-actor.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { AbstractActor, type Routable, type Viewable } from "@xmachines/play-act
|
|
|
3
3
|
import { Signal } from "@xmachines/play-signals";
|
|
4
4
|
import type { PlayEvent } from "@xmachines/play";
|
|
5
5
|
import type { PlayerOptions } from "./types.js";
|
|
6
|
+
import type { Catalog } from "./catalog/types.js";
|
|
6
7
|
/**
|
|
7
8
|
* Concrete XState actor implementing Play Architecture signal protocol
|
|
8
9
|
*
|
|
@@ -78,7 +79,8 @@ import type { PlayerOptions } from "./types.js";
|
|
|
78
79
|
* `Signal.Computed`) to ensure proper watcher propagation in PlayRenderer. Views are
|
|
79
80
|
* cached and updated at state entry, not computed on every read.
|
|
80
81
|
*/
|
|
81
|
-
export declare class PlayerActor<TMachine extends AnyStateMachine> extends AbstractActor<AnyActorLogic> implements Routable, Viewable
|
|
82
|
+
export declare class PlayerActor<TMachine extends AnyStateMachine> extends AbstractActor<AnyActorLogic> implements Routable, Viewable {
|
|
83
|
+
[key: string]: unknown;
|
|
82
84
|
private _xstateActor;
|
|
83
85
|
private _stateManager;
|
|
84
86
|
private _options;
|
|
@@ -88,10 +90,10 @@ export declare class PlayerActor<TMachine extends AnyStateMachine> extends Abstr
|
|
|
88
90
|
currentRoute: Signal.Computed<string | null>;
|
|
89
91
|
currentView: Signal.State<{
|
|
90
92
|
component: string;
|
|
91
|
-
props:
|
|
93
|
+
props: unknown;
|
|
92
94
|
} | null>;
|
|
93
|
-
catalog:
|
|
94
|
-
constructor(machine: TMachine, catalog:
|
|
95
|
+
catalog: Catalog;
|
|
96
|
+
constructor(machine: TMachine, catalog: Catalog | null | undefined, options: PlayerOptions<TMachine>, input?: any);
|
|
95
97
|
/**
|
|
96
98
|
* Start the actor
|
|
97
99
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-actor.d.ts","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAc,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,WAAW,CAAC,QAAQ,SAAS,eAAe,CACxD,SAAQ,aAAa,CAAC,aAAa,CACnC,YAAW,QAAQ,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"player-actor.d.ts","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAc,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,oBAAoB,CAAC;AAkBhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,WAAW,CAAC,QAAQ,SAAS,eAAe,CACxD,SAAQ,aAAa,CAAC,aAAa,CACnC,YAAW,QAAQ,EAAE,QAAQ;IAE7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvB,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,WAAW,CAA6D;IAGzE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACxE,OAAO,EAAE,OAAO,CAAC;gBAGvB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChC,KAAK,CAAC,EAAE,GAAG;IAoFZ;;;;OAIG;IACM,KAAK,IAAI,IAAI;IAWtB;;OAEG;IACM,IAAI,IAAI,IAAI;IAYrB;;;;;;;;;;;;;;;;OAgBG;IACM,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAsBrC;;OAEG;IACM,WAAW,IAAI,GAAG;IAI3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqF7B;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAGf"}
|
package/dist/player-actor.js
CHANGED
|
@@ -4,6 +4,18 @@ import { Signal } from "@xmachines/play-signals";
|
|
|
4
4
|
import { StateSignalManager } from "./signals/state-signal.js";
|
|
5
5
|
import { deriveRoute, buildRouteUrl } from "./routing/index.js";
|
|
6
6
|
import { validateComponentBinding, validateViewProps, mergeViewProps } from "./catalog/index.js";
|
|
7
|
+
const hasSnapshotStatus = (snapshot) => {
|
|
8
|
+
if (!snapshot || typeof snapshot !== "object") {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (!("status" in snapshot)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return typeof snapshot.status === "string";
|
|
15
|
+
};
|
|
16
|
+
const isActiveSnapshot = (snapshot) => {
|
|
17
|
+
return hasSnapshotStatus(snapshot) && snapshot.status === "active";
|
|
18
|
+
};
|
|
7
19
|
/**
|
|
8
20
|
* Concrete XState actor implementing Play Architecture signal protocol
|
|
9
21
|
*
|
|
@@ -105,7 +117,7 @@ export class PlayerActor extends AbstractActor {
|
|
|
105
117
|
super(xstateActor.logic);
|
|
106
118
|
this._xstateActor = xstateActor;
|
|
107
119
|
this._options = options || {};
|
|
108
|
-
this._catalog = catalog
|
|
120
|
+
this._catalog = catalog ?? {};
|
|
109
121
|
this.catalog = this._catalog;
|
|
110
122
|
// Initialize state signal manager
|
|
111
123
|
this._stateManager = new StateSignalManager(xstateActor.getSnapshot());
|
|
@@ -115,11 +127,12 @@ export class PlayerActor extends AbstractActor {
|
|
|
115
127
|
// Initialize currentRoute computed signal
|
|
116
128
|
this.currentRoute = new Signal.Computed(() => {
|
|
117
129
|
const snapshot = this.state.get();
|
|
130
|
+
const snapshotWithMeta = snapshot;
|
|
118
131
|
// Defensive check: Validate snapshot and getMeta exists
|
|
119
|
-
if (!snapshot || typeof
|
|
132
|
+
if (!snapshot || typeof snapshotWithMeta.getMeta !== "function") {
|
|
120
133
|
return null;
|
|
121
134
|
}
|
|
122
|
-
const meta =
|
|
135
|
+
const meta = snapshotWithMeta.getMeta();
|
|
123
136
|
// Defensive check: Validate meta is an object
|
|
124
137
|
if (!meta || typeof meta !== "object") {
|
|
125
138
|
return null;
|
|
@@ -131,14 +144,14 @@ export class PlayerActor extends AbstractActor {
|
|
|
131
144
|
}
|
|
132
145
|
// Build full URL with params, query, hash
|
|
133
146
|
// Per CONTEXT.md: "Full URL generation including query params, hash, base path from context"
|
|
134
|
-
return buildRouteUrl(routeTemplate,
|
|
147
|
+
return buildRouteUrl(routeTemplate, (snapshotWithMeta.context ?? {}));
|
|
135
148
|
});
|
|
136
149
|
// Expose view signal directly for proper watcher propagation
|
|
137
150
|
this.currentView = this._viewSignal;
|
|
138
151
|
// Subscribe to XState actor transitions
|
|
139
152
|
this._xstateActor.subscribe((snapshot) => {
|
|
140
153
|
// Only update on stable/active states per CONTEXT.md
|
|
141
|
-
if (snapshot
|
|
154
|
+
if (isActiveSnapshot(snapshot)) {
|
|
142
155
|
// Update state signal with microtask batching
|
|
143
156
|
this._stateManager.scheduleUpdate(snapshot);
|
|
144
157
|
// Validate view at state entry per CONTEXT.md: "Prop validation: At state entry"
|
|
@@ -226,12 +239,13 @@ export class PlayerActor extends AbstractActor {
|
|
|
226
239
|
* @param snapshot - Current XState snapshot
|
|
227
240
|
*/
|
|
228
241
|
_validateAndCacheView(snapshot) {
|
|
242
|
+
const snapshotWithMeta = snapshot;
|
|
229
243
|
// Defensive check: Validate snapshot and getMeta exists
|
|
230
|
-
if (!snapshot || typeof
|
|
244
|
+
if (!snapshot || typeof snapshotWithMeta.getMeta !== "function") {
|
|
231
245
|
this._viewSignal.set(null);
|
|
232
246
|
return;
|
|
233
247
|
}
|
|
234
|
-
const meta =
|
|
248
|
+
const meta = snapshotWithMeta.getMeta();
|
|
235
249
|
// Defensive check: Validate meta is an object
|
|
236
250
|
if (!meta || typeof meta !== "object") {
|
|
237
251
|
this._viewSignal.set(null);
|
|
@@ -240,8 +254,11 @@ export class PlayerActor extends AbstractActor {
|
|
|
240
254
|
// Find meta.view in active state nodes
|
|
241
255
|
let viewMeta = null;
|
|
242
256
|
for (const [_stateId, stateMeta] of Object.entries(meta)) {
|
|
243
|
-
|
|
244
|
-
|
|
257
|
+
const maybeView = stateMeta && typeof stateMeta === "object"
|
|
258
|
+
? stateMeta.view
|
|
259
|
+
: undefined;
|
|
260
|
+
if (maybeView && typeof maybeView === "object") {
|
|
261
|
+
viewMeta = maybeView;
|
|
245
262
|
break;
|
|
246
263
|
}
|
|
247
264
|
}
|
|
@@ -263,7 +280,7 @@ export class PlayerActor extends AbstractActor {
|
|
|
263
280
|
return;
|
|
264
281
|
}
|
|
265
282
|
// Merge meta.view with context for props
|
|
266
|
-
const props = mergeViewProps(viewMeta,
|
|
283
|
+
const props = mergeViewProps(viewMeta, snapshotWithMeta.context);
|
|
267
284
|
// Validate props against Zod schema
|
|
268
285
|
const validation = validateViewProps(viewMeta.component, props, this._catalog);
|
|
269
286
|
if (!validation.success) {
|
package/dist/player-actor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-actor.js","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwD,MAAM,QAAQ,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAgC,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"player-actor.js","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player-actor.typecheck.d.ts","sourceRoot":"","sources":["../src/player-actor.typecheck.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { setup } from "xstate";
|
|
2
|
+
import { definePlayer } from "./define-player.js";
|
|
3
|
+
const machine = setup({
|
|
4
|
+
types: {
|
|
5
|
+
context: {},
|
|
6
|
+
input: {},
|
|
7
|
+
events: {},
|
|
8
|
+
},
|
|
9
|
+
}).createMachine({
|
|
10
|
+
context: ({ input }) => ({ value: input.value }),
|
|
11
|
+
initial: "idle",
|
|
12
|
+
states: {
|
|
13
|
+
idle: {},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
const createPlayer = definePlayer({ machine, catalog: {} });
|
|
17
|
+
const actor = createPlayer({ value: 1 });
|
|
18
|
+
const catalogNotAny = false;
|
|
19
|
+
void catalogNotAny;
|
|
20
|
+
const unknownField = actor["custom-extension-field"];
|
|
21
|
+
const extensionNotAny = false;
|
|
22
|
+
void extensionNotAny;
|
|
23
|
+
//# sourceMappingURL=player-actor.typecheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player-actor.typecheck.js","sourceRoot":"","sources":["../src/player-actor.typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,OAAO,GAAG,KAAK,CAAC;IACrB,KAAK,EAAE;QACN,OAAO,EAAE,EAAuB;QAChC,KAAK,EAAE,EAAuB;QAC9B,MAAM,EAAE,EAAsB;KAC9B;CACD,CAAC,CAAC,aAAa,CAAC;IAChB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChD,OAAO,EAAE,MAAM;IACf,MAAM,EAAE;QACP,IAAI,EAAE,EAAE;KACR;CACD,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAGzC,MAAM,aAAa,GAA8B,KAAK,CAAC;AACvD,KAAK,aAAa,CAAC;AAEnB,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAErD,MAAM,eAAe,GAAmC,KAAK,CAAC;AAC9D,KAAK,eAAe,CAAC"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
export type RouteStateNode = {
|
|
2
|
+
id?: string;
|
|
3
|
+
meta?: {
|
|
4
|
+
route?: string;
|
|
5
|
+
};
|
|
6
|
+
states?: Record<string, RouteStateNode>;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
export type RouteMachineConfig = {
|
|
10
|
+
states?: Record<string, RouteStateNode>;
|
|
11
|
+
on?: Record<string, object>;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
1
14
|
/**
|
|
2
15
|
* Formats play.route transitions from declarative route configs
|
|
3
16
|
*
|
|
@@ -27,5 +40,5 @@
|
|
|
27
40
|
* @param machineConfig - XState machine config (before createMachine)
|
|
28
41
|
* @returns Machine config with auto-generated play.route handlers
|
|
29
42
|
*/
|
|
30
|
-
export declare function formatPlayRouteTransitions(machineConfig:
|
|
43
|
+
export declare function formatPlayRouteTransitions<TMachineConfig>(machineConfig: TMachineConfig): TMachineConfig;
|
|
31
44
|
//# sourceMappingURL=format-play-route-transitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-play-route-transitions.d.ts","sourceRoot":"","sources":["../../src/routing/format-play-route-transitions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-play-route-transitions.d.ts","sourceRoot":"","sources":["../../src/routing/format-play-route-transitions.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,cAAc,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AASF,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EACxD,aAAa,EAAE,cAAc,GAC3B,cAAc,CAiDhB"}
|
|
@@ -52,15 +52,18 @@ export function formatPlayRouteTransitions(machineConfig) {
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
};
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const routeConfig = machineConfig;
|
|
56
|
+
const machineStates = routeConfig.states;
|
|
57
|
+
if (machineStates) {
|
|
58
|
+
collectRoutes(machineStates);
|
|
57
59
|
}
|
|
58
60
|
// Add play.route handler to root if we found any routes
|
|
59
61
|
if (routeTransitions.length > 0) {
|
|
62
|
+
const existingOn = routeConfig.on ?? {};
|
|
60
63
|
return {
|
|
61
|
-
...
|
|
64
|
+
...routeConfig,
|
|
62
65
|
on: {
|
|
63
|
-
...
|
|
66
|
+
...existingOn,
|
|
64
67
|
"play.route": routeTransitions,
|
|
65
68
|
},
|
|
66
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-play-route-transitions.js","sourceRoot":"","sources":["../../src/routing/format-play-route-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"format-play-route-transitions.js","sourceRoot":"","sources":["../../src/routing/format-play-route-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,0BAA0B,CACzC,aAA6B;IAE7B,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAE/C,MAAM,aAAa,GAAG,CAAC,MAAsC,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE;QACjF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE9E,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC/C,8CAA8C;gBAC9C,MAAM,UAAU,GAAoB;oBACnC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,4BAA4B;oBAC/C,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,WAAW,CAAC,EAAE,EAAE;oBACvD,OAAO,EAAE,IAAI,EAAE,6CAA6C;oBAC5D,OAAO,EAAE,MAAM,CAAC;wBACf,WAAW,EAAE,CAAC,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE;wBAC9D,WAAW,EAAE,CAAC,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;qBAC7D,CAAC;iBACF,CAAC;gBAEF,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC;YAED,wCAAwC;YACxC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxB,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,aAAmC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IACzC,IAAI,aAAa,EAAE,CAAC;QACnB,aAAa,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,wDAAwD;IACxD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;QAExC,OAAO;YACN,GAAG,WAAW;YACd,EAAE,EAAE;gBACH,GAAG,UAAU;gBACb,YAAY,EAAE,gBAAgB;aAC9B;SACiB,CAAC;IACrB,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC"}
|
package/dist/routing/index.d.ts
CHANGED
|
@@ -9,5 +9,6 @@
|
|
|
9
9
|
export { deriveRoute, isAbsoluteRoute } from "./derive-route.js";
|
|
10
10
|
export { buildRouteUrl } from "./build-url.js";
|
|
11
11
|
export { formatPlayRouteTransitions } from "./format-play-route-transitions.js";
|
|
12
|
-
export type {
|
|
12
|
+
export type { RouteMachineConfig, RouteStateNode } from "./format-play-route-transitions.js";
|
|
13
|
+
export type { RouteContext } from "./types.js";
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/routing/types.d.ts
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route metadata from state machine
|
|
3
|
-
*
|
|
4
|
-
* Per CONTEXT.md: Both simple strings and objects supported
|
|
5
|
-
*/
|
|
6
|
-
export type RouteMetadata = string | RouteObject;
|
|
7
|
-
/**
|
|
8
|
-
* Route object with additional metadata
|
|
9
|
-
*/
|
|
10
1
|
export interface RouteObject {
|
|
11
|
-
/** Route path template (e.g., '/user/:id') */
|
|
12
2
|
path: string;
|
|
13
|
-
|
|
14
|
-
[key: string]: any;
|
|
3
|
+
[key: string]: unknown;
|
|
15
4
|
}
|
|
5
|
+
export type RouteMetadata = string | RouteObject;
|
|
16
6
|
/**
|
|
17
7
|
* Route build context from machine context
|
|
18
8
|
*/
|
|
@@ -20,6 +10,6 @@ export interface RouteContext {
|
|
|
20
10
|
/** Base path for relative routes */
|
|
21
11
|
basePath?: string;
|
|
22
12
|
/** Route parameters to substitute */
|
|
23
|
-
[key: string]:
|
|
13
|
+
[key: string]: unknown;
|
|
24
14
|
}
|
|
25
15
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/routing/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB"}
|
package/dist/signals/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/signals/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|