VGSDateTokenizationConfiguration

@MainActor
public final class VGSDateTokenizationConfiguration : VGSConfiguration, VGSDateConfigurationProtocol, @preconcurrency VGSTextFieldTokenizationConfigurationProtocol, VGSFormatSerializableProtocol
extension VGSDateTokenizationConfiguration: @preconcurrency VGSTextFormatConvertable

VGSDateTokenizationConfiguration - configuration object for a date field tokenization.

Summary: Specialized configuration for .date fields enabling Vault tokenization, optional date-picker input, and optional format serialization before submission.

Behavior:

  • Forces type to .date.
  • Provides tokenizationParameters consumed by tokenization/alias APIs.
  • Supports optional date picker via inputSource = .datePicker and year range customization (datePickerStartDate / datePickerEndDate).
  • Allows input/output date format conversion & serialization through serializers collection.

Usage:

let dateCfg = VGSDateTokenizationConfiguration(collector: collector, fieldName: "event_date")
dateCfg.inputSource = .datePicker
dateCfg.inputDateFormat = .mmddyyyy
dateCfg.outputDateFormat = .yyyymmdd
dateCfg.tokenizationParameters.format = VGSVaultAliasFormat.UUID.rawValue
dateField.configuration = dateCfg

Customization Notes:

  • Set format conversion properties before assigning configuration to the field.
  • Provide serializers when you need extra structured output (e.g. separate year/month fields) prior to tokenization.
  • Adjust start/end picker dates via initializer optional parameters.

Security:

  • Tokenization replaces raw date with an alias; never log raw date content if considered sensitive (e.g. birth dates).
  • Do not persist raw input.

Constructor

  • Initialization Date configuration initializer, if no datePickerStartDate is provided, a default date will be used adding 100 years to the current date. Similar approach will be used if datePickerEndDate is not provided, it will be calculated removing 100 years from current date.

    Declaration

    Swift

    @MainActor
    public init(collector vgs: VGSCollect,
                fieldName: String,
                datePickerStartDate: VGSDate? = nil,
                datePickerEndDate: VGSDate? = nil)

    Parameters

    vgs

    VGSCollect instance.

    fieldName

    associated fieldName.

    datePickerStartDate

    optional VGSDate instance.

    datePickerEndDate

    optional VGSDate instance.

Overridden methods and properties

VGSDateConfigurationProtocol implementation