function createDateTransformer ({ disableLosslessIntegers, useBigInt }) {
  return new TypeTransformer({
    signature: DATE,
    isTypeInstance: isDate,
    toStructure: value => {
      const epochDay = dateToEpochDay(value.year, value.month, value.day)

      return new structure.Structure(DATE, [epochDay])
    },
    fromStructure: struct => {
      structure.verifyStructSize('Date', DATE_STRUCT_SIZE, struct.size)

      const [epochDay] = struct.fields
      const result = epochDayToDate(epochDay)
      return convertIntegerPropsIfNeeded(result, disableLosslessIntegers, useBigInt)
    }
  })
}
Creates the Date Transformer
@param {Object} param
@param {boolean} param.disableLosslessIntegers Disables lossless integers
@param {boolean} param.useBigInt Uses BigInt instead of number or Integer
@returns {TypeTransformer}