@pluv/types 0.34.1 → 0.35.1

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @pluv/types@0.34.1 build /home/runner/work/pluv/pluv/packages/types
2
+ > @pluv/types@0.35.1 build /home/runner/work/pluv/pluv/packages/types
3
3
  > tsup src/index.ts --format esm,cjs --dts
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -9,10 +9,10 @@
9
9
  ESM Build start
10
10
  CJS Build start
11
11
  ESM dist/index.mjs 0 B
12
- ESM ⚡️ Build success in 47ms
12
+ ESM ⚡️ Build success in 30ms
13
13
  CJS dist/index.js 758.00 B
14
- CJS ⚡️ Build success in 48ms
14
+ CJS ⚡️ Build success in 32ms
15
15
  DTS Build start
16
- DTS ⚡️ Build success in 887ms
17
- DTS dist/index.d.mts 7.86 KB
18
- DTS dist/index.d.ts 7.86 KB
16
+ DTS ⚡️ Build success in 838ms
17
+ DTS dist/index.d.mts 6.99 KB
18
+ DTS dist/index.d.ts 6.99 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @pluv/types
2
2
 
3
+ ## 0.35.1
4
+
5
+ ## 0.35.0
6
+
3
7
  ## 0.34.1
4
8
 
5
9
  ## 0.34.0
package/dist/index.d.mts CHANGED
@@ -59,12 +59,7 @@ interface BaseClientEventRecord {
59
59
  };
60
60
  }
61
61
  type BaseClientMessage = InferEventMessage<BaseClientEventRecord>;
62
- interface BaseIOAuthorize {
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, any>> = BaseIOAuthorizeEventRecord<TAuthorize> & {
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> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
115
- type InferIOAuthorizeRequired<TAuthorize extends IOAuthorize<any, any, any>> = TAuthorize extends IOAuthorize<any, infer IRequired> ? IRequired : never;
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, TRequired extends boolean = false, TContext extends Record<string, unknown> = {}> = {
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> = InferIOAuthorizeRequired<InferIOAuthorize<TIO>> extends false ? IOAuthorizeOptionalEventMessage<TIO> : IOAuthorizeRequiredEventMessage<TIO>;
131
- interface IOAuthorizeOptionalEventMessage<TIO extends IOLike> {
132
- connectionId: string | null;
133
- user: InferIOAuthorizeUser<InferIOAuthorize<TIO>> | null;
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, any> = IOAuthorize<any, any, any>, TEvents extends Record<string, ProcedureLike<any, any>> = {}> extends IORouterLike<TEvents> {
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 | null;
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" ? IOAuthorizeOptionalEventMessage<TIO> : IOAuthorizeEventMessage<TIO>)>;
159
+ } & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ? Partial<IOAuthorizeEventMessage<TIO>> : IOAuthorizeEventMessage<TIO>)>;
170
160
 
171
- export type { BaseClientEventRecord, BaseClientMessage, BaseIOAuthorize, BaseIOAuthorizeEventRecord, BaseIOEventRecord, BaseUser, Constructable, DeepPartial, DeepWriteable, EventMessage, EventRecord, GetEventMessage, IOAuthorize, IOAuthorizeEventMessage, IOAuthorizeOptionalEventMessage, IOAuthorizeRequiredEventMessage, IOEventMessage, IOLike, IORouterLike, Id, InferEventMessage, InferEventsInput, InferEventsOutput, InferIOAuthorize, InferIOAuthorizeRequired, InferIOAuthorizeUser, InferIOInput, InferIOOutput, InputZodLike, Json, JsonObject, JsonPrimitive, Maybe, MaybePromise, MaybeReadonlyArray, NonNilProps, OptionalProps, ProcedureLike, Spread, SpreadProperties, UndefinedProps };
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 BaseIOAuthorize {
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, any>> = BaseIOAuthorizeEventRecord<TAuthorize> & {
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> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
115
- type InferIOAuthorizeRequired<TAuthorize extends IOAuthorize<any, any, any>> = TAuthorize extends IOAuthorize<any, infer IRequired> ? IRequired : never;
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, TRequired extends boolean = false, TContext extends Record<string, unknown> = {}> = {
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> = InferIOAuthorizeRequired<InferIOAuthorize<TIO>> extends false ? IOAuthorizeOptionalEventMessage<TIO> : IOAuthorizeRequiredEventMessage<TIO>;
131
- interface IOAuthorizeOptionalEventMessage<TIO extends IOLike> {
132
- connectionId: string | null;
133
- user: InferIOAuthorizeUser<InferIOAuthorize<TIO>> | null;
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, any> = IOAuthorize<any, any, any>, TEvents extends Record<string, ProcedureLike<any, any>> = {}> extends IORouterLike<TEvents> {
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 | null;
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" ? IOAuthorizeOptionalEventMessage<TIO> : IOAuthorizeEventMessage<TIO>)>;
159
+ } & InferEventMessage<InferIOOutput<TIO>, TEvent> & (InferEventMessage<InferIOOutput<TIO>, TEvent>["type"] extends "$ERROR" ? Partial<IOAuthorizeEventMessage<TIO>> : IOAuthorizeEventMessage<TIO>)>;
170
160
 
171
- export type { BaseClientEventRecord, BaseClientMessage, BaseIOAuthorize, BaseIOAuthorizeEventRecord, BaseIOEventRecord, BaseUser, Constructable, DeepPartial, DeepWriteable, EventMessage, EventRecord, GetEventMessage, IOAuthorize, IOAuthorizeEventMessage, IOAuthorizeOptionalEventMessage, IOAuthorizeRequiredEventMessage, IOEventMessage, IOLike, IORouterLike, Id, InferEventMessage, InferEventsInput, InferEventsOutput, InferIOAuthorize, InferIOAuthorizeRequired, InferIOAuthorizeUser, InferIOInput, InferIOOutput, InputZodLike, Json, JsonObject, JsonPrimitive, Maybe, MaybePromise, MaybeReadonlyArray, NonNilProps, OptionalProps, ProcedureLike, Spread, SpreadProperties, UndefinedProps };
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.34.1",
3
+ "version": "0.35.1",
4
4
  "description": "@pluv/io shared types",
5
5
  "author": "leedavidcs",
6
6
  "license": "MIT",
@@ -17,9 +17,9 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "tsup": "^8.3.5",
20
- "typescript": "^5.7.2",
21
- "@pluv/tsconfig": "^0.34.1",
22
- "eslint-config-pluv": "^0.34.1"
20
+ "typescript": "^5.7.3",
21
+ "@pluv/tsconfig": "^0.35.1",
22
+ "eslint-config-pluv": "^0.35.1"
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 BaseIOAuthorize {
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, any>> =
50
- BaseIOAuthorizeEventRecord<TAuthorize> & {
51
- $ERROR: {
52
- message: string;
53
- stack?: string | null;
54
- };
55
- $EXIT: {
56
- sessionId: string;
57
- };
58
- $PONG: {};
59
- $PRESENCE_UPDATED: {
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> = TIO extends IOLike<infer IAuthorize> ? IAuthorize : never;
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, any>> =
92
- TAuthorize extends IOAuthorize<infer IUser, infer IRequired>
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
- InferIOAuthorizeRequired<InferIOAuthorize<TIO>> extends false
121
- ? IOAuthorizeOptionalEventMessage<TIO>
122
- : IOAuthorizeRequiredEventMessage<TIO>;
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, any> = IOAuthorize<any, 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 | null;
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
- ? IOAuthorizeOptionalEventMessage<TIO>
157
+ ? Partial<IOAuthorizeEventMessage<TIO>>
188
158
  : IOAuthorizeEventMessage<TIO>)
189
159
  >;