Interface IFactory<ARGS, CUMULATIVE_DEFINITION>
Type Parameters
-
ARGS extends any[]
-
CUMULATIVE_DEFINITION extends Partial<INotUsableMessageDefinition<ARGS>>
- IFactory<PARTIAL_DEFINITION>(definition: PARTIAL_DEFINITION): { [ KEY in string | number | symbol]: KEY extends keyof PARTIAL_DEFINITION ? PARTIAL_DEFINITION[KEY] : CUMULATIVE_DEFINITION[KEY & keyof CUMULATIVE_DEFINITION] } extends CUMULATIVE_DEFINITION ? CUMULATIVE_DEFINITION extends INotUsableMessageDefinition<ARGS> ? NotUsableMessage<ARGS> : "Incomplete INotUsableMessageDefinition" : never
-
Type Parameters
-
PARTIAL_DEFINITION extends Partial<INotUsableMessageDefinition<ARGS>>
Parameters
-
definition: PARTIAL_DEFINITION
Returns { [ KEY in string | number | symbol]: KEY extends keyof PARTIAL_DEFINITION ? PARTIAL_DEFINITION[KEY] : CUMULATIVE_DEFINITION[KEY & keyof CUMULATIVE_DEFINITION] } extends CUMULATIVE_DEFINITION ? CUMULATIVE_DEFINITION extends INotUsableMessageDefinition<ARGS> ? NotUsableMessage<ARGS> : "Incomplete INotUsableMessageDefinition" : never
Methods
with
- with<PARTIAL_DEFINITION>(definition: PARTIAL_DEFINITION): IFactory<ARGS, { [ KEY in string | number | symbol]: KEY extends keyof PARTIAL_DEFINITION ? PARTIAL_DEFINITION[KEY] : CUMULATIVE_DEFINITION[KEY & keyof CUMULATIVE_DEFINITION] }>
-
Type Parameters
-
PARTIAL_DEFINITION extends Partial<INotUsableMessageDefinition<ARGS>>
Parameters
-
definition: PARTIAL_DEFINITION
Returns IFactory<ARGS, { [ KEY in string | number | symbol]: KEY extends keyof PARTIAL_DEFINITION ? PARTIAL_DEFINITION[KEY] : CUMULATIVE_DEFINITION[KEY & keyof CUMULATIVE_DEFINITION] }>