<commit_before>// swiftlint:disable type_name
import Prelude
import UIKit

public protocol UIScrollViewProtocol: UIViewProtocol {
  var canCancelContentTouches: Bool { get set }
  var decelerationRate: CGFloat { get set }
  var delaysContentTouches: Bool { get set }
  var keyboardDismissMode: UIScrollViewKeyboardDismissMode { get set }
  var scrollEnabled: Bool { get set }
  var scrollIndicatorInsets: UIEdgeInsets { get set }
  var showsHorizontalScrollIndicator: Bool { get set }
  var showsVerticalScrollIndicator: Bool { get set }
}

extension UIScrollView: UIScrollViewProtocol {}

public extension LensHolder where Object: UIScrollViewProtocol {

  public var canCancelContentTouches: Lens<Object, Bool> {
    return Lens(
      view: { $0.canCancelContentTouches },
      set: { $1.canCancelContentTouches = $0; return $1 }
    )
  }

  public var decelerationRate: Lens<Object, CGFloat> {
    return Lens(
      view: { $0.decelerationRate },
      set: { $1.decelerationRate = $0; return $1 }
    )
  }

  public var delaysContentTouches: Lens<Object, Bool> {
    return Lens(
      view: { $0.delaysContentTouches },
      set: { $1.delaysContentTouches = $0; return $1 }
    )
  }

  public var keyboardDismissMode: Lens<Object, UIScrollViewKeyboardDismissMode> {
    return Lens(
      view: { $0.keyboardDismissMode },
      set: { $1.keyboardDismissMode = $0; return $1 }
    )
  }

  public var scrollEnabled: Lens<Object, Bool> {
    return Lens(
      view: { $0.scrollEnabled },
      set: { $1.scrollEnabled = $0; return $1 }
    )
  }

  public var scrollIndicatorInsets: Lens<Object, UIEdgeInsets> {
    return Lens(
      view: { $0.scrollIndicatorInsets },
      set: { $1.scrollIndicatorInsets = $0; return $1 }
    )
  }

  public var showsHorizontalScrollIndicator: Lens<Object, Bool> {<commit_msg>add scrollview lens<commit_after>// swiftlint:disable type_name
import Prelude
import UIKit

public protocol UIScrollViewProtocol: UIViewProtocol {
  var canCancelContentTouches: Bool { get set }
  var decelerationRate: CGFloat { get set }
  var delaysContentTouches: Bool { get set }
  var keyboardDismissMode: UIScrollViewKeyboardDismissMode { get set }
  var scrollEnabled: Bool { get set }
  var scrollIndicatorInsets: UIEdgeInsets { get set }
  var scrollsToTop: Bool { get set }
  var showsHorizontalScrollIndicator: Bool { get set }
  var showsVerticalScrollIndicator: Bool { get set }
}

extension UIScrollView: UIScrollViewProtocol {}

public extension LensHolder where Object: UIScrollViewProtocol {

  public var canCancelContentTouches: Lens<Object, Bool> {
    return Lens(
      view: { $0.canCancelContentTouches },
      set: { $1.canCancelContentTouches = $0; return $1 }
    )
  }

  public var decelerationRate: Lens<Object, CGFloat> {
    return Lens(
      view: { $0.decelerationRate },
      set: { $1.decelerationRate = $0; return $1 }
    )
  }

  public var delaysContentTouches: Lens<Object, Bool> {
    return Lens(
      view: { $0.delaysContentTouches },
      set: { $1.delaysContentTouches = $0; return $1 }
    )
  }

  public var keyboardDismissMode: Lens<Object, UIScrollViewKeyboardDismissMode> {
    return Lens(
      view: { $0.keyboardDismissMode },
      set: { $1.keyboardDismissMode = $0; return $1 }
    )
  }

  public var scrollEnabled: Lens<Object, Bool> {
    return Lens(
      view: { $0.scrollEnabled },
      set: { $1.scrollEnabled = $0; return $1 }
    )
  }

  public var scrollIndicatorInsets: Lens<Object, UIEdgeInsets> {
    return Lens(
      view: { $0.scrollIndicatorInsets },
      set: { $1.scrollIndicatorInsets = $0; return $1 }
    )
  }

  public var scrollsToTop: Lens<Object, Bool> {
    return Lens(
      view: { $0.scrollsToTop },
      set: { $1.scrollsToTop = $0; return $1 }
    )
  }

  public var showsHorizontalScrollIndicator: Lens<Object, Bool> {
{'fraction_non_alphanumeric': 0.10070075266026472, 'fraction_numerical': 0.013495977160654036, 'mean_word_length': 3.445213379469435, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6335940', 'n_tokens_mistral': 1326, 'n_tokens_neox': 1296, 'n_words': 319}