0001 // 0002 // Debug.swift 0003 // RxSwift 0004 // 0005 // Created by Krunoslav Zaher on 5/2/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 let dateFormat= "yyyy-MM-dd HH:mm:ss.SSS" 0012 0013 func logEvent
Debug.swift:26 _timestampFormatter.dateFormat = dateFormat(idenfifier: String, dateFormat: NSDateFormatter, content: String) { 0014 print("\(dateFormat.stringFromDate(NSDate())): \(idenfifier) -> \(content)") 0015 } 0016 0017 class Debug_
Debug.swift:28 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "subscribed")Debug.swift:40 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "Event \(eventNormalized)")Debug.swift:45 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "disposed")<O
Debug.swift:73 let sink = Debug_(parent: self, observer: observer): ObserverType> : Sink<O>, ObserverType { 0018 typealias Element
Debug.swift:17 class Debug_<O: ObserverType> : Sink<O>, ObserverType {Debug.swift:18 typealias Element = O.EDebug.swift:24 init(parent: Parent, observer: O) {= O.E 0019 typealias Parent
Debug.swift:19 typealias Parent = Debug<Element>Debug.swift:33 func on(event: Event<Element>) {= Debug<Element> 0020 0021 private let _parent
Debug.swift:21 private let _parent: ParentDebug.swift:24 init(parent: Parent, observer: O) {: Parent 0022 private let _timestampFormatter
Debug.swift:25 _parent = parentDebug.swift:28 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "subscribed")Debug.swift:40 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "Event \(eventNormalized)")Debug.swift:45 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "disposed")= NSDateFormatter() 0023 0024 init
Debug.swift:26 _timestampFormatter.dateFormat = dateFormatDebug.swift:28 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "subscribed")Debug.swift:40 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "Event \(eventNormalized)")Debug.swift:45 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "disposed")(parent: Parent, observer: O) { 0025 _parent = parent 0026 _timestampFormatter.dateFormat = dateFormat 0027 0028 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "subscribed") 0029 0030 super.init(observer: observer) 0031 } 0032 0033 func on(event: Event<Element>) { 0034 let maxEventTextLength = 40 0035 let eventText = "\(event)" 0036 let eventNormalized = eventText.characters.count > maxEventTextLength 0037 ? String(eventText.characters.prefix(maxEventTextLength / 2)) + "..." + String(eventText.characters.suffix(maxEventTextLength / 2)) 0038 : eventText 0039 0040 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "Event \(eventNormalized)") 0041 forwardOn(event) 0042 } 0043 0044 override func dispose() { 0045 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "disposed") 0046 super.dispose() 0047 } 0048 } 0049 0050 class Debug
Debug.swift:73 let sink = Debug_(parent: self, observer: observer)<Element
Debug.swift:19 typealias Parent = Debug<Element>Observable+Debug.swift:26 return Debug(source: self.asObservable(), identifier: identifier, file: file, line: line, function: function)> : Producer<Element> { 0051 private let _identifier
Debug.swift:50 class Debug<Element> : Producer<Element> {Debug.swift:53 private let _source: Observable<Element>Debug.swift:55 init(source: Observable<Element>, identifier: String?, file: String, line: UInt, function: String) {Debug.swift:72 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {: String 0052 0053 private let _source
Debug.swift:28 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "subscribed")Debug.swift:40 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "Event \(eventNormalized)")Debug.swift:45 logEvent(_parent._identifier, dateFormat: _timestampFormatter, content: "disposed")Debug.swift:57 _identifier = identifierDebug.swift:67 _identifier = "\(trimmedFile):\(line) (\(function))": Observable<Element> 0054 0055 init
Debug.swift:69 _source = sourceDebug.swift:74 sink.disposable = _source.subscribe(sink)(source: Observable<Element>, identifier: String?, file: String, line: UInt, function: String) { 0056 if let identifier = identifier { 0057 _identifier = identifier 0058 } 0059 else { 0060 let trimmedFile: String 0061 if let lastIndex = file.lastIndexOf("/") { 0062 trimmedFile = file[lastIndex.successor() ..< file.endIndex] 0063 } 0064 else { 0065 trimmedFile = file 0066 } 0067 _identifier = "\(trimmedFile):\(line) (\(function))" 0068 } 0069 _source = source 0070 } 0071 0072 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0073 let sink = Debug_(parent: self, observer: observer) 0074 sink.disposable = _source.subscribe(sink) 0075 return sink 0076 } 0077 }
Observable+Debug.swift:26 return Debug(source: self.asObservable(), identifier: identifier, file: file, line: line, function: function)