Kinvey/swift-sdk

View on GitHub
Kinvey/Kinvey/Metadata.swift

Summary

Maintainability
C
1 day
Test Coverage

File Metadata.swift has 266 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import Foundation
import Realm
import RealmSwift

/// This class represents the metadata information for a record
Severity: Minor
Found in Kinvey/Kinvey/Metadata.swift - About 2 hrs to fix

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

    extension Metadata: JSONDecodable {
        public class func decode<T>(from data: Data) throws -> T where T : JSONDecodable {
            return try decodeJSONDecodable(from: data)
        }
        
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 2 other locations - About 3 hrs to fix
    Kinvey/Kinvey/Acl.swift on lines 92..111
    Kinvey/Kinvey/User.swift on lines 1598..1617

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 199.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        public func encode(to encoder: Encoder) throws {
            var container = encoder.container(keyedBy: CodingKeys.self)
            try container.encodeIfPresent(value, forKey: .value)
            try container.encodeIfPresent(lastChange, forKey: .lastChange)
        }
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift and 1 other location - About 50 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 341..345

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 60.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

        public func encode(to encoder: Encoder) throws {
            var container = encoder.container(keyedBy: PasswordResetCodingKeys.self)
            try container.encodeIfPresent(status, forKey: .status)
            try container.encodeIfPresent(lsca, forKey: .lastStateChangeAt)
        }
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift and 1 other location - About 50 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 396..400

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 60.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

        open var lastModifiedTime: Date? {
            get {
                return self.lmt?.toDate()
            }
            set {
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 4 other locations - About 30 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 63..70
    Kinvey/Kinvey/Metadata.swift on lines 231..238
    Kinvey/Kinvey/Metadata.swift on lines 241..248
    Kinvey/Kinvey/Metadata.swift on lines 314..321

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 42.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

        public var lastStateChangeAt: Date? {
            get {
                return self.lsca?.toDate()
            }
            set {
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 4 other locations - About 30 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 53..60
    Kinvey/Kinvey/Metadata.swift on lines 63..70
    Kinvey/Kinvey/Metadata.swift on lines 231..238
    Kinvey/Kinvey/Metadata.swift on lines 241..248

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 42.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

        public var lastStateChangeAt: Date? {
            get {
                return self.lsca?.toDate()
            }
            set {
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 4 other locations - About 30 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 53..60
    Kinvey/Kinvey/Metadata.swift on lines 63..70
    Kinvey/Kinvey/Metadata.swift on lines 241..248
    Kinvey/Kinvey/Metadata.swift on lines 314..321

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 42.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

        public var lastConfirmedAt: Date? {
            get {
                return self.lca?.toDate()
            }
            set {
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 4 other locations - About 30 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 53..60
    Kinvey/Kinvey/Metadata.swift on lines 63..70
    Kinvey/Kinvey/Metadata.swift on lines 231..238
    Kinvey/Kinvey/Metadata.swift on lines 314..321

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 42.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

        open var entityCreationTime: Date? {
            get {
                return self.ect?.toDate()
            }
            set {
    Severity: Major
    Found in Kinvey/Kinvey/Metadata.swift and 4 other locations - About 30 mins to fix
    Kinvey/Kinvey/Metadata.swift on lines 53..60
    Kinvey/Kinvey/Metadata.swift on lines 231..238
    Kinvey/Kinvey/Metadata.swift on lines 241..248
    Kinvey/Kinvey/Metadata.swift on lines 314..321

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 42.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Variable names should be lowerCamelCase
    Open

            var _self = self
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    lower-camel-case

    method and var names should follow lowerCamelCase naming convention: first letter of the entire word is lowercase, but subsequent first letters are uppercase.

    Method and selector names

    Preferred

    func someMethod() {
        // method definition goes here
    }

    Not Preferred

    func some-method() {
        // method definition goes here
    }

    Variable names

    Preferred

    var someVariable = someValue

    Not Preferred

    var Some_Var1able = someValue

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Colon at column 58 should have no spaces before it
    Open

        public class func decode<T>(from dictionary: [String : Any]) throws -> T where T : JSONDecodable {
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    colon-whitespace

    There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

    However, for conditional expressions there should be a single whitespace before and after the colon.

    Variable declarations

    Preferred

    var x: Int = 2

    Not Preferred

    var x : Int
    var y:   String

    Dictionary literals and types

    Preferred

    var x = [ 'key1': 1, 'key2': 2 ]
    var y: [ Int: String ]

    Not Preferred

    var x = [ 'key1' : 1, 'key2':  3]
    var y: [ Int :    String ]

    Case statements

    Preferred

    switch character {
    case "a": doSomething(a);
    default: alert();
    }

    Not Preferred

    switch character {
    case "a" : doSomething(a);
    default:     alert();
    }

    Class, Struct, Protocol, and Extension declarations

    Preferred

    class ClassName: BaseClass {
    }
    
    struct StructName: BaseStruct {
    }
    
    protocol ProtocolName: AnotherProtocol {
    }
    
    extension TypeName: ProtocolName {
    }

    Not Preferred

    class ClassName : BaseClass {
    }
    
    struct StructName:  BaseStruct {
    }
    
    protocol ProtocolName:AnotherProtocol {
    }
    
    extension TypeName : ProtocolName {
    }

    Tuple declarations

    Preferred

    var y = (key: 1, value: 2)

    Not Preferred

    var y = (key:1, value : 2)

    Function declarations

    Preferred

    func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
    }</t:>

    Not Preferred

    func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
    }</t>

    Conditional expressions

    Preferred

    var x = condition ? a : b

    Not Preferred

    var x = condition ? a: b
    var x = condition ? a   : b

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Colon at column 50 should have no spaces before it
    Open

        public func refresh(from dictionary: [String : Any]) throws {
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    colon-whitespace

    There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

    However, for conditional expressions there should be a single whitespace before and after the colon.

    Variable declarations

    Preferred

    var x: Int = 2

    Not Preferred

    var x : Int
    var y:   String

    Dictionary literals and types

    Preferred

    var x = [ 'key1': 1, 'key2': 2 ]
    var y: [ Int: String ]

    Not Preferred

    var x = [ 'key1' : 1, 'key2':  3]
    var y: [ Int :    String ]

    Case statements

    Preferred

    switch character {
    case "a": doSomething(a);
    default: alert();
    }

    Not Preferred

    switch character {
    case "a" : doSomething(a);
    default:     alert();
    }

    Class, Struct, Protocol, and Extension declarations

    Preferred

    class ClassName: BaseClass {
    }
    
    struct StructName: BaseStruct {
    }
    
    protocol ProtocolName: AnotherProtocol {
    }
    
    extension TypeName: ProtocolName {
    }

    Not Preferred

    class ClassName : BaseClass {
    }
    
    struct StructName:  BaseStruct {
    }
    
    protocol ProtocolName:AnotherProtocol {
    }
    
    extension TypeName : ProtocolName {
    }

    Tuple declarations

    Preferred

    var y = (key: 1, value: 2)

    Not Preferred

    var y = (key:1, value : 2)

    Function declarations

    Preferred

    func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
    }</t:>

    Not Preferred

    func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
    }</t>

    Conditional expressions

    Preferred

    var x = condition ? a : b

    Not Preferred

    var x = condition ? a: b
    var x = condition ? a   : b

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Function should have at least one blank line before it
    Open

        public class func decode<T>(from data: Data) throws -> T where T : JSONDecodable {
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    function-whitespace

    Every function and method declaration should have one blank line before and after itself. An exception to this rule are functions that are declared at the start of a file (only need one blank line after their declaration) or at the end of a file (only need one blank line before their declaration). Comments immediately before a function declaration (no blank lines between them and the function) are considered to be part of the declaration.

    Preferred

    func function1() {
      var text = 1
      var text = 2
    }
    
    function1()
    
    // a comment
    func function2() {
      // something goes here
    }
    
    struct SomeStruct {
    
      func function3() {
        // something goes here
      }
    
      func function4() {
        // something else goes here
      };
    
    }
    
    func function5() {
      // something goes here
    }

    Not Preferred

    func function1() {
      var text = 1
      var text = 2
    }
    function1()
    // a comment
    func function2() {
      // something goes here
    }
    
    struct SomeStruct {
      func function3() {
        // something goes here
      }
    
      func function4() {
        // something else goes here
      };
    }
    func function5() {
      // something goes here
    }

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Function should have at least one blank line after it
    Open

        }
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    function-whitespace

    Every function and method declaration should have one blank line before and after itself. An exception to this rule are functions that are declared at the start of a file (only need one blank line after their declaration) or at the end of a file (only need one blank line before their declaration). Comments immediately before a function declaration (no blank lines between them and the function) are considered to be part of the declaration.

    Preferred

    func function1() {
      var text = 1
      var text = 2
    }
    
    function1()
    
    // a comment
    func function2() {
      // something goes here
    }
    
    struct SomeStruct {
    
      func function3() {
        // something goes here
      }
    
      func function4() {
        // something else goes here
      };
    
    }
    
    func function5() {
      // something goes here
    }

    Not Preferred

    func function1() {
      var text = 1
      var text = 2
    }
    function1()
    // a comment
    func function2() {
      // something goes here
    }
    
    struct SomeStruct {
      func function3() {
        // something goes here
      }
    
      func function4() {
        // something else goes here
      };
    }
    func function5() {
      // something goes here
    }

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

            
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Metadata.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    There are no issues that match your filters.

    Category
    Status