Kfg Documentation
    Preparing search index...

    Variable cConst

    c: {
        any: () => TAny;
        Any: () => TAny;
        array: <Schema extends TSchema, TDefault extends any[]>(
            items: Schema,
            options?: ArrayOptions & CustomOptions<TDefault>,
        ) => TArray<Schema>;
        Array: <Schema extends TSchema, TDefault extends any[]>(
            items: Schema,
            options?: ArrayOptions & CustomOptions<TDefault>,
        ) => TArray<Schema>;
        boolean: <TDefault extends boolean>(
            options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
        ) => TBoolean;
        Boolean: <TDefault extends boolean>(
            options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
        ) => TBoolean;
        createms: (options?: NumberOptions & CustomOptions<number>) => TNumber;
        email: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        Email: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        enum: <
            T extends object
            | readonly (string | number)[],
            TValues = T extends readonly U[]
                ? U
                : T extends object ? T<T>[keyof T<T>] : never,
        >(
            values: T,
            options?: CustomOptions<TValues> & Omit<SchemaOptions, "default">,
        ) => TUnion<TLiteral<TValues>[]>;
        Enum: <
            T extends object
            | readonly (string | number)[],
            TValues = T extends readonly U[]
                ? U
                : T extends object ? T<T>[keyof T<T>] : never,
        >(
            values: T,
            options?: CustomOptions<TValues> & Omit<SchemaOptions, "default">,
        ) => TUnion<TLiteral<TValues>[]>;
        ip: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        IP: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        ipv6: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        IPv6: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        model: (
            model: any,
            resolver?: (instance: any) => any,
            options?: CustomOptions<any>,
        ) => TAny;
        Model: (
            model: any,
            resolver?: (instance: any) => any,
            options?: CustomOptions<any>,
        ) => TAny;
        number: <TDefault extends number>(
            options?: NumberOptions & CustomOptions<TDefault>,
        ) => TNumber;
        Number: <TDefault extends number>(
            options?: NumberOptions & CustomOptions<TDefault>,
        ) => TNumber;
        object: <
            Properties extends TProperties,
            TDefault extends Record<string, any>,
        >(
            properties: Properties,
            options?: ObjectOptions & CustomOptions<TDefault>,
        ) => TObject<Properties>;
        Object: <
            Properties extends TProperties,
            TDefault extends Record<string, any>,
        >(
            properties: Properties,
            options?: ObjectOptions & CustomOptions<TDefault>,
        ) => TObject<Properties>;
        optional: <Schema extends TSchema>(schema: Schema) => TAddOptional<Schema>;
        Optional: <Schema extends TSchema>(schema: Schema) => TAddOptional<Schema>;
        random: (options?: NumberOptions & { max?: number }) => TNumber;
        Random: (options?: NumberOptions & { max?: number }) => TNumber;
        record: <
            K extends TSchema,
            V extends TSchema,
            TDefault extends Record<string, any>,
        >(
            key: K,
            value: V,
            options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
        ) => TRecordOrObject<K, V>;
        Record: <
            K extends TSchema,
            V extends TSchema,
            TDefault extends Record<string, any>,
        >(
            key: K,
            value: V,
            options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
        ) => TRecordOrObject<K, V>;
        rule: {
            <TRules extends string>(rules: TRules): RuleSchemaFor<TRules>;
            <TRules extends string>(
                rules: TRules,
                defaultValue: RuleDefault<TRules>,
            ): RuleSchemaFor<TRules>;
        };
        string: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        String: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        url: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        URL: <TDefault extends string>(
            options?: StringOptions & CustomOptions<TDefault>,
        ) => TString;
        validate: (schema: SchemaDefinition, data: any) => any;
    } = ...

    A helper object for creating schema definitions with custom metadata. Includes both PascalCase and camelCase versions of helpers.

    Type Declaration

    • any: () => TAny
    • Any: () => TAny

      Creates an Any schema.

    • array: <Schema extends TSchema, TDefault extends any[]>(
          items: Schema,
          options?: ArrayOptions & CustomOptions<TDefault>,
      ) => TArray<Schema>
    • Array: <Schema extends TSchema, TDefault extends any[]>(
          items: Schema,
          options?: ArrayOptions & CustomOptions<TDefault>,
      ) => TArray<Schema>

      Creates an Array schema.

    • boolean: <TDefault extends boolean>(
          options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
      ) => TBoolean
    • Boolean: <TDefault extends boolean>(
          options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
      ) => TBoolean

      Creates a Boolean schema.

    • createms: (options?: NumberOptions & CustomOptions<number>) => TNumber
    • email: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString
    • Email: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString

      Creates a string schema with 'email' format.

    • enum: <
          T extends object
          | readonly (string | number)[],
          TValues = T extends readonly U[]
              ? U
              : T extends object ? T<T>[keyof T<T>] : never,
      >(
          values: T,
          options?: CustomOptions<TValues> & Omit<SchemaOptions, "default">,
      ) => TUnion<TLiteral<TValues>[]>
    • Enum: <
          T extends object
          | readonly (string | number)[],
          TValues = T extends readonly U[]
              ? U
              : T extends object ? T<T>[keyof T<T>] : never,
      >(
          values: T,
          options?: CustomOptions<TValues> & Omit<SchemaOptions, "default">,
      ) => TUnion<TLiteral<TValues>[]>

      Creates a Union of Literals from a string array, const array, or a TypeScript enum.

    • ip: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString
    • IP: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString

      Creates a string schema with 'ipv4' format.

    • ipv6: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString
    • IPv6: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString

      Creates a string schema with 'ipv6' format.

    • model: (
          model: any,
          resolver?: (instance: any) => any,
          options?: CustomOptions<any>,
      ) => TAny
    • Model: (
          model: any,
          resolver?: (instance: any) => any,
          options?: CustomOptions<any>,
      ) => TAny

      Creates a Model relation schema.

    • number: <TDefault extends number>(
          options?: NumberOptions & CustomOptions<TDefault>,
      ) => TNumber
    • Number: <TDefault extends number>(
          options?: NumberOptions & CustomOptions<TDefault>,
      ) => TNumber

      Creates a Number schema.

    • object: <Properties extends TProperties, TDefault extends Record<string, any>>(
          properties: Properties,
          options?: ObjectOptions & CustomOptions<TDefault>,
      ) => TObject<Properties>
    • Object: <Properties extends TProperties, TDefault extends Record<string, any>>(
          properties: Properties,
          options?: ObjectOptions & CustomOptions<TDefault>,
      ) => TObject<Properties>

      Creates an Object schema.

    • optional: <Schema extends TSchema>(schema: Schema) => TAddOptional<Schema>
    • Optional: <Schema extends TSchema>(schema: Schema) => TAddOptional<Schema>

      Creates an Optional schema.

    • random: (options?: NumberOptions & { max?: number }) => TNumber
    • Random: (options?: NumberOptions & { max?: number }) => TNumber

      Creates a Number schema that defaults to a random value if not provided.

    • record: <K extends TSchema, V extends TSchema, TDefault extends Record<string, any>>(
          key: K,
          value: V,
          options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
      ) => TRecordOrObject<K, V>
    • Record: <K extends TSchema, V extends TSchema, TDefault extends Record<string, any>>(
          key: K,
          value: V,
          options?: Omit<SchemaOptions, "default"> & CustomOptions<TDefault>,
      ) => TRecordOrObject<K, V>

      Creates a Record schema.

    • rule: {
          <TRules extends string>(rules: TRules): RuleSchemaFor<TRules>;
          <TRules extends string>(
              rules: TRules,
              defaultValue: RuleDefault<TRules>,
          ): RuleSchemaFor<TRules>;
      }
    • string: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString
    • String: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString

      Creates a String schema.

    • url: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString
    • URL: <TDefault extends string>(
          options?: StringOptions & CustomOptions<TDefault>,
      ) => TString

      Creates a string schema with 'uri' format.

    • validate: (schema: SchemaDefinition, data: any) => any