akanjs 2.3.5-rc.13 → 2.3.5-rc.14

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/document/by.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Cls, FIELD_META, type GetActionObject, type MergeAllActionTypes } from "akanjs/base";
1
+ import { type Cls, FIELD_META, type GetActionObject, SERVER_VALUE } from "akanjs/base";
2
2
  import { applyMixins } from "akanjs/common";
3
3
  import {
4
4
  ConstantRegistry,
@@ -7,7 +7,12 @@ import {
7
7
  type FieldObject,
8
8
  } from "akanjs/constant";
9
9
 
10
- export type DatabaseCls<Schema = any> = Cls<Schema, { refName: string; [FIELD_META]: FieldObject }>;
10
+ export type DatabaseCls<Schema = unknown> = Cls<Schema, { refName: string; [FIELD_META]: FieldObject }>;
11
+ export type DatabaseInstanceOf<DatabaseRef extends DatabaseCls> = DatabaseRef extends new (
12
+ ...args: never[]
13
+ ) => infer Instance
14
+ ? Instance
15
+ : never;
11
16
  type ConstantModelCls = DocumentConstantModelRef<unknown>;
12
17
 
13
18
  export interface DefaultDocMtds<TDocument> {
@@ -38,8 +43,13 @@ interface ChainableHydratedMethods<TDocument>
38
43
  type ChainableHydratedDocument<TDocument> = TDocument & {
39
44
  id: string;
40
45
  } & ChainableHydratedMethods<TDocument>;
41
- export type Doc<M = any> = HydratedDocumentWithId<DocumentModel<M>>;
46
+ export type Doc<M = unknown> = HydratedDocumentWithId<DocumentModel<M>>;
42
47
  type DatabaseSchemaOf<ModelCls> = ModelCls extends { _DatabaseSchema: infer Schema } ? Schema : never;
48
+ type ConstantValueOf<ModelCls> = ModelCls extends { [SERVER_VALUE]: infer Schema }
49
+ ? Schema
50
+ : ModelCls extends new (...args: never[]) => infer Schema
51
+ ? Schema
52
+ : never;
43
53
  type ObjectDocumentModelType = "object" | "full" | "light";
44
54
  type ModelTypeOf<ModelCls> = ModelCls extends { _ModelType: infer ModelType } ? ModelType : never;
45
55
  type IsObjectModel<ModelCls> = ModelTypeOf<ModelCls> extends ObjectDocumentModelType ? true : false;
@@ -48,27 +58,40 @@ type DocModelOf<ModelCls, Schema = DatabaseSchemaOf<ModelCls>> =
48
58
  type DocActionOmitKey<ModelCls, Schema = DatabaseSchemaOf<ModelCls>> =
49
59
  | (keyof Schema & string)
50
60
  | (IsObjectModel<ModelCls> extends true ? keyof DefaultDocMtds<unknown> | "id" : never);
51
- type DatabaseSchemaFor<ModelCls extends ConstantModelCls> = DatabaseSchemaOf<ModelCls>;
61
+ type DatabaseSchemaFor<ModelCls extends ConstantModelCls> = DatabaseSchemaOf<ModelCls> & ConstantValueOf<ModelCls>;
52
62
  type DocModelFor<ModelCls extends ConstantModelCls> = DocModelOf<ModelCls, DatabaseSchemaFor<ModelCls>>;
53
63
  type DocActionOmitKeyFor<ModelCls extends ConstantModelCls> = DocActionOmitKey<ModelCls, DatabaseSchemaFor<ModelCls>>;
54
- type AddDbModelActions<
55
- ModelCls extends ConstantModelCls,
56
- AddDbModel extends DatabaseCls,
57
- _OmitKey extends string = DocActionOmitKeyFor<ModelCls> & string,
58
- > = Omit<GetActionObject<InstanceType<AddDbModel>>, _OmitKey>;
64
+ type StrictDocumentActions<T> = string extends keyof T
65
+ ? T[string] extends never
66
+ ? Record<never, never>
67
+ : GetActionObject<T>
68
+ : GetActionObject<T>;
69
+ type DocumentActionsOf<AddDbModel extends DatabaseCls, OmitKey extends string> = Omit<
70
+ StrictDocumentActions<DatabaseInstanceOf<AddDbModel>>,
71
+ OmitKey
72
+ >;
73
+ type MergeDocumentActions<
74
+ AddDbModels extends readonly DatabaseCls[],
75
+ OmitKey extends string,
76
+ Acc = Record<never, never>,
77
+ > = AddDbModels extends readonly [infer First extends DatabaseCls, ...infer Rest extends readonly DatabaseCls[]]
78
+ ? MergeDocumentActions<Rest, OmitKey, Acc & DocumentActionsOf<First, OmitKey>>
79
+ : AddDbModels extends readonly (infer AddDbModel extends DatabaseCls)[]
80
+ ? Acc & DocumentActionsOf<AddDbModel, OmitKey>
81
+ : Acc;
59
82
  type ByInstance<
60
83
  ModelCls extends ConstantModelCls,
61
- AddDbModels extends DatabaseCls[],
84
+ AddDbModels extends readonly DatabaseCls[],
62
85
  _OmitKey extends string = DocActionOmitKeyFor<ModelCls> & string,
63
86
  _DocModel = DocModelFor<ModelCls>,
64
- > = MergeAllActionTypes<AddDbModels, _OmitKey> & _DocModel;
87
+ > = MergeDocumentActions<AddDbModels, _OmitKey> & _DocModel;
65
88
 
66
89
  export function by<ModelCls extends ConstantModelCls>(modelRef: ModelCls): DatabaseCls<DocModelFor<ModelCls>>;
67
90
  export function by<ModelCls extends ConstantModelCls, AddDbModel extends DatabaseCls>(
68
91
  modelRef: ModelCls,
69
92
  addRef: AddDbModel,
70
- ): DatabaseCls<AddDbModelActions<ModelCls, AddDbModel> & DocModelFor<ModelCls>>;
71
- export function by<ModelCls extends ConstantModelCls, AddDbModels extends DatabaseCls[]>(
93
+ ): DatabaseCls<DocumentActionsOf<AddDbModel, DocActionOmitKeyFor<ModelCls> & string> & DocModelFor<ModelCls>>;
94
+ export function by<ModelCls extends ConstantModelCls, const AddDbModels extends DatabaseCls[]>(
72
95
  modelRef: ModelCls,
73
96
  ...addRefs: AddDbModels
74
97
  ): DatabaseCls<ByInstance<ModelCls, AddDbModels>>;
@@ -79,5 +102,5 @@ export function by(modelRef: ConstantModelCls, ...addRefs: DatabaseCls[]): Datab
79
102
  static [FIELD_META] = modelRef[FIELD_META];
80
103
  };
81
104
  applyMixins(databaseCls as Cls, addRefs);
82
- return databaseCls as any;
105
+ return databaseCls as unknown as DatabaseCls;
83
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "akanjs",
3
- "version": "2.3.5-rc.13",
3
+ "version": "2.3.5-rc.14",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
package/service/types.ts CHANGED
@@ -49,12 +49,12 @@ type DocumentLike = {
49
49
  };
50
50
  type MixedLibServiceReturn<Value, Doc, DocObjectOfDoc> = Value extends (infer SingleValue)[]
51
51
  ? SingleValue extends DocumentLike
52
- ? GetDocObject<SingleValue> extends DocObjectOfDoc
52
+ ? DocObjectOfDoc extends GetDocObject<SingleValue>
53
53
  ? Doc[]
54
54
  : Value
55
55
  : Value
56
56
  : Value extends DocumentLike
57
- ? GetDocObject<Value> extends DocObjectOfDoc
57
+ ? DocObjectOfDoc extends GetDocObject<Value>
58
58
  ? Doc
59
59
  : Value
60
60
  : Value;
@@ -193,9 +193,9 @@ export type InternalBuilder<
193
193
  : never]: _FieldObj[K];
194
194
  },
195
195
  > = (builder: BuildInternal<SrvModule>) => [_Cnst] extends [never]
196
- ? { [key: string]: InternalInfo<Exclude<InternalType, "resolveField">> }
196
+ ? { [key: string]: InternalInfo<InternalType> }
197
197
  : [_FullCls] extends [never]
198
- ? { [key: string]: InternalInfo<Exclude<InternalType, "resolveField">> }
198
+ ? { [key: string]: InternalInfo<InternalType> }
199
199
  : {
200
200
  [K in keyof _ResolveFieldObj]: _ResolveFieldObj[K] extends ConstantField<
201
201
  "resolve",
@@ -206,7 +206,7 @@ export type InternalBuilder<
206
206
  >
207
207
  ? InternalInfo<"resolveField", any, any, any, any, NonNullable<Value>, Nullable>
208
208
  : InternalInfo<Exclude<InternalType, "resolveField">>;
209
- };
209
+ } & { [key: string]: InternalInfo<InternalType> };
210
210
 
211
211
  export const buildInternal = {
212
212
  resolveField: (returnRef: Cls, signalOption?: SignalOption) =>
@@ -1,4 +1,5 @@
1
1
  import { ENDPOINT_META, INJECT_META, INTERNAL_META } from "akanjs/base";
2
+ import type { DocumentModel } from "akanjs/constant";
2
3
  import {
3
4
  type Adaptor,
4
5
  type AdaptorCls,
@@ -14,6 +15,8 @@ import type { EndpInfoClientReturns, EndpInfoReqType, EndpInfoServerArgs, Endpoi
14
15
  import type { InternalCls } from "./internal";
15
16
  import type { InternalInfo, InternalInfoReqType, InternalInfoServerArgs } from "./internalInfo";
16
17
 
18
+ type EndpointPubsubPayload<E> = EndpInfoClientReturns<E> | DocumentModel<EndpInfoClientReturns<E>>;
19
+
17
20
  export interface ServerSignal extends Adaptor {
18
21
  readonly websocket: ServerWebSocket;
19
22
  readonly queue: QueueAdaptor;
@@ -22,7 +25,7 @@ export interface ServerSignal extends Adaptor {
22
25
  type EndpointServerSignalMethods<EnpCls> = [EnpCls] extends [{ [ENDPOINT_META]: infer EndpointInfoObj }]
23
26
  ? {
24
27
  [K in keyof EndpointInfoObj as EndpInfoReqType<EndpointInfoObj[K]> extends "pubsub" ? K : never]: (
25
- ...args: [...EndpInfoServerArgs<EndpointInfoObj[K]>, data: EndpInfoClientReturns<EndpointInfoObj[K]>]
28
+ ...args: [...EndpInfoServerArgs<EndpointInfoObj[K]>, data: EndpointPubsubPayload<EndpointInfoObj[K]>]
26
29
  ) => void;
27
30
  }
28
31
  : Record<never, never>;
@@ -1,9 +1,10 @@
1
- import { type Cls, FIELD_META, type GetActionObject, type MergeAllActionTypes } from "akanjs/base";
1
+ import { type Cls, FIELD_META, type GetActionObject, SERVER_VALUE } from "akanjs/base";
2
2
  import { type DocumentConstantModelRef, type DocumentModel, type FieldObject } from "akanjs/constant";
3
- export type DatabaseCls<Schema = any> = Cls<Schema, {
3
+ export type DatabaseCls<Schema = unknown> = Cls<Schema, {
4
4
  refName: string;
5
5
  [FIELD_META]: FieldObject;
6
6
  }>;
7
+ export type DatabaseInstanceOf<DatabaseRef extends DatabaseCls> = DatabaseRef extends new (...args: never[]) => infer Instance ? Instance : never;
7
8
  type ConstantModelCls = DocumentConstantModelRef<unknown>;
8
9
  export interface DefaultDocMtds<TDocument> {
9
10
  refresh(): Promise<this>;
@@ -31,10 +32,13 @@ interface ChainableHydratedMethods<TDocument> extends Omit<DefaultDocMtds<TDocum
31
32
  type ChainableHydratedDocument<TDocument> = TDocument & {
32
33
  id: string;
33
34
  } & ChainableHydratedMethods<TDocument>;
34
- export type Doc<M = any> = HydratedDocumentWithId<DocumentModel<M>>;
35
+ export type Doc<M = unknown> = HydratedDocumentWithId<DocumentModel<M>>;
35
36
  type DatabaseSchemaOf<ModelCls> = ModelCls extends {
36
37
  _DatabaseSchema: infer Schema;
37
38
  } ? Schema : never;
39
+ type ConstantValueOf<ModelCls> = ModelCls extends {
40
+ [SERVER_VALUE]: infer Schema;
41
+ } ? Schema : ModelCls extends new (...args: never[]) => infer Schema ? Schema : never;
38
42
  type ObjectDocumentModelType = "object" | "full" | "light";
39
43
  type ModelTypeOf<ModelCls> = ModelCls extends {
40
44
  _ModelType: infer ModelType;
@@ -42,12 +46,14 @@ type ModelTypeOf<ModelCls> = ModelCls extends {
42
46
  type IsObjectModel<ModelCls> = ModelTypeOf<ModelCls> extends ObjectDocumentModelType ? true : false;
43
47
  type DocModelOf<ModelCls, Schema = DatabaseSchemaOf<ModelCls>> = IsObjectModel<ModelCls> extends true ? ChainableHydratedDocument<DocumentModel<Schema>> : DocumentModel<Schema>;
44
48
  type DocActionOmitKey<ModelCls, Schema = DatabaseSchemaOf<ModelCls>> = (keyof Schema & string) | (IsObjectModel<ModelCls> extends true ? keyof DefaultDocMtds<unknown> | "id" : never);
45
- type DatabaseSchemaFor<ModelCls extends ConstantModelCls> = DatabaseSchemaOf<ModelCls>;
49
+ type DatabaseSchemaFor<ModelCls extends ConstantModelCls> = DatabaseSchemaOf<ModelCls> & ConstantValueOf<ModelCls>;
46
50
  type DocModelFor<ModelCls extends ConstantModelCls> = DocModelOf<ModelCls, DatabaseSchemaFor<ModelCls>>;
47
51
  type DocActionOmitKeyFor<ModelCls extends ConstantModelCls> = DocActionOmitKey<ModelCls, DatabaseSchemaFor<ModelCls>>;
48
- type AddDbModelActions<ModelCls extends ConstantModelCls, AddDbModel extends DatabaseCls, _OmitKey extends string = DocActionOmitKeyFor<ModelCls> & string> = Omit<GetActionObject<InstanceType<AddDbModel>>, _OmitKey>;
49
- type ByInstance<ModelCls extends ConstantModelCls, AddDbModels extends DatabaseCls[], _OmitKey extends string = DocActionOmitKeyFor<ModelCls> & string, _DocModel = DocModelFor<ModelCls>> = MergeAllActionTypes<AddDbModels, _OmitKey> & _DocModel;
52
+ type StrictDocumentActions<T> = string extends keyof T ? T[string] extends never ? Record<never, never> : GetActionObject<T> : GetActionObject<T>;
53
+ type DocumentActionsOf<AddDbModel extends DatabaseCls, OmitKey extends string> = Omit<StrictDocumentActions<DatabaseInstanceOf<AddDbModel>>, OmitKey>;
54
+ type MergeDocumentActions<AddDbModels extends readonly DatabaseCls[], OmitKey extends string, Acc = Record<never, never>> = AddDbModels extends readonly [infer First extends DatabaseCls, ...infer Rest extends readonly DatabaseCls[]] ? MergeDocumentActions<Rest, OmitKey, Acc & DocumentActionsOf<First, OmitKey>> : AddDbModels extends readonly (infer AddDbModel extends DatabaseCls)[] ? Acc & DocumentActionsOf<AddDbModel, OmitKey> : Acc;
55
+ type ByInstance<ModelCls extends ConstantModelCls, AddDbModels extends readonly DatabaseCls[], _OmitKey extends string = DocActionOmitKeyFor<ModelCls> & string, _DocModel = DocModelFor<ModelCls>> = MergeDocumentActions<AddDbModels, _OmitKey> & _DocModel;
50
56
  export declare function by<ModelCls extends ConstantModelCls>(modelRef: ModelCls): DatabaseCls<DocModelFor<ModelCls>>;
51
- export declare function by<ModelCls extends ConstantModelCls, AddDbModel extends DatabaseCls>(modelRef: ModelCls, addRef: AddDbModel): DatabaseCls<AddDbModelActions<ModelCls, AddDbModel> & DocModelFor<ModelCls>>;
52
- export declare function by<ModelCls extends ConstantModelCls, AddDbModels extends DatabaseCls[]>(modelRef: ModelCls, ...addRefs: AddDbModels): DatabaseCls<ByInstance<ModelCls, AddDbModels>>;
57
+ export declare function by<ModelCls extends ConstantModelCls, AddDbModel extends DatabaseCls>(modelRef: ModelCls, addRef: AddDbModel): DatabaseCls<DocumentActionsOf<AddDbModel, DocActionOmitKeyFor<ModelCls> & string> & DocModelFor<ModelCls>>;
58
+ export declare function by<ModelCls extends ConstantModelCls, const AddDbModels extends DatabaseCls[]>(modelRef: ModelCls, ...addRefs: AddDbModels): DatabaseCls<ByInstance<ModelCls, AddDbModels>>;
53
59
  export {};
@@ -19,7 +19,7 @@ export declare class ServiceModel<Srv extends ServiceCls = ServiceCls, CnstModel
19
19
  static from<Srv extends ServiceCls>(srv: Srv): ServiceModel<Srv, never, never, { [K in `${Uncapitalize<Srv["refName"]>}Service`]: UnCls<Srv>; }>;
20
20
  with<SrvModules extends ServiceModel[]>(...srvs: SrvModules): ServiceModel<Srv, CnstModel, DbModel, SrvMap & MergeAllKeyOfObjects<SrvModules, "srvMap">>;
21
21
  static getDefaultDbServiceMethods(className: string): {
22
- [x: string]: ((this: DatabaseService, query: QueryOf<any>, queryOption?: ListQueryOption) => Promise<any>) | ((this: DatabaseService, query: QueryOf<any>, queryOption?: FindQueryOption) => Promise<any>) | ((this: DatabaseService, type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>) => any) | ((this: DatabaseService, id: string, data: DataInputOf) => Promise<any>);
22
+ [x: string]: ((this: DatabaseService, query: QueryOf<any>, queryOption?: ListQueryOption) => Promise<any>) | ((this: DatabaseService, query: QueryOf<any>, queryOption?: FindQueryOption) => Promise<any>) | ((this: DatabaseService, id: string, data: Partial<Doc>) => Promise<Partial<Doc>>) | ((this: DatabaseService, type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>) => any) | ((this: DatabaseService, id: string, data: DataInputOf) => Promise<any>);
23
23
  __get(this: DatabaseService, id: string): Promise<any>;
24
24
  __load(this: DatabaseService, id?: string): Promise<any>;
25
25
  __loadMany(this: DatabaseService, ids: string[]): Promise<any>;
@@ -33,11 +33,11 @@ export declare class ServiceModel<Srv extends ServiceCls = ServiceCls, CnstModel
33
33
  __count(this: DatabaseService, query: QueryOf<any>): Promise<any>;
34
34
  __insight(this: DatabaseService, query: QueryOf<any>): Promise<any>;
35
35
  _preCreate(this: DatabaseService, data: DataInputOf): Promise<DataInputOf>;
36
- _postCreate(this: DatabaseService, doc: Doc): Promise<any>;
37
- _preUpdate(this: DatabaseService, id: string, data: Partial<Doc>): Promise<Partial<any>>;
38
- _postUpdate(this: DatabaseService, doc: Doc): Promise<any>;
36
+ _postCreate(this: DatabaseService, doc: Doc): Promise<Doc>;
37
+ _preUpdate(this: DatabaseService, id: string, data: Partial<Doc>): Promise<Partial<Doc>>;
38
+ _postUpdate(this: DatabaseService, doc: Doc): Promise<Doc>;
39
39
  _preRemove(this: DatabaseService, id: string): Promise<void>;
40
- _postRemove(this: DatabaseService, doc: Doc): Promise<any>;
40
+ _postRemove(this: DatabaseService, doc: Doc): Promise<Doc>;
41
41
  listenPre(this: DatabaseService, type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>): any;
42
42
  listenPost(this: DatabaseService, type: SaveEventType, listener: (doc: Doc, type: CRUDEventType) => PromiseOrObject<void>): any;
43
43
  __create(this: DatabaseService, data: DataInputOf): Promise<any>;
@@ -9,7 +9,7 @@ type DocumentLike = {
9
9
  set: (...args: never[]) => unknown;
10
10
  save: (...args: never[]) => unknown;
11
11
  };
12
- type MixedLibServiceReturn<Value, Doc, DocObjectOfDoc> = Value extends (infer SingleValue)[] ? SingleValue extends DocumentLike ? GetDocObject<SingleValue> extends DocObjectOfDoc ? Doc[] : Value : Value : Value extends DocumentLike ? GetDocObject<Value> extends DocObjectOfDoc ? Doc : Value : Value;
12
+ type MixedLibServiceReturn<Value, Doc, DocObjectOfDoc> = Value extends (infer SingleValue)[] ? SingleValue extends DocumentLike ? DocObjectOfDoc extends GetDocObject<SingleValue> ? Doc[] : Value : Value : Value extends DocumentLike ? DocObjectOfDoc extends GetDocObject<Value> ? Doc : Value : Value;
13
13
  type MixedLibServiceMethods<MixedLibSrv, Doc, DocObjectOfDoc> = {
14
14
  [K in keyof MixedLibSrv]: MixedLibSrv[K] extends (...args: infer Args) => Promise<infer Value> ? (...args: Args) => Promise<MixedLibServiceReturn<Value, Doc, DocObjectOfDoc>> : MixedLibSrv[K];
15
15
  };
@@ -67,11 +67,13 @@ export type InternalBuilder<SrvModule extends ServiceModel, _Cnst = CnstOf<SrvMo
67
67
  } ? Full : never, _FieldObj extends FieldObject = _FullCls[typeof FIELD_META], _ResolveFieldObj extends FieldObject = {
68
68
  [K in keyof _FieldObj as _FieldObj[K] extends ConstantField<"resolve", any, any, any, any, any> ? K : never]: _FieldObj[K];
69
69
  }> = (builder: BuildInternal<SrvModule>) => [_Cnst] extends [never] ? {
70
- [key: string]: InternalInfo<Exclude<InternalType, "resolveField">>;
70
+ [key: string]: InternalInfo<InternalType>;
71
71
  } : [_FullCls] extends [never] ? {
72
- [key: string]: InternalInfo<Exclude<InternalType, "resolveField">>;
72
+ [key: string]: InternalInfo<InternalType>;
73
73
  } : {
74
74
  [K in keyof _ResolveFieldObj]: _ResolveFieldObj[K] extends ConstantField<"resolve", infer Value, any, any, infer Nullable> ? InternalInfo<"resolveField", any, any, any, any, NonNullable<Value>, Nullable> : InternalInfo<Exclude<InternalType, "resolveField">>;
75
+ } & {
76
+ [key: string]: InternalInfo<InternalType>;
75
77
  };
76
78
  export declare const buildInternal: BuildInternal<any, any>;
77
79
  export {};
@@ -1,8 +1,10 @@
1
1
  import { ENDPOINT_META, INJECT_META, INTERNAL_META } from "akanjs/base";
2
+ import type { DocumentModel } from "akanjs/constant";
2
3
  import { type Adaptor, type AdaptorCls, type AkanJob, type AkanJobOptions, type QueueAdaptor } from "akanjs/service";
3
4
  import type { ServerWebSocket } from "bun";
4
5
  import type { EndpInfoClientReturns, EndpInfoReqType, EndpInfoServerArgs, EndpointInfo } from "./endpointInfo.d.ts";
5
6
  import type { InternalInfo, InternalInfoReqType, InternalInfoServerArgs } from "./internalInfo.d.ts";
7
+ type EndpointPubsubPayload<E> = EndpInfoClientReturns<E> | DocumentModel<EndpInfoClientReturns<E>>;
6
8
  export interface ServerSignal extends Adaptor {
7
9
  readonly websocket: ServerWebSocket;
8
10
  readonly queue: QueueAdaptor;
@@ -10,7 +12,7 @@ export interface ServerSignal extends Adaptor {
10
12
  type EndpointServerSignalMethods<EnpCls> = [EnpCls] extends [{
11
13
  [ENDPOINT_META]: infer EndpointInfoObj;
12
14
  }] ? {
13
- [K in keyof EndpointInfoObj as EndpInfoReqType<EndpointInfoObj[K]> extends "pubsub" ? K : never]: (...args: [...EndpInfoServerArgs<EndpointInfoObj[K]>, data: EndpInfoClientReturns<EndpointInfoObj[K]>]) => void;
15
+ [K in keyof EndpointInfoObj as EndpInfoReqType<EndpointInfoObj[K]> extends "pubsub" ? K : never]: (...args: [...EndpInfoServerArgs<EndpointInfoObj[K]>, data: EndpointPubsubPayload<EndpointInfoObj[K]>]) => void;
14
16
  } : Record<never, never>;
15
17
  type InternalServerSignalMethods<IntCls> = [IntCls] extends [{
16
18
  [INTERNAL_META]: infer InternalInfoObj;