function createTimeTransformer ({ disableLosslessIntegers, useBigInt }) {
  return new TypeTransformer({
    signature: TIME,
    isTypeInstance: isTime,
    toStructure: value => {
      const nanoOfDay = localTimeToNanoOfDay(
        value.hour,
        value.minute,
        value.second,
        value.nanosecond
      )
      const offsetSeconds = int(value.timeZoneOffsetSeconds)

      return new structure.Structure(TIME, [nanoOfDay, offsetSeconds])
    },
    fromStructure: struct => {
      structure.verifyStructSize('Time', TIME_STRUCT_SIZE, struct.size)

      const [nanoOfDay, offsetSeconds] = struct.fields
      const localTime = nanoOfDayToLocalTime(nanoOfDay)
      const result = new Time(
        localTime.hour,
        localTime.minute,
        localTime.second,
        localTime.nanosecond,
        offsetSeconds
      )
      return convertIntegerPropsIfNeeded(result, disableLosslessIntegers, useBigInt)
    }
  })
}
Creates the Time Transformer
@param {Object} param
@param {boolean} param.disableLosslessIntegers Disables lossless integers
@param {boolean} param.useBigInt Uses BigInt instead of number or Integer
@returns {TypeTransformer}