import { type ParameterDefinitionWithGenerics } from "https://deno.land/x/deno_slack_sdk@2.14.2/parameters/definition_types.ts";
Only used for defining Custom Types via DefineType
The below type is explicitly different from the above ParameterDefinition type in that:
- It replaces the generic-less ComplexParameterDefinition so that...
- It can lift the generic-ful TypeddObjectParamaterDefinition's generics to ParameterDefinitionWithgenerics so that...
- The props/required props generic pair, which rely on each other, can be exposed in DefineType so that...
- .. the dependency between props/required props can be raised to the dev when authoring function runtime logic, and e.g. not returning a required property in a function output
Type Parameters
Props extends TypedObjectProperties
RequiredProps extends TypedObjectRequiredProperties<Props>
definition: Exclude<ParameterDefinition, TypedObjectParameter> | TypedObjectParameterDefinition<Props, RequiredProps>