 
 }
 
+/// Transformation that transforms node to `Int8` value (char value).
 public
 var Int8Transform: IntegerTransform<Int8> {
     return IntegerTransform { $0.charValue }
 }
 
+/// Transformation that transforms node to `Int16` value (short value).
 public
 var Int16Transform: IntegerTransform<Int16> {
     return IntegerTransform { $0.shortValue }
 }
 
+/// Transformation that transforms node to `Int32` value (int value).
 public
 var Int32Transform: IntegerTransform<Int32> {
     return IntegerTransform { $0.intValue }
 }
 
+/// Transformation that transforms node to `Int64` value (long long value).
 public
 var Int64Transform: IntegerTransform<Int64> {
     return IntegerTransform { $0.longLongValue }
 }
 
+/// Transformation that transforms node to `UInt8` value (unsigned char value).
 public
 var UInt8Transform: IntegerTransform<UInt8> {
     return IntegerTransform { $0.unsignedCharValue }
 }
 
+/// Transformation that transforms node to `UInt16` value (unsigned short value).
 public
 var UInt16Transform: IntegerTransform<UInt16> {
     return IntegerTransform { $0.unsignedShortValue }
 }
 
+/// Transformation that transforms node to `UInt32` value (unsigned int value).
 public
 var UInt32Transform: IntegerTransform<UInt32> {
     return IntegerTransform { $0.unsignedIntValue }
 }
 
+/// Transformation that transforms node to `UInt64` value (unsigned long long value).
 public
 var UInt64Transform: IntegerTransform<UInt64> {
     return IntegerTransform { $0.unsignedLongLongValue }


import class Foundation.NSNumber

public
struct IntegerTransform<T: IntegerType>: TransformType {


        self.transform = transform
    }

    /// Transforms node to integer value.
    /// - Parameter node: Node.
    /// - Returns: Integer value.
    /// - Throws: `MappingError`.
    public
    func applyToNode(node: NodeType) throws -> T {
        return try transform(node.value(NSNumber))
