Interface ITagConfigured<TConfig, TEnforceInputContract, TEnforceOutputContract>

interface ITagConfigured<TConfig, TEnforceInputContract, TEnforceOutputContract> {
    __configHasOnlyOptionalKeys: RequiredKeys<TConfig> extends never
        ? true
        : false;
    __containsContract: true;
    [CONTRACT]: {
        config: TConfig;
        input: TEnforceInputContract;
        output: TEnforceOutputContract;
    };
    [symbolFilePath]: string;
    [symbolTag]: true;
    [symbolTagConfigured]: true;
    config: TConfig;
    configSchema?: IValidationSchema<TConfig>;
    id: string;
    meta?: ITagMeta;
    exists(target: TagType[] | ITaggable): boolean;
    extract(target: TagType[] | ITaggable): undefined | TConfig;
    with(config: TConfig): ITagConfigured<TConfig, TEnforceInputContract, TEnforceOutputContract>;
}

Type Parameters

  • TConfig = void
  • TEnforceInputContract = void
  • TEnforceOutputContract = void

Hierarchy (view full)

Properties

__configHasOnlyOptionalKeys: RequiredKeys<TConfig> extends never
    ? true
    : false

A special validation property. It resolves to true if TConfig only has optional keys, otherwise false.

__containsContract: true
[CONTRACT]: {
    config: TConfig;
    input: TEnforceInputContract;
    output: TEnforceOutputContract;
}
[symbolFilePath]: string
[symbolTag]: true
[symbolTagConfigured]: true
config: TConfig

Utilizing config at definition level stores its defaults

configSchema?: IValidationSchema<TConfig>
id: string
meta?: ITagMeta

Methods