@koordinates/xstate-tree 1.1.3 → 1.3.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.
@@ -12,7 +12,10 @@ import { default as React_2 } from 'react';
12
12
  import { ResolveTypegenMeta } from 'xstate';
13
13
  import { ServiceMap } from 'xstate';
14
14
  import { StateMachine } from 'xstate';
15
+ import type { TypegenConstraint } from 'xstate';
15
16
  import { TypegenDisabled } from 'xstate';
17
+ import type { TypegenEnabled } from 'xstate';
18
+ import type { TypegenMeta } from 'xstate';
16
19
  import { Typestate } from 'xstate';
17
20
  import * as Z from 'zod';
18
21
 
@@ -46,7 +49,7 @@ export declare function broadcast(event: GlobalEvents): void;
46
49
  /**
47
50
  * @public
48
51
  */
49
- export declare function buildActions<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TActions, TSelectors, TSend = (send: TEvent) => void>(__machine: StateMachine<TContext, any, TEvent, TTypestate, any, any, any>, __selectors: Selectors<TContext, TEvent, TSelectors, TTypestate["value"]>, actions: (send: TSend, selectors: TSelectors) => TActions): (send: TSend, selectors: TSelectors) => TActions;
52
+ export declare function buildActions<TContext, TStateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TXstateActions extends BaseActionObject, TServices extends ServiceMap, TTypegen extends TypegenConstraint, TActions, TSelectors, TStates = TTypegen extends TypegenEnabled ? TTypegen extends ResolveTypegenMeta<infer T, any, any, any> ? T extends TypegenMeta ? T["matchesStates"] : never : never : TTypestate["value"], TSend = (send: TEvent) => void>(__machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate, TXstateActions, TServices, TTypegen>, __selectors: Selectors<TContext, TEvent, TSelectors, TStates>, actions: (send: TSend, selectors: TSelectors) => TActions): (send: TSend, selectors: TSelectors) => TActions;
50
53
 
51
54
  /**
52
55
  * @public
@@ -146,7 +149,7 @@ export declare function buildRootComponent<TContext, TEvent extends EventObject,
146
149
  /**
147
150
  * @public
148
151
  */
149
- export declare function buildSelectors<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TSelectors>(__machine: StateMachine<TContext, any, TEvent, TTypestate, any, any, any>, selectors: Selectors<TContext, TEvent, TSelectors, TTypestate["value"]>): (ctx: TContext, canHandleEvent: (e: TEvent) => boolean, inState: (state: TTypestate["value"]) => boolean, currentState: TTypestate["value"]) => TSelectors;
152
+ export declare function buildSelectors<TContext, TStateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TXstateActions extends BaseActionObject, TServices extends ServiceMap, TTypegen extends TypegenConstraint, TSelectors, TStates = TTypegen extends TypegenEnabled ? TTypegen extends ResolveTypegenMeta<infer T, any, any, any> ? T extends TypegenMeta ? T["matchesStates"] : never : never : TTypestate["value"]>(__machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate, TXstateActions, TServices, TTypegen>, selectors: Selectors<TContext, TEvent, TSelectors, TStates>): (ctx: TContext, canHandleEvent: (e: TEvent) => boolean, inState: (state: TStates) => boolean, currentState: TStates) => TSelectors;
150
153
 
151
154
  /**
152
155
  * @internal
@@ -188,7 +191,7 @@ export declare function buildTestRootComponent<TContext, TEvent extends EventObj
188
191
  /**
189
192
  * @public
190
193
  */
191
- export declare function buildView<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TActions, TSelectors, TSlots extends readonly Slot[] = [], TViewProps = ViewProps<TSelectors, TActions, TSlots, TTypestate["value"]>, TSend = (send: TEvent) => void>(__machine: StateMachine<TContext, any, TEvent, TTypestate, any, any, any>, __selectors: Selectors<TContext, TEvent, TSelectors, TTypestate["value"]>, __actions: (send: TSend, selectors: TSelectors) => TActions, __slots: TSlots, view: React_2.ComponentType<TViewProps>): React_2.ComponentType<TViewProps>;
194
+ export declare function buildView<TContext, TStateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TXstateActions extends BaseActionObject, TServices extends ServiceMap, TTypegen extends TypegenConstraint, TActions, TSelectors, TSlots extends readonly Slot[] = [], TStates = TTypegen extends TypegenEnabled ? TTypegen extends ResolveTypegenMeta<infer T, any, any, any> ? T extends TypegenMeta ? T["matchesStates"] : never : never : TTypestate["value"], TViewProps = ViewProps<TSelectors, TActions, TSlots, TStates>, TSend = (send: TEvent) => void>(__machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate, TXstateActions, TServices, TTypegen>, __selectors: Selectors<TContext, TEvent, TSelectors, TStates>, __actions: (send: TSend, selectors: TSelectors) => TActions, __slots: TSlots, view: React_2.ComponentType<TViewProps>): React_2.ComponentType<TViewProps>;
192
195
 
193
196
  /**
194
197
  * @public
@@ -294,7 +297,7 @@ declare type MakeEmptyObjectPropertiesOptional<T> = Omit<T, EmptyKeys<T>> & Part
294
297
  /**
295
298
  * @public
296
299
  */
297
- export declare function matchRoute<TRoutes extends Route<any, any, any, any>[]>(routes: TRoutes, basePath: string, path: string, search: string): Return;
300
+ export declare function matchRoute<TRoutes extends Route<any, any, any, any>[]>(routes: TRoutes, basePath: string, path: string, search: string): Return<TRoutes>;
298
301
 
299
302
  /**
300
303
  * @public
@@ -374,10 +377,10 @@ export declare type Query<T> = T extends {
374
377
  query: infer TQuery;
375
378
  } ? TQuery : undefined;
376
379
 
377
- declare type Return = {
380
+ declare type Return<TRoutes extends Route<any, any, any, any>[]> = {
378
381
  type: "matched";
379
- route: AnyRoute;
380
- event: RoutingEvent<Route<any, any, any, any>>;
382
+ route: TRoutes[number];
383
+ event: RoutingEvent<TRoutes[number]>;
381
384
  } | {
382
385
  type: "no-matches";
383
386
  } | {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@koordinates/xstate-tree",
3
3
  "main": "lib/index.js",
4
4
  "types": "lib/xstate-tree.d.ts",
5
- "version": "1.1.3",
5
+ "version": "1.3.0",
6
6
  "dependencies": {
7
7
  "@xstate/react": "3.0.0",
8
8
  "fast-memoize": "2.5.2",