Skip to content
This repository was archived by the owner on Oct 22, 2025. It is now read-only.

Commit 822818d

Browse files
committed
refactor(react): update types (#751)
1 parent de66bf9 commit 822818d

File tree

8 files changed

+140
-445
lines changed

8 files changed

+140
-445
lines changed

.github/workflows/pkg-pr-new.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- run: yarn build
1515
- run: yarn install # re-install to detect CLIs
1616
# create examples
17-
- run: ./node_modules/.bin/create-actor --platform nodejs --template chat-simple templates/chat-simple
17+
- run: ./node_modules/.bin/create-actor --platform nodejs --template chat-room templates/chat-room
1818
- run: ./node_modules/.bin/create-actor --platform nodejs --template counter templates/counter
1919
# TODO: Add --compact once we publish them to npm
2020
- run: yarn dlx pkg-pr-new publish 'packages/**/platforms/*' 'packages/*' 'packages/frameworks/*' --template './templates/*' --packageManager yarn

packages/actor-core/src/client/client.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ import { logger } from "./log";
1818
import { importWebSocket } from "@/common/websocket";
1919
import { importEventSource } from "@/common/eventsource";
2020
import { ActorCoreApp } from "@/mod";
21-
import { ActorDefinition, AnyActorDefinition } from "@/actor/definition";
21+
import type { AnyActorDefinition } from "@/actor/definition";
2222

2323
/** Extract the actor registry from the app definition. */
2424
export type ExtractActorsFromApp<A extends ActorCoreApp<any>> =
2525
A extends ActorCoreApp<infer Actors> ? Actors : never;
2626

27+
/** Extract the app definition from the client. */
28+
export type ExtractAppFromClient<C extends Client<ActorCoreApp<{}>>> =
29+
C extends Client<infer A> ? A : never;
30+
2731
/**
2832
* Represents an actor accessor that provides methods to interact with a specific actor.
2933
*/

packages/actor-core/src/client/handle.ts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import { assertUnreachable } from "@/common/utils";
77
import * as cbor from "cbor-x";
88
import * as errors from "./errors";
99
import { logger } from "./log";
10-
import {
11-
type WebSocketMessage as ConnMessage,
12-
messageLength,
13-
} from "./utils";
10+
import { type WebSocketMessage as ConnMessage, messageLength } from "./utils";
1411
import { ACTOR_HANDLES_SYMBOL, ClientRaw, DynamicImports } from "./client";
1512
import { ActorDefinition, AnyActorDefinition } from "@/actor/definition";
1613
import pRetry from "p-retry";
@@ -37,9 +34,7 @@ interface SendOpts {
3734
ephemeral: boolean;
3835
}
3936

40-
export type ConnTransport =
41-
| { websocket: WebSocket }
42-
| { sse: EventSource };
37+
export type ConnTransport = { websocket: WebSocket } | { sse: EventSource };
4338

4439
export const CONNECT_SYMBOL = Symbol("connect");
4540

@@ -724,11 +719,15 @@ enc
724719
}
725720
}
726721

727-
type ExtractActorDefinitionRpcs<AD extends AnyActorDefinition> = AD extends ActorDefinition<any, any, any, any, infer R> ? R : never;
722+
type ExtractActorDefinitionRpcs<AD extends AnyActorDefinition> =
723+
AD extends ActorDefinition<any, any, any, any, infer R> ? R : never;
728724

729-
type ActorDefinitionRpcs<AD extends AnyActorDefinition> =
730-
{
731-
[K in keyof ExtractActorDefinitionRpcs<AD>]: ExtractActorDefinitionRpcs<AD>[K] extends (...args: infer Args) => infer Return ? ActorRPCFunction<Args, Return> : never;
725+
type ActorDefinitionRpcs<AD extends AnyActorDefinition> = {
726+
[K in keyof ExtractActorDefinitionRpcs<AD>]: ExtractActorDefinitionRpcs<AD>[K] extends (
727+
...args: infer Args
728+
) => infer Return
729+
? ActorRPCFunction<Args, Return>
730+
: never;
732731
};
733732

734733
/**
@@ -747,7 +746,8 @@ type ActorDefinitionRpcs<AD extends AnyActorDefinition> =
747746
* @see {@link ActorHandleRaw}
748747
*/
749748

750-
export type ActorHandle<AD extends AnyActorDefinition> = ActorHandleRaw & ActorDefinitionRpcs<AD>;
749+
export type ActorHandle<AD extends AnyActorDefinition> = ActorHandleRaw &
750+
ActorDefinitionRpcs<AD>;
751751

752752
//{
753753
// [K in keyof A as K extends string ? K extends `_${string}` ? never : K : K]: A[K] extends (...args: infer Args) => infer Return ? ActorRPCFunction<Args, Return> : never;
@@ -764,8 +764,7 @@ export type ActorHandle<AD extends AnyActorDefinition> = ActorHandleRaw & ActorD
764764

765765
export type ActorRPCFunction<
766766
Args extends Array<unknown> = unknown[],
767-
Response = unknown
767+
Response = unknown,
768768
> = (
769769
...args: Args extends [unknown, ...infer Rest] ? Rest : Args
770770
) => Promise<Response>;
771-

packages/actor-core/src/client/mod.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ export type {
88
GetWithIdOptions,
99
QueryOptions,
1010
Region,
11+
ExtractActorsFromApp,
12+
ExtractAppFromClient,
13+
ClientRaw,
1114
} from "./client";
1215
export type { ActorHandle } from "./handle";
1316
export { ActorHandleRaw } from "./handle";
@@ -24,3 +27,7 @@ export {
2427
NoSupportedTransport,
2528
ActionError,
2629
} from "@/client/errors";
30+
export {
31+
AnyActorDefinition,
32+
ActorDefinition,
33+
} from "@/actor/definition";

0 commit comments

Comments
 (0)