@pluv/types 0.34.0 → 0.35.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/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +4 -0
- package/dist/index.d.mts +13 -23
- package/dist/index.d.ts +13 -23
- package/package.json +3 -3
- package/src/index.ts +0 -4
- package/src/pluv.ts +33 -63
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @pluv/types@0.
|
|
2
|
+
> @pluv/types@0.35.0 build /home/runner/work/pluv/pluv/packages/types
|
|
3
3
|
> tsup src/index.ts --format esm,cjs --dts
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
[34mESM[39m Build start
|
|
10
10
|
[34mCJS[39m Build start
|
|
11
11
|
[32mESM[39m [1mdist/index.mjs [22m[32m0 B[39m
|
|
12
|
-
[32mESM[39m ⚡️ Build success in
|
|
12
|
+
[32mESM[39m ⚡️ Build success in 54ms
|
|
13
13
|
[32mCJS[39m [1mdist/index.js [22m[32m758.00 B[39m
|
|
14
|
-
[32mCJS[39m ⚡️ Build success in
|
|
14
|
+
[32mCJS[39m ⚡️ Build success in 55ms
|
|
15
15
|
[34mDTS[39m Build start
|
|
16
|
-
[32mDTS[39m ⚡️ Build success in
|
|
17
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[
|
|
18
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
16
|
+
[32mDTS[39m ⚡️ Build success in 798ms
|
|
17
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m6.99 KB[39m
|
|
18
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m6.99 KB[39m
|
package/CHANGELOG.md
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -59,12 +59,7 @@ interface BaseClientEventRecord {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
type BaseClientMessage = InferEventMessage<BaseClientEventRecord>;
|
|
62
|
-
interface
|
|
63
|
-
required?: false;
|
|
64
|
-
secret?: string;
|
|
65
|
-
user: InputZodLike<BaseUser>;
|
|
66
|
-
}
|
|
67
|
-
interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any, any>> {
|
|
62
|
+
interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any>> {
|
|
68
63
|
$OTHERS_RECEIVED: {
|
|
69
64
|
others: {
|
|
70
65
|
[connectionId: string]: {
|
|
@@ -81,7 +76,7 @@ interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any, an
|
|
|
81
76
|
presence: JsonObject;
|
|
82
77
|
};
|
|
83
78
|
}
|
|
84
|
-
type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any
|
|
79
|
+
type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any>> = BaseIOAuthorizeEventRecord<TAuthorize> & {
|
|
85
80
|
$ERROR: {
|
|
86
81
|
message: string;
|
|
87
82
|
stack?: string | null;
|
|
@@ -111,28 +106,23 @@ type EventRecord<TEvent extends string, TData extends JsonObject> = {
|
|
|
111
106
|
[key in `${TEvent}`]: TData;
|
|
112
107
|
};
|
|
113
108
|
type GetEventMessage<T extends EventRecord<string, any>, TEvent extends keyof T> = TEvent extends string ? EventMessage<TEvent, T[TEvent]> : never;
|
|
114
|
-
type InferIOAuthorize<TIO extends IOLike
|
|
115
|
-
type
|
|
116
|
-
type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any, any>> = TAuthorize extends IOAuthorize<infer IUser, infer IRequired> ? IRequired extends true ? IUser : IUser | null : never;
|
|
109
|
+
type InferIOAuthorize<TIO extends IOLike<any, any>> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
|
|
110
|
+
type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any> | null> = TAuthorize extends IOAuthorize<infer IUser> ? IUser : null;
|
|
117
111
|
type InputZodLike<TData extends JsonObject> = {
|
|
118
112
|
_input: TData;
|
|
119
113
|
parse: (data: unknown) => TData;
|
|
120
114
|
};
|
|
121
|
-
type IOAuthorize<TUser extends BaseUser = any,
|
|
122
|
-
required?: TRequired;
|
|
115
|
+
type IOAuthorize<TUser extends BaseUser = any, TContext extends Record<string, unknown> = {}> = {
|
|
123
116
|
secret?: string;
|
|
124
117
|
user: InputZodLike<TUser>;
|
|
125
118
|
} | ((context: TContext) => {
|
|
126
|
-
required?: TRequired;
|
|
127
119
|
secret?: string;
|
|
128
120
|
user: InputZodLike<TUser>;
|
|
129
121
|
});
|
|
130
|
-
type IOAuthorizeEventMessage<TIO extends IOLike> =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
type IOAuthorizeRequiredEventMessage<TIO extends IOLike> = NonNilProps<IOAuthorizeOptionalEventMessage<TIO>, "connectionId" | "user">;
|
|
122
|
+
type IOAuthorizeEventMessage<TIO extends IOLike> = {
|
|
123
|
+
connectionId: string;
|
|
124
|
+
user: InferIOAuthorizeUser<InferIOAuthorize<TIO>>;
|
|
125
|
+
};
|
|
136
126
|
type ProcedureLike<TInput extends JsonObject = {}, TOutput extends EventRecord<string, any> = {}> = {
|
|
137
127
|
config: {
|
|
138
128
|
broadcast?: ((data: TInput, ...args: any[]) => MaybePromise<Partial<TOutput> | void>) | null;
|
|
@@ -147,9 +137,9 @@ interface IORouterLike<TEvents extends Record<string, ProcedureLike<any, any>> =
|
|
|
147
137
|
events: TEvents;
|
|
148
138
|
};
|
|
149
139
|
}
|
|
150
|
-
interface IOLike<TAuthorize extends IOAuthorize<any, any
|
|
140
|
+
interface IOLike<TAuthorize extends IOAuthorize<any, any> | null = null, TEvents extends Record<string, ProcedureLike<any, any>> = {}> extends IORouterLike<TEvents> {
|
|
151
141
|
_defs: {
|
|
152
|
-
authorize: TAuthorize
|
|
142
|
+
authorize: TAuthorize;
|
|
153
143
|
events: TEvents;
|
|
154
144
|
};
|
|
155
145
|
}
|
|
@@ -166,6 +156,6 @@ type InferEventMessage<TEvents = EventRecord<string, any>, TEvent extends keyof
|
|
|
166
156
|
}[TEvent] : never;
|
|
167
157
|
type IOEventMessage<TIO extends IOLike<any>, TEvent extends keyof InferIOOutput<TIO> = keyof InferIOOutput<TIO>> = Id<{
|
|
168
158
|
room: string;
|
|
169
|
-
} & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ?
|
|
159
|
+
} & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ? Partial<IOAuthorizeEventMessage<TIO>> : IOAuthorizeEventMessage<TIO>)>;
|
|
170
160
|
|
|
171
|
-
export type { BaseClientEventRecord, BaseClientMessage,
|
|
161
|
+
export type { BaseClientEventRecord, BaseClientMessage, BaseIOAuthorizeEventRecord, BaseIOEventRecord, BaseUser, Constructable, DeepPartial, DeepWriteable, EventMessage, EventRecord, GetEventMessage, IOAuthorize, IOAuthorizeEventMessage, IOEventMessage, IOLike, IORouterLike, Id, InferEventMessage, InferEventsInput, InferEventsOutput, InferIOAuthorize, InferIOAuthorizeUser, InferIOInput, InferIOOutput, InputZodLike, Json, JsonObject, JsonPrimitive, Maybe, MaybePromise, MaybeReadonlyArray, NonNilProps, OptionalProps, ProcedureLike, Spread, SpreadProperties, UndefinedProps };
|
package/dist/index.d.ts
CHANGED
|
@@ -59,12 +59,7 @@ interface BaseClientEventRecord {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
type BaseClientMessage = InferEventMessage<BaseClientEventRecord>;
|
|
62
|
-
interface
|
|
63
|
-
required?: false;
|
|
64
|
-
secret?: string;
|
|
65
|
-
user: InputZodLike<BaseUser>;
|
|
66
|
-
}
|
|
67
|
-
interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any, any>> {
|
|
62
|
+
interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any>> {
|
|
68
63
|
$OTHERS_RECEIVED: {
|
|
69
64
|
others: {
|
|
70
65
|
[connectionId: string]: {
|
|
@@ -81,7 +76,7 @@ interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any, an
|
|
|
81
76
|
presence: JsonObject;
|
|
82
77
|
};
|
|
83
78
|
}
|
|
84
|
-
type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any
|
|
79
|
+
type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any>> = BaseIOAuthorizeEventRecord<TAuthorize> & {
|
|
85
80
|
$ERROR: {
|
|
86
81
|
message: string;
|
|
87
82
|
stack?: string | null;
|
|
@@ -111,28 +106,23 @@ type EventRecord<TEvent extends string, TData extends JsonObject> = {
|
|
|
111
106
|
[key in `${TEvent}`]: TData;
|
|
112
107
|
};
|
|
113
108
|
type GetEventMessage<T extends EventRecord<string, any>, TEvent extends keyof T> = TEvent extends string ? EventMessage<TEvent, T[TEvent]> : never;
|
|
114
|
-
type InferIOAuthorize<TIO extends IOLike
|
|
115
|
-
type
|
|
116
|
-
type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any, any>> = TAuthorize extends IOAuthorize<infer IUser, infer IRequired> ? IRequired extends true ? IUser : IUser | null : never;
|
|
109
|
+
type InferIOAuthorize<TIO extends IOLike<any, any>> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
|
|
110
|
+
type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any> | null> = TAuthorize extends IOAuthorize<infer IUser> ? IUser : null;
|
|
117
111
|
type InputZodLike<TData extends JsonObject> = {
|
|
118
112
|
_input: TData;
|
|
119
113
|
parse: (data: unknown) => TData;
|
|
120
114
|
};
|
|
121
|
-
type IOAuthorize<TUser extends BaseUser = any,
|
|
122
|
-
required?: TRequired;
|
|
115
|
+
type IOAuthorize<TUser extends BaseUser = any, TContext extends Record<string, unknown> = {}> = {
|
|
123
116
|
secret?: string;
|
|
124
117
|
user: InputZodLike<TUser>;
|
|
125
118
|
} | ((context: TContext) => {
|
|
126
|
-
required?: TRequired;
|
|
127
119
|
secret?: string;
|
|
128
120
|
user: InputZodLike<TUser>;
|
|
129
121
|
});
|
|
130
|
-
type IOAuthorizeEventMessage<TIO extends IOLike> =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
type IOAuthorizeRequiredEventMessage<TIO extends IOLike> = NonNilProps<IOAuthorizeOptionalEventMessage<TIO>, "connectionId" | "user">;
|
|
122
|
+
type IOAuthorizeEventMessage<TIO extends IOLike> = {
|
|
123
|
+
connectionId: string;
|
|
124
|
+
user: InferIOAuthorizeUser<InferIOAuthorize<TIO>>;
|
|
125
|
+
};
|
|
136
126
|
type ProcedureLike<TInput extends JsonObject = {}, TOutput extends EventRecord<string, any> = {}> = {
|
|
137
127
|
config: {
|
|
138
128
|
broadcast?: ((data: TInput, ...args: any[]) => MaybePromise<Partial<TOutput> | void>) | null;
|
|
@@ -147,9 +137,9 @@ interface IORouterLike<TEvents extends Record<string, ProcedureLike<any, any>> =
|
|
|
147
137
|
events: TEvents;
|
|
148
138
|
};
|
|
149
139
|
}
|
|
150
|
-
interface IOLike<TAuthorize extends IOAuthorize<any, any
|
|
140
|
+
interface IOLike<TAuthorize extends IOAuthorize<any, any> | null = null, TEvents extends Record<string, ProcedureLike<any, any>> = {}> extends IORouterLike<TEvents> {
|
|
151
141
|
_defs: {
|
|
152
|
-
authorize: TAuthorize
|
|
142
|
+
authorize: TAuthorize;
|
|
153
143
|
events: TEvents;
|
|
154
144
|
};
|
|
155
145
|
}
|
|
@@ -166,6 +156,6 @@ type InferEventMessage<TEvents = EventRecord<string, any>, TEvent extends keyof
|
|
|
166
156
|
}[TEvent] : never;
|
|
167
157
|
type IOEventMessage<TIO extends IOLike<any>, TEvent extends keyof InferIOOutput<TIO> = keyof InferIOOutput<TIO>> = Id<{
|
|
168
158
|
room: string;
|
|
169
|
-
} & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ?
|
|
159
|
+
} & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ? Partial<IOAuthorizeEventMessage<TIO>> : IOAuthorizeEventMessage<TIO>)>;
|
|
170
160
|
|
|
171
|
-
export type { BaseClientEventRecord, BaseClientMessage,
|
|
161
|
+
export type { BaseClientEventRecord, BaseClientMessage, BaseIOAuthorizeEventRecord, BaseIOEventRecord, BaseUser, Constructable, DeepPartial, DeepWriteable, EventMessage, EventRecord, GetEventMessage, IOAuthorize, IOAuthorizeEventMessage, IOEventMessage, IOLike, IORouterLike, Id, InferEventMessage, InferEventsInput, InferEventsOutput, InferIOAuthorize, InferIOAuthorizeUser, InferIOInput, InferIOOutput, InputZodLike, Json, JsonObject, JsonPrimitive, Maybe, MaybePromise, MaybeReadonlyArray, NonNilProps, OptionalProps, ProcedureLike, Spread, SpreadProperties, UndefinedProps };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pluv/types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "@pluv/io shared types",
|
|
5
5
|
"author": "leedavidcs",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"tsup": "^8.3.5",
|
|
20
20
|
"typescript": "^5.7.2",
|
|
21
|
-
"@pluv/tsconfig": "^0.
|
|
22
|
-
"eslint-config-pluv": "^0.
|
|
21
|
+
"@pluv/tsconfig": "^0.35.0",
|
|
22
|
+
"eslint-config-pluv": "^0.35.0"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsup src/index.ts --format esm,cjs --dts",
|
package/src/index.ts
CHANGED
|
@@ -18,7 +18,6 @@ export type {
|
|
|
18
18
|
export type {
|
|
19
19
|
BaseClientEventRecord,
|
|
20
20
|
BaseClientMessage,
|
|
21
|
-
BaseIOAuthorize,
|
|
22
21
|
BaseIOAuthorizeEventRecord,
|
|
23
22
|
BaseIOEventRecord,
|
|
24
23
|
BaseUser,
|
|
@@ -29,15 +28,12 @@ export type {
|
|
|
29
28
|
InferEventsInput,
|
|
30
29
|
InferEventsOutput,
|
|
31
30
|
InferIOAuthorize,
|
|
32
|
-
InferIOAuthorizeRequired,
|
|
33
31
|
InferIOAuthorizeUser,
|
|
34
32
|
InferIOInput,
|
|
35
33
|
InferIOOutput,
|
|
36
34
|
InputZodLike,
|
|
37
35
|
IOAuthorize,
|
|
38
36
|
IOAuthorizeEventMessage,
|
|
39
|
-
IOAuthorizeOptionalEventMessage,
|
|
40
|
-
IOAuthorizeRequiredEventMessage,
|
|
41
37
|
IOEventMessage,
|
|
42
38
|
IOLike,
|
|
43
39
|
IORouterLike,
|
package/src/pluv.ts
CHANGED
|
@@ -22,13 +22,7 @@ export interface BaseClientEventRecord {
|
|
|
22
22
|
|
|
23
23
|
export type BaseClientMessage = InferEventMessage<BaseClientEventRecord>;
|
|
24
24
|
|
|
25
|
-
export interface
|
|
26
|
-
required?: false;
|
|
27
|
-
secret?: string;
|
|
28
|
-
user: InputZodLike<BaseUser>;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any, any>> {
|
|
25
|
+
export interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any, any>> {
|
|
32
26
|
$OTHERS_RECEIVED: {
|
|
33
27
|
others: {
|
|
34
28
|
[connectionId: string]: {
|
|
@@ -46,29 +40,28 @@ export interface BaseIOAuthorizeEventRecord<TAuthorize extends IOAuthorize<any,
|
|
|
46
40
|
};
|
|
47
41
|
}
|
|
48
42
|
|
|
49
|
-
export type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
presence: JsonObject;
|
|
61
|
-
};
|
|
62
|
-
$REGISTERED: {
|
|
63
|
-
sessionId: string;
|
|
64
|
-
};
|
|
65
|
-
$STORAGE_RECEIVED: {
|
|
66
|
-
state: string;
|
|
67
|
-
};
|
|
68
|
-
$STORAGE_UPDATED: {
|
|
69
|
-
state: string;
|
|
70
|
-
};
|
|
43
|
+
export type BaseIOEventRecord<TAuthorize extends IOAuthorize<any, any>> = BaseIOAuthorizeEventRecord<TAuthorize> & {
|
|
44
|
+
$ERROR: {
|
|
45
|
+
message: string;
|
|
46
|
+
stack?: string | null;
|
|
47
|
+
};
|
|
48
|
+
$EXIT: {
|
|
49
|
+
sessionId: string;
|
|
50
|
+
};
|
|
51
|
+
$PONG: {};
|
|
52
|
+
$PRESENCE_UPDATED: {
|
|
53
|
+
presence: JsonObject;
|
|
71
54
|
};
|
|
55
|
+
$REGISTERED: {
|
|
56
|
+
sessionId: string;
|
|
57
|
+
};
|
|
58
|
+
$STORAGE_RECEIVED: {
|
|
59
|
+
state: string;
|
|
60
|
+
};
|
|
61
|
+
$STORAGE_UPDATED: {
|
|
62
|
+
state: string;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
72
65
|
|
|
73
66
|
export interface EventMessage<TEvent extends string, TData extends JsonObject = {}> {
|
|
74
67
|
data: TData;
|
|
@@ -83,53 +76,30 @@ export type GetEventMessage<T extends EventRecord<string, any>, TEvent extends k
|
|
|
83
76
|
? EventMessage<TEvent, T[TEvent]>
|
|
84
77
|
: never;
|
|
85
78
|
|
|
86
|
-
export type InferIOAuthorize<TIO extends IOLike
|
|
87
|
-
|
|
88
|
-
export type InferIOAuthorizeRequired<TAuthorize extends IOAuthorize<any, any, any>> =
|
|
89
|
-
TAuthorize extends IOAuthorize<any, infer IRequired> ? IRequired : never;
|
|
79
|
+
export type InferIOAuthorize<TIO extends IOLike<any, any>> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
|
|
90
80
|
|
|
91
|
-
export type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any
|
|
92
|
-
TAuthorize extends IOAuthorize<infer IUser
|
|
93
|
-
? IRequired extends true
|
|
94
|
-
? IUser
|
|
95
|
-
: IUser | null
|
|
96
|
-
: never;
|
|
81
|
+
export type InferIOAuthorizeUser<TAuthorize extends IOAuthorize<any, any> | null> =
|
|
82
|
+
TAuthorize extends IOAuthorize<infer IUser> ? IUser : null;
|
|
97
83
|
|
|
98
84
|
export type InputZodLike<TData extends JsonObject> = {
|
|
99
85
|
_input: TData;
|
|
100
86
|
parse: (data: unknown) => TData;
|
|
101
87
|
};
|
|
102
88
|
|
|
103
|
-
export type IOAuthorize<
|
|
104
|
-
TUser extends BaseUser = any,
|
|
105
|
-
TRequired extends boolean = false,
|
|
106
|
-
TContext extends Record<string, unknown> = {},
|
|
107
|
-
> =
|
|
89
|
+
export type IOAuthorize<TUser extends BaseUser = any, TContext extends Record<string, unknown> = {}> =
|
|
108
90
|
| {
|
|
109
|
-
required?: TRequired;
|
|
110
91
|
secret?: string;
|
|
111
92
|
user: InputZodLike<TUser>;
|
|
112
93
|
}
|
|
113
94
|
| ((context: TContext) => {
|
|
114
|
-
required?: TRequired;
|
|
115
95
|
secret?: string;
|
|
116
96
|
user: InputZodLike<TUser>;
|
|
117
97
|
});
|
|
118
98
|
|
|
119
|
-
export type IOAuthorizeEventMessage<TIO extends IOLike> =
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
export interface IOAuthorizeOptionalEventMessage<TIO extends IOLike> {
|
|
125
|
-
connectionId: string | null;
|
|
126
|
-
user: InferIOAuthorizeUser<InferIOAuthorize<TIO>> | null;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export type IOAuthorizeRequiredEventMessage<TIO extends IOLike> = NonNilProps<
|
|
130
|
-
IOAuthorizeOptionalEventMessage<TIO>,
|
|
131
|
-
"connectionId" | "user"
|
|
132
|
-
>;
|
|
99
|
+
export type IOAuthorizeEventMessage<TIO extends IOLike> = {
|
|
100
|
+
connectionId: string;
|
|
101
|
+
user: InferIOAuthorizeUser<InferIOAuthorize<TIO>>;
|
|
102
|
+
};
|
|
133
103
|
|
|
134
104
|
export type ProcedureLike<TInput extends JsonObject = {}, TOutput extends EventRecord<string, any> = {}> = {
|
|
135
105
|
config: {
|
|
@@ -148,11 +118,11 @@ export interface IORouterLike<TEvents extends Record<string, ProcedureLike<any,
|
|
|
148
118
|
}
|
|
149
119
|
|
|
150
120
|
export interface IOLike<
|
|
151
|
-
TAuthorize extends IOAuthorize<any, any
|
|
121
|
+
TAuthorize extends IOAuthorize<any, any> | null = null,
|
|
152
122
|
TEvents extends Record<string, ProcedureLike<any, any>> = {},
|
|
153
123
|
> extends IORouterLike<TEvents> {
|
|
154
124
|
_defs: {
|
|
155
|
-
authorize: TAuthorize
|
|
125
|
+
authorize: TAuthorize;
|
|
156
126
|
events: TEvents;
|
|
157
127
|
};
|
|
158
128
|
}
|
|
@@ -184,6 +154,6 @@ export type IOEventMessage<
|
|
|
184
154
|
> = Id<
|
|
185
155
|
{ room: string } & InferEventMessage<InferIOOutput<TIO>, TEvent> &
|
|
186
156
|
(InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR"
|
|
187
|
-
?
|
|
157
|
+
? Partial<IOAuthorizeEventMessage<TIO>>
|
|
188
158
|
: IOAuthorizeEventMessage<TIO>)
|
|
189
159
|
>;
|