<commit_before>//
//  UIView+Animation.swift
//  Pods-SiFUtilities_Example
//
//  Created by FOLY on 2/6/18.
//

import Foundation
import UIKit

import Foundation
import UIKit

extension UIView {
    public func animate(duration: Double = 0.25,
                        transitionType: String = kCATransitionMoveIn,
                        direction: String = kCATransitionFromLeft,
                        key: String = "animation") {
        let transition = CATransition()
        transition.duration = duration
        transition.type = transitionType
        transition.subtype = direction
        transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
        transition.delegate = self
        transition.isRemovedOnCompletion = true
        layer.add(transition, forKey: key)
    }
    
    public func fade(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionFade, direction: kCATransitionFromLeft)
    }
    
    public func moveInFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionMoveIn, direction: kCATransitionFromLeft)
    }
    
    public func moveInFromRight(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionMoveIn, direction: kCATransitionFromRight)
    }
    
    public func pushFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionPush, direction: kCATransitionFromLeft)
    }
    
    public func pushFromRight(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionPush, direction: kCATransitionFromRight)
    }
    
    public func revealFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionReveal, direction: kCATransitionFromLeft)<commit_msg>UIView animation: rm-delegate<commit_after>//
//  UIView+Animation.swift
//  Pods-SiFUtilities_Example
//
//  Created by FOLY on 2/6/18.
//

import Foundation
import UIKit

import Foundation
import UIKit

extension UIView {
    public func animate(duration: Double = 0.25,
                        transitionType: String = kCATransitionMoveIn,
                        direction: String = kCATransitionFromLeft,
                        key: String = "animation") {
        let transition = CATransition()
        transition.duration = duration
        transition.type = transitionType
        transition.subtype = direction
        transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
        transition.isRemovedOnCompletion = true
        layer.add(transition, forKey: key)
    }
    
    public func fade(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionFade, direction: kCATransitionFromLeft)
    }
    
    public func moveInFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionMoveIn, direction: kCATransitionFromLeft)
    }
    
    public func moveInFromRight(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionMoveIn, direction: kCATransitionFromRight)
    }
    
    public func pushFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionPush, direction: kCATransitionFromLeft)
    }
    
    public func pushFromRight(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionPush, direction: kCATransitionFromRight)
    }
    
    public func revealFromLeft(_ duration: Double = 0.25) {
        animate(duration: duration, transitionType: kCATransitionReveal, direction: kCATransitionFromLeft)
{'fraction_non_alphanumeric': 0.07788743664977327, 'fraction_numerical': 0.013336889837289943, 'mean_word_length': 3.1028446389496716, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '6708875', 'n_tokens_mistral': 1128, 'n_tokens_neox': 1012, 'n_words': 245}