🚀 Socket Launch Week Day 4:Socket MCP Adds Org Alerts, Threat Feed Review, and Package Inspection.Learn more
Sign In

@rxstack/exceptions

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rxstack/exceptions - npm Package Compare versions

Comparing version
0.0.14
to
0.0.21
+235
index.d.ts
/**
* Copied from https://github.com/pleerock/class-validator
*
* Validation error description.
*/
export declare class ValidationError {
/**
* Object that was validated.
*/
target: Object;
/**
* Object's property that haven't pass validation.
*/
property: string;
/**
* Value that haven't pass a validation.
*/
value: any;
/**
* Constraints that failed validation with error messages.
*/
constraints: {
[type: string]: string;
};
/**
* Contains all nested validation errors of the property.
*/
children: ValidationError[];
}
/**
* Defines base Error class
*/
export declare class Exception implements Error {
message: string;
name: string;
stack?: string;
data: any;
constructor(message: string);
}
/**
* Defines Error class for abstract http exception
*/
export declare abstract class HttpException extends Exception {
protected statusCode: number;
constructor(message: string);
getStatusCode(): number;
}
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
export declare class BadRequestException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
export declare class UnauthorizedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
export declare class PaymentRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
export declare class ForbiddenException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
export declare class NotFoundException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
export declare class MethodNotAllowedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
export declare class NotAcceptableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
export declare class ProxyAuthenticationRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
export declare class RequestTimeoutException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
export declare class ConflictException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
export declare class GoneException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
export declare class LengthRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
export declare class PreconditionFailedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
export declare class PayloadTooLargeException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
export declare class URITooLongException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
export declare class UnsupportedMediaTypeException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
export declare class RangeNotSatisfiableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
export declare class ExpectationFailedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
export declare class UnprocessableEntityException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
export declare class TooManyRequestsException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
export declare class UnavailableForLegalReasonsException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
export declare class InternalServerErrorException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
export declare class NotImplementedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
export declare class ServiceUnavailableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
export declare class InsufficientStorageException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Validation http-exceptions
*/
export declare class ValidationException extends BadRequestException {
constructor(message: string, errors: ValidationError[]);
}
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
export declare function transformToException(e: any): Exception;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Defines base Error class
*/
class Exception {
constructor(message) {
this.message = message;
this.name = 'Exception';
}
}
exports.Exception = Exception;
/**
* Defines Error class for abstract http exception
*/
class HttpException extends Exception {
constructor(message) {
super(message);
this.statusCode = 500;
this.name = 'HttpException';
}
getStatusCode() {
return this.statusCode;
}
}
exports.HttpException = HttpException;
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
class BadRequestException extends HttpException {
constructor(message = 'Bad Request') {
super(message);
this.statusCode = 400;
this.name = 'BadRequestException';
}
}
exports.BadRequestException = BadRequestException;
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
class UnauthorizedException extends HttpException {
constructor(message = 'Unauthorized') {
super(message);
this.statusCode = 401;
this.name = 'UnauthorizedException';
}
}
exports.UnauthorizedException = UnauthorizedException;
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
class PaymentRequiredException extends HttpException {
constructor(message = 'Payment Required') {
super(message);
this.statusCode = 402;
this.name = 'PaymentRequiredException';
}
}
exports.PaymentRequiredException = PaymentRequiredException;
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
class ForbiddenException extends HttpException {
constructor(message = 'Forbidden') {
super(message);
this.statusCode = 403;
this.name = 'ForbiddenException';
}
}
exports.ForbiddenException = ForbiddenException;
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
class NotFoundException extends HttpException {
constructor(message = 'Not Found') {
super(message);
this.statusCode = 404;
this.name = 'NotFoundException';
}
}
exports.NotFoundException = NotFoundException;
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
class MethodNotAllowedException extends HttpException {
constructor(message = 'Method Not Allowed') {
super(message);
this.statusCode = 405;
this.name = 'MethodNotAllowedException';
}
}
exports.MethodNotAllowedException = MethodNotAllowedException;
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
class NotAcceptableException extends HttpException {
constructor(message = 'Not Acceptable') {
super(message);
this.statusCode = 406;
this.name = 'NotAcceptableException';
}
}
exports.NotAcceptableException = NotAcceptableException;
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
class ProxyAuthenticationRequiredException extends HttpException {
constructor(message = 'Proxy Authentication Required') {
super(message);
this.statusCode = 407;
this.name = 'ProxyAuthenticationRequiredException';
}
}
exports.ProxyAuthenticationRequiredException = ProxyAuthenticationRequiredException;
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
class RequestTimeoutException extends HttpException {
constructor(message = 'Request Timeout') {
super(message);
this.statusCode = 408;
this.name = 'RequestTimeoutException';
}
}
exports.RequestTimeoutException = RequestTimeoutException;
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
class ConflictException extends HttpException {
constructor(message = 'Conflict') {
super(message);
this.statusCode = 409;
this.name = 'ConflictException';
}
}
exports.ConflictException = ConflictException;
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
class GoneException extends HttpException {
constructor(message = 'Gone') {
super(message);
this.statusCode = 410;
this.name = 'GoneException';
}
}
exports.GoneException = GoneException;
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
class LengthRequiredException extends HttpException {
constructor(message = 'Length Required') {
super(message);
this.statusCode = 411;
this.name = 'LengthRequiredException';
}
}
exports.LengthRequiredException = LengthRequiredException;
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
class PreconditionFailedException extends HttpException {
constructor(message = 'Precondition Failed') {
super(message);
this.statusCode = 412;
this.name = 'PreconditionFailedException';
}
}
exports.PreconditionFailedException = PreconditionFailedException;
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
class PayloadTooLargeException extends HttpException {
constructor(message = 'Payload Too Large') {
super(message);
this.statusCode = 413;
this.name = 'PayloadTooLargeException';
}
}
exports.PayloadTooLargeException = PayloadTooLargeException;
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
class URITooLongException extends HttpException {
constructor(message = 'URI Too Long') {
super(message);
this.statusCode = 414;
this.name = 'URITooLongException';
}
}
exports.URITooLongException = URITooLongException;
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
class UnsupportedMediaTypeException extends HttpException {
constructor(message = 'Unsupported Media Type') {
super(message);
this.statusCode = 415;
this.name = 'UnsupportedMediaTypeException';
}
}
exports.UnsupportedMediaTypeException = UnsupportedMediaTypeException;
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
class RangeNotSatisfiableException extends HttpException {
constructor(message = 'Range Not Satisfiable') {
super(message);
this.statusCode = 416;
this.name = 'RangeNotSatisfiableException';
}
}
exports.RangeNotSatisfiableException = RangeNotSatisfiableException;
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
class ExpectationFailedException extends HttpException {
constructor(message = 'Expectation Failed') {
super(message);
this.statusCode = 417;
this.name = 'ExpectationFailedException';
}
}
exports.ExpectationFailedException = ExpectationFailedException;
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
class UnprocessableEntityException extends HttpException {
constructor(message = 'Unprocessable Entity') {
super(message);
this.statusCode = 422;
this.name = 'UnprocessableEntityException';
}
}
exports.UnprocessableEntityException = UnprocessableEntityException;
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
class TooManyRequestsException extends HttpException {
constructor(message = 'Too Many Requests') {
super(message);
this.statusCode = 429;
this.name = 'TooManyRequestsException';
}
}
exports.TooManyRequestsException = TooManyRequestsException;
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
class UnavailableForLegalReasonsException extends HttpException {
constructor(message = 'Unavailable For Legal Reasons') {
super(message);
this.statusCode = 451;
this.name = 'UnavailableForLegalReasonsException';
}
}
exports.UnavailableForLegalReasonsException = UnavailableForLegalReasonsException;
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
class InternalServerErrorException extends HttpException {
constructor(message = 'Internal Server Error') {
super(message);
this.statusCode = 500;
this.name = 'InternalServerErrorException';
}
}
exports.InternalServerErrorException = InternalServerErrorException;
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
class NotImplementedException extends HttpException {
constructor(message = 'Not Implemented') {
super(message);
this.statusCode = 501;
this.name = 'NotImplementedException';
}
}
exports.NotImplementedException = NotImplementedException;
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
class ServiceUnavailableException extends HttpException {
constructor(message = 'Service Unavailable') {
super(message);
this.statusCode = 503;
this.name = 'ServiceUnavailableException';
}
}
exports.ServiceUnavailableException = ServiceUnavailableException;
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
class InsufficientStorageException extends HttpException {
constructor(message = 'Insufficient Storage') {
super(message);
this.statusCode = 507;
this.name = 'InsufficientStorageException';
}
}
exports.InsufficientStorageException = InsufficientStorageException;
/**
* Defines Error class for Validation http-exceptions
*/
class ValidationException extends BadRequestException {
constructor(message = 'Validation error', errors) {
super(message);
this.data = errors;
}
}
exports.ValidationException = ValidationException;
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
function transformToException(e) {
if (!(e instanceof Exception)) {
e = new Exception(e.message);
e.data = e.stack;
}
return e;
}
exports.transformToException = transformToException;
//# sourceMappingURL=index.js.map
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Copied from https://github.com/pleerock/class-validator\n *\n * Validation error description.\n */\nexport declare class ValidationError {\n /**\n * Object that was validated.\n */\n target: Object;\n /**\n * Object's property that haven't pass validation.\n */\n property: string;\n /**\n * Value that haven't pass a validation.\n */\n value: any;\n /**\n * Constraints that failed validation with error messages.\n */\n constraints: {\n [type: string]: string;\n };\n /**\n * Contains all nested validation errors of the property.\n */\n children: ValidationError[];\n}\n\n/**\n * Defines base Error class\n */\nexport class Exception implements Error {\n name: string;\n stack?: string;\n data: any;\n\n constructor(public message: string) {\n this.name = 'Exception';\n }\n}\n\n/**\n * Defines Error class for abstract http exception\n */\nexport abstract class HttpException extends Exception {\n\n protected statusCode: number = 500;\n\n constructor(message: string) {\n super(message);\n this.name = 'HttpException';\n }\n\n getStatusCode(): number {\n return this.statusCode;\n }\n}\n\n/**\n * Defines Error class for Bad Request errors, with HTTP status code 400\n */\nexport class BadRequestException extends HttpException {\n protected statusCode: number = 400;\n\n constructor(message: string = 'Bad Request') {\n super(message);\n this.name = 'BadRequestException';\n }\n}\n\n/**\n * Defines Error class for Unauthorized errors, with HTTP status code 401\n */\nexport class UnauthorizedException extends HttpException {\n protected statusCode: number = 401;\n\n constructor(message: string = 'Unauthorized') {\n super(message);\n this.name = 'UnauthorizedException';\n }\n}\n\n/**\n * Defines Error class for Payment Required errors, with HTTP status code 402\n */\nexport class PaymentRequiredException extends HttpException {\n protected statusCode: number = 402;\n\n constructor(message: string = 'Payment Required') {\n super(message);\n this.name = 'PaymentRequiredException';\n }\n}\n\n/**\n * Defines Error class for Forbidden errors, with HTTP status code 403\n */\nexport class ForbiddenException extends HttpException {\n protected statusCode: number = 403;\n\n constructor(message: string = 'Forbidden') {\n super(message);\n this.name = 'ForbiddenException';\n }\n}\n\n/**\n * Defines Error class for Not Found errors, with HTTP status code 404\n */\nexport class NotFoundException extends HttpException {\n protected statusCode: number = 404;\n\n constructor(message: string = 'Not Found') {\n super(message);\n this.name = 'NotFoundException';\n }\n}\n\n/**\n * Defines Error class for Method Not Allowed errors, with HTTP status code 405\n */\nexport class MethodNotAllowedException extends HttpException {\n protected statusCode: number = 405;\n\n constructor(message: string = 'Method Not Allowed') {\n super(message);\n this.name = 'MethodNotAllowedException';\n }\n}\n\n/**\n * Defines Error class for Not Acceptable errors, with HTTP status code 406\n */\nexport class NotAcceptableException extends HttpException {\n protected statusCode: number = 406;\n\n constructor(message: string = 'Not Acceptable') {\n super(message);\n this.name = 'NotAcceptableException';\n }\n}\n\n/**\n * Defines Error class for Proxy Authentication Required errors, with HTTP status code 407\n */\nexport class ProxyAuthenticationRequiredException extends HttpException {\n protected statusCode: number = 407;\n\n constructor(message: string = 'Proxy Authentication Required') {\n super(message);\n this.name = 'ProxyAuthenticationRequiredException';\n }\n}\n\n/**\n * Defines Error class for Request Timeout errors, with HTTP status code 408\n */\nexport class RequestTimeoutException extends HttpException {\n protected statusCode: number = 408;\n\n constructor(message: string = 'Request Timeout') {\n super(message);\n this.name = 'RequestTimeoutException';\n }\n}\n\n/**\n * Defines Error class for Conflict errors, with HTTP status code 409\n */\nexport class ConflictException extends HttpException {\n protected statusCode: number = 409;\n\n constructor(message: string = 'Conflict') {\n super(message);\n this.name = 'ConflictException';\n }\n}\n\n/**\n * Defines Error class for Gone errors, with HTTP status code 410\n */\nexport class GoneException extends HttpException {\n protected statusCode: number = 410;\n\n constructor(message: string = 'Gone') {\n super(message);\n this.name = 'GoneException';\n }\n}\n\n/**\n * Defines Error class for Length Required errors, with HTTP status code 411\n */\nexport class LengthRequiredException extends HttpException {\n protected statusCode: number = 411;\n\n constructor(message: string = 'Length Required') {\n super(message);\n this.name = 'LengthRequiredException';\n }\n}\n\n/**\n * Defines Error class for Precondition Failed errors, with HTTP status code 412\n */\nexport class PreconditionFailedException extends HttpException {\n protected statusCode: number = 412;\n\n constructor(message: string = 'Precondition Failed') {\n super(message);\n this.name = 'PreconditionFailedException';\n }\n}\n\n/**\n * Defines Error class for Payload Too Large errors, with HTTP status code 413\n */\nexport class PayloadTooLargeException extends HttpException {\n protected statusCode: number = 413;\n\n constructor(message: string = 'Payload Too Large') {\n super(message);\n this.name = 'PayloadTooLargeException';\n }\n}\n\n/**\n * Defines Error class for URI Too Long errors, with HTTP status code 414\n */\nexport class URITooLongException extends HttpException {\n protected statusCode: number = 414;\n\n constructor(message: string = 'URI Too Long') {\n super(message);\n this.name = 'URITooLongException';\n }\n}\n\n/**\n * Defines Error class for Unsupported Media Type errors, with HTTP status code 415\n */\nexport class UnsupportedMediaTypeException extends HttpException {\n protected statusCode: number = 415;\n\n constructor(message: string = 'Unsupported Media Type') {\n super(message);\n this.name = 'UnsupportedMediaTypeException';\n }\n}\n\n/**\n * Defines Error class for Range Not Satisfiable errors, with HTTP status code 416\n */\nexport class RangeNotSatisfiableException extends HttpException {\n protected statusCode: number = 416;\n\n constructor(message: string = 'Range Not Satisfiable') {\n super(message);\n this.name = 'RangeNotSatisfiableException';\n }\n}\n\n/**\n * Defines Error class for Expectation Failed errors, with HTTP status code 417\n */\nexport class ExpectationFailedException extends HttpException {\n protected statusCode: number = 417;\n\n constructor(message: string = 'Expectation Failed') {\n super(message);\n this.name = 'ExpectationFailedException';\n }\n}\n\n/**\n * Defines Error class for Unprocessable Entity errors, with HTTP status code 422\n */\nexport class UnprocessableEntityException extends HttpException {\n protected statusCode: number = 422;\n\n constructor(message: string = 'Unprocessable Entity') {\n super(message);\n this.name = 'UnprocessableEntityException';\n }\n}\n\n/**\n * Defines Error class for Too Many Requests errors, with HTTP status code 429\n */\nexport class TooManyRequestsException extends HttpException {\n protected statusCode: number = 429;\n\n constructor(message: string = 'Too Many Requests') {\n super(message);\n this.name = 'TooManyRequestsException';\n }\n}\n\n/**\n * Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451\n */\nexport class UnavailableForLegalReasonsException extends HttpException {\n protected statusCode: number = 451;\n\n constructor(message: string = 'Unavailable For Legal Reasons') {\n super(message);\n this.name = 'UnavailableForLegalReasonsException';\n }\n}\n\n/**\n * Defines Error class for Internal Server Error errors, with HTTP status code 500\n */\nexport class InternalServerErrorException extends HttpException {\n protected statusCode: number = 500;\n\n constructor(message: string = 'Internal Server Error') {\n super(message);\n this.name = 'InternalServerErrorException';\n }\n}\n\n/**\n * Defines Error class for Not Implemented errors, with HTTP status code 501\n */\nexport class NotImplementedException extends HttpException {\n protected statusCode: number = 501;\n\n constructor(message: string = 'Not Implemented') {\n super(message);\n this.name = 'NotImplementedException';\n }\n}\n\n/**\n * Defines Error class for Service Unavailable errors, with HTTP status code 503\n */\nexport class ServiceUnavailableException extends HttpException {\n protected statusCode: number = 503;\n\n constructor(message: string = 'Service Unavailable') {\n super(message);\n this.name = 'ServiceUnavailableException';\n }\n}\n\n/**\n * Defines Error class for Insufficient Storage errors, with HTTP status code 503\n */\nexport class InsufficientStorageException extends HttpException {\n protected statusCode: number = 507;\n\n constructor(message: string = 'Insufficient Storage') {\n super(message);\n this.name = 'InsufficientStorageException';\n }\n}\n\n/**\n * Defines Error class for Validation http-exceptions\n */\nexport class ValidationException extends BadRequestException {\n constructor(message: string = 'Validation error', errors: ValidationError[]) {\n super(message);\n this.data = errors;\n }\n}\n\n/**\n * Transform an error to exception\n *\n * @param e\n * @returns {Exception}\n */\nexport function transformToException(e: any): Exception {\n if (!(e instanceof Exception)) {\n e = new Exception(e.message);\n e.data = e.stack;\n }\n return e;\n}\n"],"sourceRoot":"."}
+2
-2
{
"name": "@rxstack/exceptions",
"version": "0.0.14",
"version": "0.0.21",
"description": "RxStack Exceptions Component",

@@ -18,3 +18,3 @@ "private": false,

"watch": "gulp watch",
"publish-package": "gulp publish"
"publish": "gulp publishPackage"
},

@@ -21,0 +21,0 @@ "devDependencies": {

/**
* Copied from https://github.com/pleerock/class-validator
*
* Validation error description.
*/
export declare class ValidationError {
/**
* Object that was validated.
*/
target: Object;
/**
* Object's property that haven't pass validation.
*/
property: string;
/**
* Value that haven't pass a validation.
*/
value: any;
/**
* Constraints that failed validation with error messages.
*/
constraints: {
[type: string]: string;
};
/**
* Contains all nested validation errors of the property.
*/
children: ValidationError[];
}
/**
* Defines base Error class
*/
export declare class Exception implements Error {
message: string;
name: string;
stack?: string;
data: any;
constructor(message: string);
}
/**
* Defines Error class for abstract http exception
*/
export declare abstract class HttpException extends Exception {
protected statusCode: number;
constructor(message: string);
getStatusCode(): number;
}
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
export declare class BadRequestException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
export declare class UnauthorizedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
export declare class PaymentRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
export declare class ForbiddenException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
export declare class NotFoundException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
export declare class MethodNotAllowedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
export declare class NotAcceptableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
export declare class ProxyAuthenticationRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
export declare class RequestTimeoutException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
export declare class ConflictException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
export declare class GoneException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
export declare class LengthRequiredException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
export declare class PreconditionFailedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
export declare class PayloadTooLargeException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
export declare class URITooLongException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
export declare class UnsupportedMediaTypeException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
export declare class RangeNotSatisfiableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
export declare class ExpectationFailedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
export declare class UnprocessableEntityException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
export declare class TooManyRequestsException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
export declare class UnavailableForLegalReasonsException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
export declare class InternalServerErrorException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
export declare class NotImplementedException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
export declare class ServiceUnavailableException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
export declare class InsufficientStorageException extends HttpException {
protected statusCode: number;
constructor(message?: string);
}
/**
* Defines Error class for Validation http-exceptions
*/
export declare class ValidationException extends BadRequestException {
constructor(message: string, errors: ValidationError[]);
}
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
export declare function transformToException(e: any): Exception;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Defines base Error class
*/
class Exception {
constructor(message) {
this.message = message;
this.name = 'Exception';
}
}
exports.Exception = Exception;
/**
* Defines Error class for abstract http exception
*/
class HttpException extends Exception {
constructor(message) {
super(message);
this.statusCode = 500;
this.name = 'HttpException';
}
getStatusCode() {
return this.statusCode;
}
}
exports.HttpException = HttpException;
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
class BadRequestException extends HttpException {
constructor(message = 'Bad Request') {
super(message);
this.statusCode = 400;
this.name = 'BadRequestException';
}
}
exports.BadRequestException = BadRequestException;
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
class UnauthorizedException extends HttpException {
constructor(message = 'Unauthorized') {
super(message);
this.statusCode = 401;
this.name = 'UnauthorizedException';
}
}
exports.UnauthorizedException = UnauthorizedException;
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
class PaymentRequiredException extends HttpException {
constructor(message = 'Payment Required') {
super(message);
this.statusCode = 402;
this.name = 'PaymentRequiredException';
}
}
exports.PaymentRequiredException = PaymentRequiredException;
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
class ForbiddenException extends HttpException {
constructor(message = 'Forbidden') {
super(message);
this.statusCode = 403;
this.name = 'ForbiddenException';
}
}
exports.ForbiddenException = ForbiddenException;
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
class NotFoundException extends HttpException {
constructor(message = 'Not Found') {
super(message);
this.statusCode = 404;
this.name = 'NotFoundException';
}
}
exports.NotFoundException = NotFoundException;
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
class MethodNotAllowedException extends HttpException {
constructor(message = 'Method Not Allowed') {
super(message);
this.statusCode = 405;
this.name = 'MethodNotAllowedException';
}
}
exports.MethodNotAllowedException = MethodNotAllowedException;
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
class NotAcceptableException extends HttpException {
constructor(message = 'Not Acceptable') {
super(message);
this.statusCode = 406;
this.name = 'NotAcceptableException';
}
}
exports.NotAcceptableException = NotAcceptableException;
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
class ProxyAuthenticationRequiredException extends HttpException {
constructor(message = 'Proxy Authentication Required') {
super(message);
this.statusCode = 407;
this.name = 'ProxyAuthenticationRequiredException';
}
}
exports.ProxyAuthenticationRequiredException = ProxyAuthenticationRequiredException;
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
class RequestTimeoutException extends HttpException {
constructor(message = 'Request Timeout') {
super(message);
this.statusCode = 408;
this.name = 'RequestTimeoutException';
}
}
exports.RequestTimeoutException = RequestTimeoutException;
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
class ConflictException extends HttpException {
constructor(message = 'Conflict') {
super(message);
this.statusCode = 409;
this.name = 'ConflictException';
}
}
exports.ConflictException = ConflictException;
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
class GoneException extends HttpException {
constructor(message = 'Gone') {
super(message);
this.statusCode = 410;
this.name = 'GoneException';
}
}
exports.GoneException = GoneException;
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
class LengthRequiredException extends HttpException {
constructor(message = 'Length Required') {
super(message);
this.statusCode = 411;
this.name = 'LengthRequiredException';
}
}
exports.LengthRequiredException = LengthRequiredException;
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
class PreconditionFailedException extends HttpException {
constructor(message = 'Precondition Failed') {
super(message);
this.statusCode = 412;
this.name = 'PreconditionFailedException';
}
}
exports.PreconditionFailedException = PreconditionFailedException;
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
class PayloadTooLargeException extends HttpException {
constructor(message = 'Payload Too Large') {
super(message);
this.statusCode = 413;
this.name = 'PayloadTooLargeException';
}
}
exports.PayloadTooLargeException = PayloadTooLargeException;
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
class URITooLongException extends HttpException {
constructor(message = 'URI Too Long') {
super(message);
this.statusCode = 414;
this.name = 'URITooLongException';
}
}
exports.URITooLongException = URITooLongException;
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
class UnsupportedMediaTypeException extends HttpException {
constructor(message = 'Unsupported Media Type') {
super(message);
this.statusCode = 415;
this.name = 'UnsupportedMediaTypeException';
}
}
exports.UnsupportedMediaTypeException = UnsupportedMediaTypeException;
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
class RangeNotSatisfiableException extends HttpException {
constructor(message = 'Range Not Satisfiable') {
super(message);
this.statusCode = 416;
this.name = 'RangeNotSatisfiableException';
}
}
exports.RangeNotSatisfiableException = RangeNotSatisfiableException;
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
class ExpectationFailedException extends HttpException {
constructor(message = 'Expectation Failed') {
super(message);
this.statusCode = 417;
this.name = 'ExpectationFailedException';
}
}
exports.ExpectationFailedException = ExpectationFailedException;
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
class UnprocessableEntityException extends HttpException {
constructor(message = 'Unprocessable Entity') {
super(message);
this.statusCode = 422;
this.name = 'UnprocessableEntityException';
}
}
exports.UnprocessableEntityException = UnprocessableEntityException;
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
class TooManyRequestsException extends HttpException {
constructor(message = 'Too Many Requests') {
super(message);
this.statusCode = 429;
this.name = 'TooManyRequestsException';
}
}
exports.TooManyRequestsException = TooManyRequestsException;
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
class UnavailableForLegalReasonsException extends HttpException {
constructor(message = 'Unavailable For Legal Reasons') {
super(message);
this.statusCode = 451;
this.name = 'UnavailableForLegalReasonsException';
}
}
exports.UnavailableForLegalReasonsException = UnavailableForLegalReasonsException;
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
class InternalServerErrorException extends HttpException {
constructor(message = 'Internal Server Error') {
super(message);
this.statusCode = 500;
this.name = 'InternalServerErrorException';
}
}
exports.InternalServerErrorException = InternalServerErrorException;
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
class NotImplementedException extends HttpException {
constructor(message = 'Not Implemented') {
super(message);
this.statusCode = 501;
this.name = 'NotImplementedException';
}
}
exports.NotImplementedException = NotImplementedException;
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
class ServiceUnavailableException extends HttpException {
constructor(message = 'Service Unavailable') {
super(message);
this.statusCode = 503;
this.name = 'ServiceUnavailableException';
}
}
exports.ServiceUnavailableException = ServiceUnavailableException;
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
class InsufficientStorageException extends HttpException {
constructor(message = 'Insufficient Storage') {
super(message);
this.statusCode = 507;
this.name = 'InsufficientStorageException';
}
}
exports.InsufficientStorageException = InsufficientStorageException;
/**
* Defines Error class for Validation http-exceptions
*/
class ValidationException extends BadRequestException {
constructor(message = 'Validation error', errors) {
super(message);
this.data = errors;
}
}
exports.ValidationException = ValidationException;
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
function transformToException(e) {
if (!(e instanceof Exception)) {
e = new Exception(e.message);
e.data = e.stack;
}
return e;
}
exports.transformToException = transformToException;
//# sourceMappingURL=index.js.map
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Copied from https://github.com/pleerock/class-validator\n *\n * Validation error description.\n */\nexport declare class ValidationError {\n /**\n * Object that was validated.\n */\n target: Object;\n /**\n * Object's property that haven't pass validation.\n */\n property: string;\n /**\n * Value that haven't pass a validation.\n */\n value: any;\n /**\n * Constraints that failed validation with error messages.\n */\n constraints: {\n [type: string]: string;\n };\n /**\n * Contains all nested validation errors of the property.\n */\n children: ValidationError[];\n}\n\n/**\n * Defines base Error class\n */\nexport class Exception implements Error {\n name: string;\n stack?: string;\n data: any;\n\n constructor(public message: string) {\n this.name = 'Exception';\n }\n}\n\n/**\n * Defines Error class for abstract http exception\n */\nexport abstract class HttpException extends Exception {\n\n protected statusCode: number = 500;\n\n constructor(message: string) {\n super(message);\n this.name = 'HttpException';\n }\n\n getStatusCode(): number {\n return this.statusCode;\n }\n}\n\n/**\n * Defines Error class for Bad Request errors, with HTTP status code 400\n */\nexport class BadRequestException extends HttpException {\n protected statusCode: number = 400;\n\n constructor(message: string = 'Bad Request') {\n super(message);\n this.name = 'BadRequestException';\n }\n}\n\n/**\n * Defines Error class for Unauthorized errors, with HTTP status code 401\n */\nexport class UnauthorizedException extends HttpException {\n protected statusCode: number = 401;\n\n constructor(message: string = 'Unauthorized') {\n super(message);\n this.name = 'UnauthorizedException';\n }\n}\n\n/**\n * Defines Error class for Payment Required errors, with HTTP status code 402\n */\nexport class PaymentRequiredException extends HttpException {\n protected statusCode: number = 402;\n\n constructor(message: string = 'Payment Required') {\n super(message);\n this.name = 'PaymentRequiredException';\n }\n}\n\n/**\n * Defines Error class for Forbidden errors, with HTTP status code 403\n */\nexport class ForbiddenException extends HttpException {\n protected statusCode: number = 403;\n\n constructor(message: string = 'Forbidden') {\n super(message);\n this.name = 'ForbiddenException';\n }\n}\n\n/**\n * Defines Error class for Not Found errors, with HTTP status code 404\n */\nexport class NotFoundException extends HttpException {\n protected statusCode: number = 404;\n\n constructor(message: string = 'Not Found') {\n super(message);\n this.name = 'NotFoundException';\n }\n}\n\n/**\n * Defines Error class for Method Not Allowed errors, with HTTP status code 405\n */\nexport class MethodNotAllowedException extends HttpException {\n protected statusCode: number = 405;\n\n constructor(message: string = 'Method Not Allowed') {\n super(message);\n this.name = 'MethodNotAllowedException';\n }\n}\n\n/**\n * Defines Error class for Not Acceptable errors, with HTTP status code 406\n */\nexport class NotAcceptableException extends HttpException {\n protected statusCode: number = 406;\n\n constructor(message: string = 'Not Acceptable') {\n super(message);\n this.name = 'NotAcceptableException';\n }\n}\n\n/**\n * Defines Error class for Proxy Authentication Required errors, with HTTP status code 407\n */\nexport class ProxyAuthenticationRequiredException extends HttpException {\n protected statusCode: number = 407;\n\n constructor(message: string = 'Proxy Authentication Required') {\n super(message);\n this.name = 'ProxyAuthenticationRequiredException';\n }\n}\n\n/**\n * Defines Error class for Request Timeout errors, with HTTP status code 408\n */\nexport class RequestTimeoutException extends HttpException {\n protected statusCode: number = 408;\n\n constructor(message: string = 'Request Timeout') {\n super(message);\n this.name = 'RequestTimeoutException';\n }\n}\n\n/**\n * Defines Error class for Conflict errors, with HTTP status code 409\n */\nexport class ConflictException extends HttpException {\n protected statusCode: number = 409;\n\n constructor(message: string = 'Conflict') {\n super(message);\n this.name = 'ConflictException';\n }\n}\n\n/**\n * Defines Error class for Gone errors, with HTTP status code 410\n */\nexport class GoneException extends HttpException {\n protected statusCode: number = 410;\n\n constructor(message: string = 'Gone') {\n super(message);\n this.name = 'GoneException';\n }\n}\n\n/**\n * Defines Error class for Length Required errors, with HTTP status code 411\n */\nexport class LengthRequiredException extends HttpException {\n protected statusCode: number = 411;\n\n constructor(message: string = 'Length Required') {\n super(message);\n this.name = 'LengthRequiredException';\n }\n}\n\n/**\n * Defines Error class for Precondition Failed errors, with HTTP status code 412\n */\nexport class PreconditionFailedException extends HttpException {\n protected statusCode: number = 412;\n\n constructor(message: string = 'Precondition Failed') {\n super(message);\n this.name = 'PreconditionFailedException';\n }\n}\n\n/**\n * Defines Error class for Payload Too Large errors, with HTTP status code 413\n */\nexport class PayloadTooLargeException extends HttpException {\n protected statusCode: number = 413;\n\n constructor(message: string = 'Payload Too Large') {\n super(message);\n this.name = 'PayloadTooLargeException';\n }\n}\n\n/**\n * Defines Error class for URI Too Long errors, with HTTP status code 414\n */\nexport class URITooLongException extends HttpException {\n protected statusCode: number = 414;\n\n constructor(message: string = 'URI Too Long') {\n super(message);\n this.name = 'URITooLongException';\n }\n}\n\n/**\n * Defines Error class for Unsupported Media Type errors, with HTTP status code 415\n */\nexport class UnsupportedMediaTypeException extends HttpException {\n protected statusCode: number = 415;\n\n constructor(message: string = 'Unsupported Media Type') {\n super(message);\n this.name = 'UnsupportedMediaTypeException';\n }\n}\n\n/**\n * Defines Error class for Range Not Satisfiable errors, with HTTP status code 416\n */\nexport class RangeNotSatisfiableException extends HttpException {\n protected statusCode: number = 416;\n\n constructor(message: string = 'Range Not Satisfiable') {\n super(message);\n this.name = 'RangeNotSatisfiableException';\n }\n}\n\n/**\n * Defines Error class for Expectation Failed errors, with HTTP status code 417\n */\nexport class ExpectationFailedException extends HttpException {\n protected statusCode: number = 417;\n\n constructor(message: string = 'Expectation Failed') {\n super(message);\n this.name = 'ExpectationFailedException';\n }\n}\n\n/**\n * Defines Error class for Unprocessable Entity errors, with HTTP status code 422\n */\nexport class UnprocessableEntityException extends HttpException {\n protected statusCode: number = 422;\n\n constructor(message: string = 'Unprocessable Entity') {\n super(message);\n this.name = 'UnprocessableEntityException';\n }\n}\n\n/**\n * Defines Error class for Too Many Requests errors, with HTTP status code 429\n */\nexport class TooManyRequestsException extends HttpException {\n protected statusCode: number = 429;\n\n constructor(message: string = 'Too Many Requests') {\n super(message);\n this.name = 'TooManyRequestsException';\n }\n}\n\n/**\n * Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451\n */\nexport class UnavailableForLegalReasonsException extends HttpException {\n protected statusCode: number = 451;\n\n constructor(message: string = 'Unavailable For Legal Reasons') {\n super(message);\n this.name = 'UnavailableForLegalReasonsException';\n }\n}\n\n/**\n * Defines Error class for Internal Server Error errors, with HTTP status code 500\n */\nexport class InternalServerErrorException extends HttpException {\n protected statusCode: number = 500;\n\n constructor(message: string = 'Internal Server Error') {\n super(message);\n this.name = 'InternalServerErrorException';\n }\n}\n\n/**\n * Defines Error class for Not Implemented errors, with HTTP status code 501\n */\nexport class NotImplementedException extends HttpException {\n protected statusCode: number = 501;\n\n constructor(message: string = 'Not Implemented') {\n super(message);\n this.name = 'NotImplementedException';\n }\n}\n\n/**\n * Defines Error class for Service Unavailable errors, with HTTP status code 503\n */\nexport class ServiceUnavailableException extends HttpException {\n protected statusCode: number = 503;\n\n constructor(message: string = 'Service Unavailable') {\n super(message);\n this.name = 'ServiceUnavailableException';\n }\n}\n\n/**\n * Defines Error class for Insufficient Storage errors, with HTTP status code 503\n */\nexport class InsufficientStorageException extends HttpException {\n protected statusCode: number = 507;\n\n constructor(message: string = 'Insufficient Storage') {\n super(message);\n this.name = 'InsufficientStorageException';\n }\n}\n\n/**\n * Defines Error class for Validation http-exceptions\n */\nexport class ValidationException extends BadRequestException {\n constructor(message: string = 'Validation error', errors: ValidationError[]) {\n super(message);\n this.data = errors;\n }\n}\n\n/**\n * Transform an error to exception\n *\n * @param e\n * @returns {Exception}\n */\nexport function transformToException(e: any): Exception {\n if (!(e instanceof Exception)) {\n e = new Exception(e.message);\n e.data = e.stack;\n }\n return e;\n}\n"],"sourceRoot":"."}
{
"name": "@rxstack/exceptions",
"version": "0.0.2",
"description": "RxStack Exceptions Component",
"private": false,
"author": "Nikolay Gergiev <symfonist@gmail.com>",
"license": "MIT",
"repository": {
"type": "git",
"url": "git://github.com/rxstack/rxstack.git"
},
"engines": {
"node": ">=8"
},
"scripts": {
"test": "gulp tests",
"watch": "gulp watch",
"publish-package": "gulp publish"
},
"devDependencies": {
"@types/chai": "^3.4.35",
"@types/chai-as-promised": "0.0.30",
"@types/gulp": "^4.0.2",
"@types/mocha": "^2.2.40",
"@types/node": "^7.0.10",
"@types/sinon": "^1.16.36",
"chai": "^3.4.1",
"chai-as-promised": "^6.0.0",
"codecov": "^2.1.0",
"del": "^2.2.2",
"es6-shim": "^0.35.3",
"gulp": "^3.9.1",
"gulp-istanbul": "^1.1.1",
"gulp-mocha": "^3.0.1",
"gulp-replace": "^0.5.4",
"gulp-shell": "^0.6.3",
"gulp-sourcemaps": "^2.4.1",
"gulp-tslint": "^7.1.0",
"gulp-typescript": "^3.1.6",
"gulpclass": "0.1.2",
"mocha": "^3.2.0",
"remap-istanbul": "^0.9.1",
"sinon": "^2.1.0",
"sinon-chai": "^2.9.0",
"ts-node": "^3.0.2",
"tslint": "^4.5.1",
"tslint-stylish": "^2.1.0",
"typescript": "^2.5.3"
},
"bugs": {
"url": "https://github.com/rxstack/rxstack/issues"
},
"homepage": "https://github.com/rxstack/rxstack#readme",
"main": "index.js",
"directories": {
"test": "test"
},
"dependencies": {},
"keywords": [
"exceptions"
]
}
# @rxstack/exceptions
> The Exceptions component converts error to exception.
## Installation
```
npm install @rxstack/exceptions --save
```
## Documentation
## License
Licensed under the [MIT license](LICENSE).
{
"src/index.ts":{"path":"src/index.ts","statementMap":{"1":{"start":{"line":39,"column":21},"end":{"line":39,"column":36}},"2":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"3":{"start":{"line":34,"column":0},"end":{"line":42,"column":1}},"4":{"start":{"line":52,"column":4},"end":{"line":52,"column":19}},"5":{"start":{"line":49,"column":12},"end":{"line":49,"column":37}},"6":{"start":{"line":53,"column":4},"end":{"line":53,"column":32}},"7":{"start":{"line":57,"column":4},"end":{"line":57,"column":27}},"8":{"start":{"line":47,"column":0},"end":{"line":59,"column":1}},"9":{"start":{"line":68,"column":4},"end":{"line":68,"column":19}},"10":{"start":{"line":65,"column":12},"end":{"line":65,"column":37}},"11":{"start":{"line":69,"column":4},"end":{"line":69,"column":38}},"12":{"start":{"line":64,"column":0},"end":{"line":71,"column":1}},"13":{"start":{"line":80,"column":4},"end":{"line":80,"column":19}},"14":{"start":{"line":77,"column":12},"end":{"line":77,"column":37}},"15":{"start":{"line":81,"column":4},"end":{"line":81,"column":40}},"16":{"start":{"line":76,"column":0},"end":{"line":83,"column":1}},"17":{"start":{"line":92,"column":4},"end":{"line":92,"column":19}},"18":{"start":{"line":89,"column":12},"end":{"line":89,"column":37}},"19":{"start":{"line":93,"column":4},"end":{"line":93,"column":43}},"20":{"start":{"line":88,"column":0},"end":{"line":95,"column":1}},"21":{"start":{"line":104,"column":4},"end":{"line":104,"column":19}},"22":{"start":{"line":101,"column":12},"end":{"line":101,"column":37}},"23":{"start":{"line":105,"column":4},"end":{"line":105,"column":37}},"24":{"start":{"line":100,"column":0},"end":{"line":107,"column":1}},"25":{"start":{"line":116,"column":4},"end":{"line":116,"column":19}},"26":{"start":{"line":113,"column":12},"end":{"line":113,"column":37}},"27":{"start":{"line":117,"column":4},"end":{"line":117,"column":36}},"28":{"start":{"line":112,"column":0},"end":{"line":119,"column":1}},"29":{"start":{"line":128,"column":4},"end":{"line":128,"column":19}},"30":{"start":{"line":125,"column":12},"end":{"line":125,"column":37}},"31":{"start":{"line":129,"column":4},"end":{"line":129,"column":44}},"32":{"start":{"line":124,"column":0},"end":{"line":131,"column":1}},"33":{"start":{"line":140,"column":4},"end":{"line":140,"column":19}},"34":{"start":{"line":137,"column":12},"end":{"line":137,"column":37}},"35":{"start":{"line":141,"column":4},"end":{"line":141,"column":41}},"36":{"start":{"line":136,"column":0},"end":{"line":143,"column":1}},"37":{"start":{"line":152,"column":4},"end":{"line":152,"column":19}},"38":{"start":{"line":149,"column":12},"end":{"line":149,"column":37}},"39":{"start":{"line":153,"column":4},"end":{"line":153,"column":55}},"40":{"start":{"line":148,"column":0},"end":{"line":155,"column":1}},"41":{"start":{"line":164,"column":4},"end":{"line":164,"column":19}},"42":{"start":{"line":161,"column":12},"end":{"line":161,"column":37}},"43":{"start":{"line":165,"column":4},"end":{"line":165,"column":42}},"44":{"start":{"line":160,"column":0},"end":{"line":167,"column":1}},"45":{"start":{"line":176,"column":4},"end":{"line":176,"column":19}},"46":{"start":{"line":173,"column":12},"end":{"line":173,"column":37}},"47":{"start":{"line":177,"column":4},"end":{"line":177,"column":36}},"48":{"start":{"line":172,"column":0},"end":{"line":179,"column":1}},"49":{"start":{"line":188,"column":4},"end":{"line":188,"column":19}},"50":{"start":{"line":185,"column":12},"end":{"line":185,"column":37}},"51":{"start":{"line":189,"column":4},"end":{"line":189,"column":32}},"52":{"start":{"line":184,"column":0},"end":{"line":191,"column":1}},"53":{"start":{"line":200,"column":4},"end":{"line":200,"column":19}},"54":{"start":{"line":197,"column":12},"end":{"line":197,"column":37}},"55":{"start":{"line":201,"column":4},"end":{"line":201,"column":42}},"56":{"start":{"line":196,"column":0},"end":{"line":203,"column":1}},"57":{"start":{"line":212,"column":4},"end":{"line":212,"column":19}},"58":{"start":{"line":209,"column":12},"end":{"line":209,"column":37}},"59":{"start":{"line":213,"column":4},"end":{"line":213,"column":46}},"60":{"start":{"line":208,"column":0},"end":{"line":215,"column":1}},"61":{"start":{"line":224,"column":4},"end":{"line":224,"column":19}},"62":{"start":{"line":221,"column":12},"end":{"line":221,"column":37}},"63":{"start":{"line":225,"column":4},"end":{"line":225,"column":43}},"64":{"start":{"line":220,"column":0},"end":{"line":227,"column":1}},"65":{"start":{"line":236,"column":4},"end":{"line":236,"column":19}},"66":{"start":{"line":233,"column":12},"end":{"line":233,"column":37}},"67":{"start":{"line":237,"column":4},"end":{"line":237,"column":38}},"68":{"start":{"line":232,"column":0},"end":{"line":239,"column":1}},"69":{"start":{"line":248,"column":4},"end":{"line":248,"column":19}},"70":{"start":{"line":245,"column":12},"end":{"line":245,"column":37}},"71":{"start":{"line":249,"column":4},"end":{"line":249,"column":48}},"72":{"start":{"line":244,"column":0},"end":{"line":251,"column":1}},"73":{"start":{"line":260,"column":4},"end":{"line":260,"column":19}},"74":{"start":{"line":257,"column":12},"end":{"line":257,"column":37}},"75":{"start":{"line":261,"column":4},"end":{"line":261,"column":47}},"76":{"start":{"line":256,"column":0},"end":{"line":263,"column":1}},"77":{"start":{"line":272,"column":4},"end":{"line":272,"column":19}},"78":{"start":{"line":269,"column":12},"end":{"line":269,"column":37}},"79":{"start":{"line":273,"column":4},"end":{"line":273,"column":45}},"80":{"start":{"line":268,"column":0},"end":{"line":275,"column":1}},"81":{"start":{"line":284,"column":4},"end":{"line":284,"column":19}},"82":{"start":{"line":281,"column":12},"end":{"line":281,"column":37}},"83":{"start":{"line":285,"column":4},"end":{"line":285,"column":47}},"84":{"start":{"line":280,"column":0},"end":{"line":287,"column":1}},"85":{"start":{"line":296,"column":4},"end":{"line":296,"column":19}},"86":{"start":{"line":293,"column":12},"end":{"line":293,"column":37}},"87":{"start":{"line":297,"column":4},"end":{"line":297,"column":43}},"88":{"start":{"line":292,"column":0},"end":{"line":299,"column":1}},"89":{"start":{"line":308,"column":4},"end":{"line":308,"column":19}},"90":{"start":{"line":305,"column":12},"end":{"line":305,"column":37}},"91":{"start":{"line":309,"column":4},"end":{"line":309,"column":54}},"92":{"start":{"line":304,"column":0},"end":{"line":311,"column":1}},"93":{"start":{"line":320,"column":4},"end":{"line":320,"column":19}},"94":{"start":{"line":317,"column":12},"end":{"line":317,"column":37}},"95":{"start":{"line":321,"column":4},"end":{"line":321,"column":47}},"96":{"start":{"line":316,"column":0},"end":{"line":323,"column":1}},"97":{"start":{"line":332,"column":4},"end":{"line":332,"column":19}},"98":{"start":{"line":329,"column":12},"end":{"line":329,"column":37}},"99":{"start":{"line":333,"column":4},"end":{"line":333,"column":42}},"100":{"start":{"line":328,"column":0},"end":{"line":335,"column":1}},"101":{"start":{"line":344,"column":4},"end":{"line":344,"column":19}},"102":{"start":{"line":341,"column":12},"end":{"line":341,"column":37}},"103":{"start":{"line":345,"column":4},"end":{"line":345,"column":46}},"104":{"start":{"line":340,"column":0},"end":{"line":347,"column":1}},"105":{"start":{"line":356,"column":4},"end":{"line":356,"column":19}},"106":{"start":{"line":353,"column":12},"end":{"line":353,"column":37}},"107":{"start":{"line":357,"column":4},"end":{"line":357,"column":47}},"108":{"start":{"line":352,"column":0},"end":{"line":359,"column":1}},"109":{"start":{"line":366,"column":4},"end":{"line":366,"column":19}},"110":{"start":{"line":367,"column":4},"end":{"line":367,"column":23}},"111":{"start":{"line":364,"column":0},"end":{"line":369,"column":1}},"112":{"start":{"line":377,"column":0},"end":{"line":383,"column":1}},"113":{"start":{"line":378,"column":2},"end":{"line":381,"column":3}},"114":{"start":{"line":379,"column":4},"end":{"line":379,"column":33}},"115":{"start":{"line":380,"column":4},"end":{"line":380,"column":21}},"116":{"start":{"line":382,"column":2},"end":{"line":382,"column":11}}},"fnMap":{"1":{"name":"(anonymous_1)","line":39,"loc":{"start":{"line":39,"column":2},"end":{"line":39,"column":36}}},"2":{"name":"(anonymous_2)","line":51,"loc":{"start":{"line":51,"column":2},"end":{"line":51,"column":29}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":15},"end":{"line":null,"column":-1}}},"4":{"name":"(anonymous_4)","line":67,"loc":{"start":{"line":67,"column":2},"end":{"line":67,"column":45}}},"5":{"name":"(anonymous_5)","line":79,"loc":{"start":{"line":79,"column":2},"end":{"line":79,"column":46}}},"6":{"name":"(anonymous_6)","line":91,"loc":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}}},"7":{"name":"(anonymous_7)","line":103,"loc":{"start":{"line":103,"column":2},"end":{"line":103,"column":43}}},"8":{"name":"(anonymous_8)","line":115,"loc":{"start":{"line":115,"column":2},"end":{"line":115,"column":43}}},"9":{"name":"(anonymous_9)","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":127,"column":52}}},"10":{"name":"(anonymous_10)","line":139,"loc":{"start":{"line":139,"column":2},"end":{"line":139,"column":48}}},"11":{"name":"(anonymous_11)","line":151,"loc":{"start":{"line":151,"column":2},"end":{"line":151,"column":63}}},"12":{"name":"(anonymous_12)","line":163,"loc":{"start":{"line":163,"column":2},"end":{"line":163,"column":49}}},"13":{"name":"(anonymous_13)","line":175,"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":42}}},"14":{"name":"(anonymous_14)","line":187,"loc":{"start":{"line":187,"column":2},"end":{"line":187,"column":38}}},"15":{"name":"(anonymous_15)","line":199,"loc":{"start":{"line":199,"column":2},"end":{"line":199,"column":49}}},"16":{"name":"(anonymous_16)","line":211,"loc":{"start":{"line":211,"column":2},"end":{"line":211,"column":53}}},"17":{"name":"(anonymous_17)","line":223,"loc":{"start":{"line":223,"column":2},"end":{"line":223,"column":51}}},"18":{"name":"(anonymous_18)","line":235,"loc":{"start":{"line":235,"column":2},"end":{"line":235,"column":46}}},"19":{"name":"(anonymous_19)","line":247,"loc":{"start":{"line":247,"column":2},"end":{"line":247,"column":56}}},"20":{"name":"(anonymous_20)","line":259,"loc":{"start":{"line":259,"column":2},"end":{"line":259,"column":55}}},"21":{"name":"(anonymous_21)","line":271,"loc":{"start":{"line":271,"column":2},"end":{"line":271,"column":52}}},"22":{"name":"(anonymous_22)","line":283,"loc":{"start":{"line":283,"column":2},"end":{"line":283,"column":54}}},"23":{"name":"(anonymous_23)","line":295,"loc":{"start":{"line":295,"column":2},"end":{"line":295,"column":51}}},"24":{"name":"(anonymous_24)","line":307,"loc":{"start":{"line":307,"column":2},"end":{"line":307,"column":63}}},"25":{"name":"(anonymous_25)","line":319,"loc":{"start":{"line":319,"column":2},"end":{"line":319,"column":55}}},"26":{"name":"(anonymous_26)","line":331,"loc":{"start":{"line":331,"column":2},"end":{"line":331,"column":49}}},"27":{"name":"(anonymous_27)","line":343,"loc":{"start":{"line":343,"column":2},"end":{"line":343,"column":53}}},"28":{"name":"(anonymous_28)","line":355,"loc":{"start":{"line":355,"column":2},"end":{"line":355,"column":54}}},"29":{"name":"(anonymous_29)","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":365,"column":77}}},"30":{"name":"transformToException","line":377,"loc":{"start":{"line":377,"column":0},"end":{"line":377,"column":43}}}},"branchMap":{"1":{"line":378,"type":"if","locations":[{"start":{"line":378,"column":2},"end":{"line":378,"column":1}},{"start":{"line":378,"column":2},"end":{"line":378,"column":1}}]}},"s":{"1":27,"2":27,"3":1,"4":26,"5":26,"6":26,"7":25,"8":1,"9":2,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":2,"113":2,"114":1,"115":1,"116":2},"b":{"1":[1,1]},"f":{"1":27,"2":26,"3":25,"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2},"l":{"34":1,"39":27,"40":27,"47":1,"49":26,"52":26,"53":26,"57":25,"64":1,"65":2,"68":2,"69":2,"76":1,"77":1,"80":1,"81":1,"88":1,"89":1,"92":1,"93":1,"100":1,"101":1,"104":1,"105":1,"112":1,"113":1,"116":1,"117":1,"124":1,"125":1,"128":1,"129":1,"136":1,"137":1,"140":1,"141":1,"148":1,"149":1,"152":1,"153":1,"160":1,"161":1,"164":1,"165":1,"172":1,"173":1,"176":1,"177":1,"184":1,"185":1,"188":1,"189":1,"196":1,"197":1,"200":1,"201":1,"208":1,"209":1,"212":1,"213":1,"220":1,"221":1,"224":1,"225":1,"232":1,"233":1,"236":1,"237":1,"244":1,"245":1,"248":1,"249":1,"256":1,"257":1,"260":1,"261":1,"268":1,"269":1,"272":1,"273":1,"280":1,"281":1,"284":1,"285":1,"292":1,"293":1,"296":1,"297":1,"304":1,"305":1,"308":1,"309":1,"316":1,"317":1,"320":1,"321":1,"328":1,"329":1,"332":1,"333":1,"340":1,"341":1,"344":1,"345":1,"352":1,"353":1,"356":1,"357":1,"364":1,"366":1,"367":1,"377":2,"378":2,"379":1,"380":1,"382":2}}}
{"src/index.ts":{"path":"src/index.ts","statementMap":{"1":{"start":{"line":39,"column":21},"end":{"line":39,"column":36}},"2":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"3":{"start":{"line":34,"column":0},"end":{"line":42,"column":1}},"4":{"start":{"line":52,"column":4},"end":{"line":52,"column":19}},"5":{"start":{"line":49,"column":12},"end":{"line":49,"column":37}},"6":{"start":{"line":53,"column":4},"end":{"line":53,"column":32}},"7":{"start":{"line":57,"column":4},"end":{"line":57,"column":27}},"8":{"start":{"line":47,"column":0},"end":{"line":59,"column":1}},"9":{"start":{"line":68,"column":4},"end":{"line":68,"column":19}},"10":{"start":{"line":65,"column":12},"end":{"line":65,"column":37}},"11":{"start":{"line":69,"column":4},"end":{"line":69,"column":38}},"12":{"start":{"line":64,"column":0},"end":{"line":71,"column":1}},"13":{"start":{"line":80,"column":4},"end":{"line":80,"column":19}},"14":{"start":{"line":77,"column":12},"end":{"line":77,"column":37}},"15":{"start":{"line":81,"column":4},"end":{"line":81,"column":40}},"16":{"start":{"line":76,"column":0},"end":{"line":83,"column":1}},"17":{"start":{"line":92,"column":4},"end":{"line":92,"column":19}},"18":{"start":{"line":89,"column":12},"end":{"line":89,"column":37}},"19":{"start":{"line":93,"column":4},"end":{"line":93,"column":43}},"20":{"start":{"line":88,"column":0},"end":{"line":95,"column":1}},"21":{"start":{"line":104,"column":4},"end":{"line":104,"column":19}},"22":{"start":{"line":101,"column":12},"end":{"line":101,"column":37}},"23":{"start":{"line":105,"column":4},"end":{"line":105,"column":37}},"24":{"start":{"line":100,"column":0},"end":{"line":107,"column":1}},"25":{"start":{"line":116,"column":4},"end":{"line":116,"column":19}},"26":{"start":{"line":113,"column":12},"end":{"line":113,"column":37}},"27":{"start":{"line":117,"column":4},"end":{"line":117,"column":36}},"28":{"start":{"line":112,"column":0},"end":{"line":119,"column":1}},"29":{"start":{"line":128,"column":4},"end":{"line":128,"column":19}},"30":{"start":{"line":125,"column":12},"end":{"line":125,"column":37}},"31":{"start":{"line":129,"column":4},"end":{"line":129,"column":44}},"32":{"start":{"line":124,"column":0},"end":{"line":131,"column":1}},"33":{"start":{"line":140,"column":4},"end":{"line":140,"column":19}},"34":{"start":{"line":137,"column":12},"end":{"line":137,"column":37}},"35":{"start":{"line":141,"column":4},"end":{"line":141,"column":41}},"36":{"start":{"line":136,"column":0},"end":{"line":143,"column":1}},"37":{"start":{"line":152,"column":4},"end":{"line":152,"column":19}},"38":{"start":{"line":149,"column":12},"end":{"line":149,"column":37}},"39":{"start":{"line":153,"column":4},"end":{"line":153,"column":55}},"40":{"start":{"line":148,"column":0},"end":{"line":155,"column":1}},"41":{"start":{"line":164,"column":4},"end":{"line":164,"column":19}},"42":{"start":{"line":161,"column":12},"end":{"line":161,"column":37}},"43":{"start":{"line":165,"column":4},"end":{"line":165,"column":42}},"44":{"start":{"line":160,"column":0},"end":{"line":167,"column":1}},"45":{"start":{"line":176,"column":4},"end":{"line":176,"column":19}},"46":{"start":{"line":173,"column":12},"end":{"line":173,"column":37}},"47":{"start":{"line":177,"column":4},"end":{"line":177,"column":36}},"48":{"start":{"line":172,"column":0},"end":{"line":179,"column":1}},"49":{"start":{"line":188,"column":4},"end":{"line":188,"column":19}},"50":{"start":{"line":185,"column":12},"end":{"line":185,"column":37}},"51":{"start":{"line":189,"column":4},"end":{"line":189,"column":32}},"52":{"start":{"line":184,"column":0},"end":{"line":191,"column":1}},"53":{"start":{"line":200,"column":4},"end":{"line":200,"column":19}},"54":{"start":{"line":197,"column":12},"end":{"line":197,"column":37}},"55":{"start":{"line":201,"column":4},"end":{"line":201,"column":42}},"56":{"start":{"line":196,"column":0},"end":{"line":203,"column":1}},"57":{"start":{"line":212,"column":4},"end":{"line":212,"column":19}},"58":{"start":{"line":209,"column":12},"end":{"line":209,"column":37}},"59":{"start":{"line":213,"column":4},"end":{"line":213,"column":46}},"60":{"start":{"line":208,"column":0},"end":{"line":215,"column":1}},"61":{"start":{"line":224,"column":4},"end":{"line":224,"column":19}},"62":{"start":{"line":221,"column":12},"end":{"line":221,"column":37}},"63":{"start":{"line":225,"column":4},"end":{"line":225,"column":43}},"64":{"start":{"line":220,"column":0},"end":{"line":227,"column":1}},"65":{"start":{"line":236,"column":4},"end":{"line":236,"column":19}},"66":{"start":{"line":233,"column":12},"end":{"line":233,"column":37}},"67":{"start":{"line":237,"column":4},"end":{"line":237,"column":38}},"68":{"start":{"line":232,"column":0},"end":{"line":239,"column":1}},"69":{"start":{"line":248,"column":4},"end":{"line":248,"column":19}},"70":{"start":{"line":245,"column":12},"end":{"line":245,"column":37}},"71":{"start":{"line":249,"column":4},"end":{"line":249,"column":48}},"72":{"start":{"line":244,"column":0},"end":{"line":251,"column":1}},"73":{"start":{"line":260,"column":4},"end":{"line":260,"column":19}},"74":{"start":{"line":257,"column":12},"end":{"line":257,"column":37}},"75":{"start":{"line":261,"column":4},"end":{"line":261,"column":47}},"76":{"start":{"line":256,"column":0},"end":{"line":263,"column":1}},"77":{"start":{"line":272,"column":4},"end":{"line":272,"column":19}},"78":{"start":{"line":269,"column":12},"end":{"line":269,"column":37}},"79":{"start":{"line":273,"column":4},"end":{"line":273,"column":45}},"80":{"start":{"line":268,"column":0},"end":{"line":275,"column":1}},"81":{"start":{"line":284,"column":4},"end":{"line":284,"column":19}},"82":{"start":{"line":281,"column":12},"end":{"line":281,"column":37}},"83":{"start":{"line":285,"column":4},"end":{"line":285,"column":47}},"84":{"start":{"line":280,"column":0},"end":{"line":287,"column":1}},"85":{"start":{"line":296,"column":4},"end":{"line":296,"column":19}},"86":{"start":{"line":293,"column":12},"end":{"line":293,"column":37}},"87":{"start":{"line":297,"column":4},"end":{"line":297,"column":43}},"88":{"start":{"line":292,"column":0},"end":{"line":299,"column":1}},"89":{"start":{"line":308,"column":4},"end":{"line":308,"column":19}},"90":{"start":{"line":305,"column":12},"end":{"line":305,"column":37}},"91":{"start":{"line":309,"column":4},"end":{"line":309,"column":54}},"92":{"start":{"line":304,"column":0},"end":{"line":311,"column":1}},"93":{"start":{"line":320,"column":4},"end":{"line":320,"column":19}},"94":{"start":{"line":317,"column":12},"end":{"line":317,"column":37}},"95":{"start":{"line":321,"column":4},"end":{"line":321,"column":47}},"96":{"start":{"line":316,"column":0},"end":{"line":323,"column":1}},"97":{"start":{"line":332,"column":4},"end":{"line":332,"column":19}},"98":{"start":{"line":329,"column":12},"end":{"line":329,"column":37}},"99":{"start":{"line":333,"column":4},"end":{"line":333,"column":42}},"100":{"start":{"line":328,"column":0},"end":{"line":335,"column":1}},"101":{"start":{"line":344,"column":4},"end":{"line":344,"column":19}},"102":{"start":{"line":341,"column":12},"end":{"line":341,"column":37}},"103":{"start":{"line":345,"column":4},"end":{"line":345,"column":46}},"104":{"start":{"line":340,"column":0},"end":{"line":347,"column":1}},"105":{"start":{"line":356,"column":4},"end":{"line":356,"column":19}},"106":{"start":{"line":353,"column":12},"end":{"line":353,"column":37}},"107":{"start":{"line":357,"column":4},"end":{"line":357,"column":47}},"108":{"start":{"line":352,"column":0},"end":{"line":359,"column":1}},"109":{"start":{"line":366,"column":4},"end":{"line":366,"column":19}},"110":{"start":{"line":367,"column":4},"end":{"line":367,"column":23}},"111":{"start":{"line":364,"column":0},"end":{"line":369,"column":1}},"112":{"start":{"line":377,"column":0},"end":{"line":383,"column":1}},"113":{"start":{"line":378,"column":2},"end":{"line":381,"column":3}},"114":{"start":{"line":379,"column":4},"end":{"line":379,"column":33}},"115":{"start":{"line":380,"column":4},"end":{"line":380,"column":21}},"116":{"start":{"line":382,"column":2},"end":{"line":382,"column":11}}},"fnMap":{"1":{"name":"(anonymous_1)","line":39,"loc":{"start":{"line":39,"column":2},"end":{"line":39,"column":36}}},"2":{"name":"(anonymous_2)","line":51,"loc":{"start":{"line":51,"column":2},"end":{"line":51,"column":29}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":15},"end":{"line":null,"column":-1}}},"4":{"name":"(anonymous_4)","line":67,"loc":{"start":{"line":67,"column":2},"end":{"line":67,"column":45}}},"5":{"name":"(anonymous_5)","line":79,"loc":{"start":{"line":79,"column":2},"end":{"line":79,"column":46}}},"6":{"name":"(anonymous_6)","line":91,"loc":{"start":{"line":91,"column":2},"end":{"line":91,"column":50}}},"7":{"name":"(anonymous_7)","line":103,"loc":{"start":{"line":103,"column":2},"end":{"line":103,"column":43}}},"8":{"name":"(anonymous_8)","line":115,"loc":{"start":{"line":115,"column":2},"end":{"line":115,"column":43}}},"9":{"name":"(anonymous_9)","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":127,"column":52}}},"10":{"name":"(anonymous_10)","line":139,"loc":{"start":{"line":139,"column":2},"end":{"line":139,"column":48}}},"11":{"name":"(anonymous_11)","line":151,"loc":{"start":{"line":151,"column":2},"end":{"line":151,"column":63}}},"12":{"name":"(anonymous_12)","line":163,"loc":{"start":{"line":163,"column":2},"end":{"line":163,"column":49}}},"13":{"name":"(anonymous_13)","line":175,"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":42}}},"14":{"name":"(anonymous_14)","line":187,"loc":{"start":{"line":187,"column":2},"end":{"line":187,"column":38}}},"15":{"name":"(anonymous_15)","line":199,"loc":{"start":{"line":199,"column":2},"end":{"line":199,"column":49}}},"16":{"name":"(anonymous_16)","line":211,"loc":{"start":{"line":211,"column":2},"end":{"line":211,"column":53}}},"17":{"name":"(anonymous_17)","line":223,"loc":{"start":{"line":223,"column":2},"end":{"line":223,"column":51}}},"18":{"name":"(anonymous_18)","line":235,"loc":{"start":{"line":235,"column":2},"end":{"line":235,"column":46}}},"19":{"name":"(anonymous_19)","line":247,"loc":{"start":{"line":247,"column":2},"end":{"line":247,"column":56}}},"20":{"name":"(anonymous_20)","line":259,"loc":{"start":{"line":259,"column":2},"end":{"line":259,"column":55}}},"21":{"name":"(anonymous_21)","line":271,"loc":{"start":{"line":271,"column":2},"end":{"line":271,"column":52}}},"22":{"name":"(anonymous_22)","line":283,"loc":{"start":{"line":283,"column":2},"end":{"line":283,"column":54}}},"23":{"name":"(anonymous_23)","line":295,"loc":{"start":{"line":295,"column":2},"end":{"line":295,"column":51}}},"24":{"name":"(anonymous_24)","line":307,"loc":{"start":{"line":307,"column":2},"end":{"line":307,"column":63}}},"25":{"name":"(anonymous_25)","line":319,"loc":{"start":{"line":319,"column":2},"end":{"line":319,"column":55}}},"26":{"name":"(anonymous_26)","line":331,"loc":{"start":{"line":331,"column":2},"end":{"line":331,"column":49}}},"27":{"name":"(anonymous_27)","line":343,"loc":{"start":{"line":343,"column":2},"end":{"line":343,"column":53}}},"28":{"name":"(anonymous_28)","line":355,"loc":{"start":{"line":355,"column":2},"end":{"line":355,"column":54}}},"29":{"name":"(anonymous_29)","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":365,"column":77}}},"30":{"name":"transformToException","line":377,"loc":{"start":{"line":377,"column":0},"end":{"line":377,"column":43}}}},"branchMap":{"1":{"line":378,"type":"if","locations":[{"start":{"line":378,"column":2},"end":{"line":378,"column":1}},{"start":{"line":378,"column":2},"end":{"line":378,"column":1}}]}},"s":{"1":27,"2":27,"3":1,"4":26,"5":26,"6":26,"7":25,"8":1,"9":2,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":2,"113":2,"114":1,"115":1,"116":2},"b":{"1":[1,1]},"f":{"1":27,"2":26,"3":25,"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":2},"l":{"34":1,"39":27,"40":27,"47":1,"49":26,"52":26,"53":26,"57":25,"64":1,"65":2,"68":2,"69":2,"76":1,"77":1,"80":1,"81":1,"88":1,"89":1,"92":1,"93":1,"100":1,"101":1,"104":1,"105":1,"112":1,"113":1,"116":1,"117":1,"124":1,"125":1,"128":1,"129":1,"136":1,"137":1,"140":1,"141":1,"148":1,"149":1,"152":1,"153":1,"160":1,"161":1,"164":1,"165":1,"172":1,"173":1,"176":1,"177":1,"184":1,"185":1,"188":1,"189":1,"196":1,"197":1,"200":1,"201":1,"208":1,"209":1,"212":1,"213":1,"220":1,"221":1,"224":1,"225":1,"232":1,"233":1,"236":1,"237":1,"244":1,"245":1,"248":1,"249":1,"256":1,"257":1,"260":1,"261":1,"268":1,"269":1,"272":1,"273":1,"280":1,"281":1,"284":1,"285":1,"292":1,"293":1,"296":1,"297":1,"304":1,"305":1,"308":1,"309":1,"316":1,"317":1,"320":1,"321":1,"328":1,"329":1,"332":1,"333":1,"340":1,"341":1,"344":1,"345":1,"352":1,"353":1,"356":1,"357":1,"364":1,"366":1,"367":1,"377":2,"378":2,"379":1,"380":1,"382":2}}}
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}
.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }
.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
/* dark yellow (gold) */
.medium .chart { border:1px solid #f9cd0b; }
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
/* light yellow */
.medium { background: #fff4c2; }
/* light gray */
span.cline-neutral { background: #eaeaea; }
.cbranch-no { background: yellow !important; color: #111; }
.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }
.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for All files</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
/
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>118/118</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>118/118</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="src/"><a href="src/index.html">src/</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="118" class="abs high">118/118</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="30" class="abs high">30/30</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="118" class="abs high">118/118</td>
</tr>
</tbody>
</table>
</div><div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:26 GMT+0200 (EET)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);

Sorry, the diff of this file is not supported yet

var addSorting = (function () {
"use strict";
var cols,
currentSort = {
index: 0,
desc: false
};
// returns the summary table element
function getTable() { return document.querySelector('.coverage-summary'); }
// returns the thead element of the summary table
function getTableHeader() { return getTable().querySelector('thead tr'); }
// returns the tbody element of the summary table
function getTableBody() { return getTable().querySelector('tbody'); }
// returns the th element for nth column
function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
// loads all columns
function loadColumns() {
var colNodes = getTableHeader().querySelectorAll('th'),
colNode,
cols = [],
col,
i;
for (i = 0; i < colNodes.length; i += 1) {
colNode = colNodes[i];
col = {
key: colNode.getAttribute('data-col'),
sortable: !colNode.getAttribute('data-nosort'),
type: colNode.getAttribute('data-type') || 'string'
};
cols.push(col);
if (col.sortable) {
col.defaultDescSort = col.type === 'number';
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
}
}
return cols;
}
// attaches a data attribute to every tr element with an object
// of data values keyed by column name
function loadRowData(tableRow) {
var tableCols = tableRow.querySelectorAll('td'),
colNode,
col,
data = {},
i,
val;
for (i = 0; i < tableCols.length; i += 1) {
colNode = tableCols[i];
col = cols[i];
val = colNode.getAttribute('data-value');
if (col.type === 'number') {
val = Number(val);
}
data[col.key] = val;
}
return data;
}
// loads all row data
function loadData() {
var rows = getTableBody().querySelectorAll('tr'),
i;
for (i = 0; i < rows.length; i += 1) {
rows[i].data = loadRowData(rows[i]);
}
}
// sorts the table using the data for the ith column
function sortByIndex(index, desc) {
var key = cols[index].key,
sorter = function (a, b) {
a = a.data[key];
b = b.data[key];
return a < b ? -1 : a > b ? 1 : 0;
},
finalSorter = sorter,
tableBody = document.querySelector('.coverage-summary tbody'),
rowNodes = tableBody.querySelectorAll('tr'),
rows = [],
i;
if (desc) {
finalSorter = function (a, b) {
return -1 * sorter(a, b);
};
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
rows.sort(finalSorter);
for (i = 0; i < rows.length; i += 1) {
tableBody.appendChild(rows[i]);
}
}
// removes sort indicators for current column being sorted
function removeSortIndicators() {
var col = getNthColumn(currentSort.index),
cls = col.className;
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
col.className = cls;
}
// adds sort indicators for current column being sorted
function addSortIndicators() {
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
}
// adds event listeners for all sorter widgets
function enableUI() {
var i,
el,
ithSorter = function ithSorter(i) {
var col = cols[i];
return function () {
var desc = col.defaultDescSort;
if (currentSort.index === i) {
desc = !currentSort.desc;
}
sortByIndex(i, desc);
removeSortIndicators();
currentSort.index = i;
currentSort.desc = desc;
addSortIndicators();
};
};
for (i =0 ; i < cols.length; i += 1) {
if (cols[i].sortable) {
// add the click event handler on the th so users
// dont have to click on those tiny arrows
el = getNthColumn(i).querySelector('.sorter').parentElement;
if (el.addEventListener) {
el.addEventListener('click', ithSorter(i));
} else {
el.attachEvent('onclick', ithSorter(i));
}
}
}
}
// adds sorting functionality to the UI
return function () {
if (!getTable()) {
return;
}
cols = loadColumns();
loadData(cols);
addSortIndicators();
enableUI();
};
})();
window.addEventListener('load', addSorting);
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for src/</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="../prettify.css" />
<link rel="stylesheet" href="../base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="../index.html">all files</a> src/
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>118/118</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>118/118</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="118" class="abs high">118/118</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="30" class="abs high">30/30</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="118" class="abs high">118/118</td>
</tr>
</tbody>
</table>
</div><div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:26 GMT+0200 (EET)
</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for src/index.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="../prettify.css" />
<link rel="stylesheet" href="../base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="../index.html">all files</a> / <a href="index.html">src/</a> index.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>118/118</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>118/118</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">27×</span>
<span class="cline-any cline-yes">27×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">25×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Defines base Error class
*/
class Exception {
constructor(message) {
this.message = message;
this.name = 'Exception';
}
}
exports.Exception = Exception;
/**
* Defines Error class for abstract http exception
*/
class HttpException extends Exception {
constructor(message) {
super(message);
this.statusCode = 500;
this.name = 'HttpException';
}
getStatusCode() {
return this.statusCode;
}
}
exports.HttpException = HttpException;
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
class BadRequestException extends HttpException {
constructor(message = 'Bad Request') {
super(message);
this.statusCode = 400;
this.name = 'BadRequestException';
}
}
exports.BadRequestException = BadRequestException;
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
class UnauthorizedException extends HttpException {
constructor(message = 'Unauthorized') {
super(message);
this.statusCode = 401;
this.name = 'UnauthorizedException';
}
}
exports.UnauthorizedException = UnauthorizedException;
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
class PaymentRequiredException extends HttpException {
constructor(message = 'Payment Required') {
super(message);
this.statusCode = 402;
this.name = 'PaymentRequiredException';
}
}
exports.PaymentRequiredException = PaymentRequiredException;
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
class ForbiddenException extends HttpException {
constructor(message = 'Forbidden') {
super(message);
this.statusCode = 403;
this.name = 'ForbiddenException';
}
}
exports.ForbiddenException = ForbiddenException;
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
class NotFoundException extends HttpException {
constructor(message = 'Not Found') {
super(message);
this.statusCode = 404;
this.name = 'NotFoundException';
}
}
exports.NotFoundException = NotFoundException;
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
class MethodNotAllowedException extends HttpException {
constructor(message = 'Method Not Allowed') {
super(message);
this.statusCode = 405;
this.name = 'MethodNotAllowedException';
}
}
exports.MethodNotAllowedException = MethodNotAllowedException;
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
class NotAcceptableException extends HttpException {
constructor(message = 'Not Acceptable') {
super(message);
this.statusCode = 406;
this.name = 'NotAcceptableException';
}
}
exports.NotAcceptableException = NotAcceptableException;
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
class ProxyAuthenticationRequiredException extends HttpException {
constructor(message = 'Proxy Authentication Required') {
super(message);
this.statusCode = 407;
this.name = 'ProxyAuthenticationRequiredException';
}
}
exports.ProxyAuthenticationRequiredException = ProxyAuthenticationRequiredException;
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
class RequestTimeoutException extends HttpException {
constructor(message = 'Request Timeout') {
super(message);
this.statusCode = 408;
this.name = 'RequestTimeoutException';
}
}
exports.RequestTimeoutException = RequestTimeoutException;
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
class ConflictException extends HttpException {
constructor(message = 'Conflict') {
super(message);
this.statusCode = 409;
this.name = 'ConflictException';
}
}
exports.ConflictException = ConflictException;
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
class GoneException extends HttpException {
constructor(message = 'Gone') {
super(message);
this.statusCode = 410;
this.name = 'GoneException';
}
}
exports.GoneException = GoneException;
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
class LengthRequiredException extends HttpException {
constructor(message = 'Length Required') {
super(message);
this.statusCode = 411;
this.name = 'LengthRequiredException';
}
}
exports.LengthRequiredException = LengthRequiredException;
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
class PreconditionFailedException extends HttpException {
constructor(message = 'Precondition Failed') {
super(message);
this.statusCode = 412;
this.name = 'PreconditionFailedException';
}
}
exports.PreconditionFailedException = PreconditionFailedException;
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
class PayloadTooLargeException extends HttpException {
constructor(message = 'Payload Too Large') {
super(message);
this.statusCode = 413;
this.name = 'PayloadTooLargeException';
}
}
exports.PayloadTooLargeException = PayloadTooLargeException;
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
class URITooLongException extends HttpException {
constructor(message = 'URI Too Long') {
super(message);
this.statusCode = 414;
this.name = 'URITooLongException';
}
}
exports.URITooLongException = URITooLongException;
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
class UnsupportedMediaTypeException extends HttpException {
constructor(message = 'Unsupported Media Type') {
super(message);
this.statusCode = 415;
this.name = 'UnsupportedMediaTypeException';
}
}
exports.UnsupportedMediaTypeException = UnsupportedMediaTypeException;
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
class RangeNotSatisfiableException extends HttpException {
constructor(message = 'Range Not Satisfiable') {
super(message);
this.statusCode = 416;
this.name = 'RangeNotSatisfiableException';
}
}
exports.RangeNotSatisfiableException = RangeNotSatisfiableException;
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
class ExpectationFailedException extends HttpException {
constructor(message = 'Expectation Failed') {
super(message);
this.statusCode = 417;
this.name = 'ExpectationFailedException';
}
}
exports.ExpectationFailedException = ExpectationFailedException;
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
class UnprocessableEntityException extends HttpException {
constructor(message = 'Unprocessable Entity') {
super(message);
this.statusCode = 422;
this.name = 'UnprocessableEntityException';
}
}
exports.UnprocessableEntityException = UnprocessableEntityException;
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
class TooManyRequestsException extends HttpException {
constructor(message = 'Too Many Requests') {
super(message);
this.statusCode = 429;
this.name = 'TooManyRequestsException';
}
}
exports.TooManyRequestsException = TooManyRequestsException;
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
class UnavailableForLegalReasonsException extends HttpException {
constructor(message = 'Unavailable For Legal Reasons') {
super(message);
this.statusCode = 451;
this.name = 'UnavailableForLegalReasonsException';
}
}
exports.UnavailableForLegalReasonsException = UnavailableForLegalReasonsException;
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
class InternalServerErrorException extends HttpException {
constructor(message = 'Internal Server Error') {
super(message);
this.statusCode = 500;
this.name = 'InternalServerErrorException';
}
}
exports.InternalServerErrorException = InternalServerErrorException;
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
class NotImplementedException extends HttpException {
constructor(message = 'Not Implemented') {
super(message);
this.statusCode = 501;
this.name = 'NotImplementedException';
}
}
exports.NotImplementedException = NotImplementedException;
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
class ServiceUnavailableException extends HttpException {
constructor(message = 'Service Unavailable') {
super(message);
this.statusCode = 503;
this.name = 'ServiceUnavailableException';
}
}
exports.ServiceUnavailableException = ServiceUnavailableException;
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
class InsufficientStorageException extends HttpException {
constructor(message = 'Insufficient Storage') {
super(message);
this.statusCode = 507;
this.name = 'InsufficientStorageException';
}
}
exports.InsufficientStorageException = InsufficientStorageException;
/**
* Defines Error class for Validation http-exceptions
*/
class ValidationException extends BadRequestException {
constructor(message = 'Validation error', errors) {
super(message);
this.data = errors;
}
}
exports.ValidationException = ValidationException;
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
function transformToException(e) {
if (!(e instanceof Exception)) {
e = new Exception(e.message);
e.data = e.stack;
}
return e;
}
exports.transformToException = transformToException;
//# sourceMappingURL=index.js.map</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:26 GMT+0200 (EET)
</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>

Sorry, the diff of this file is not supported yet

import {Gulpclass, Task, SequenceTask, MergedTask} from 'gulpclass';
import * as gulp from 'gulp';
import * as fs from 'fs';
const del = require('del');
const shell = require('gulp-shell');
const replace = require('gulp-replace');
const mocha = require('gulp-mocha');
const chai = require('chai');
const tslint = require('gulp-tslint');
const stylish = require('tslint-stylish');
const ts = require('gulp-typescript');
const sourcemaps = require('gulp-sourcemaps');
const istanbul = require('gulp-istanbul');
const remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul');
@Gulpclass()
export class Gulpfile {
// -------------------------------------------------------------------------
// General tasks
// -------------------------------------------------------------------------
/**
* Cleans build folder.
*/
@Task()
clean(cb: Function) {
return del([
'build/**',
'!build',
'!build/package',
'!build/package/node_modules',
'!build/package/node_modules/**'
], cb);
}
/**
* Runs typescript files compilation.
*/
@Task()
compile() {
return gulp.src('*.ts', { read: false })
.pipe(shell(['tsc']));
}
/**
* Runs typescript file watcher.
*/
@Task()
watch() {
return gulp.watch([__dirname + '/*.ts'], () => {
console.log('compiling..');
this.compile();
});
}
// -------------------------------------------------------------------------
// Packaging and Publishing tasks
// -------------------------------------------------------------------------
/**
* Publishes a package to npm from ./build/package directory.
*/
@Task()
npmPublish() {
return gulp.src('*.js', { read: false })
.pipe(shell([
'cd ./build/package && npm publish --access=public'
]));
}
/**
* Copies all sources to the package directory.
*/
@MergedTask()
packageCompile() {
const tsProject = ts.createProject('tsconfig.json');
const tsResult = gulp.src(['./src/**/*.ts'])
.pipe(sourcemaps.init())
.pipe(tsProject());
return [
tsResult.dts.pipe(gulp.dest('./build/package')),
tsResult.js
.pipe(sourcemaps.write('.', { sourceRoot: '', includeContent: true }))
.pipe(gulp.dest('./build/package'))
];
}
/**
* Moves all compiled files to the final package directory.
*/
@Task()
packageMoveCompiledFiles() {
return gulp.src('./build/package/src/**/*')
.pipe(gulp.dest('./build/package'));
}
/**
* Moves all compiled files to the final package directory.
*/
@Task()
packageClearCompileDirectory(cb: Function) {
return del([
'build/package/src/**'
], cb);
}
/**
* Change the 'private' state of the packaged package.json file to public.
*/
@Task()
packagePreparePackageFile() {
return gulp.src('./package.json')
.pipe(replace('\'private\': true,', '\'private\': false,'))
.pipe(gulp.dest('./build/package'));
}
/**
* This task will replace all typescript code blocks in the README (since npm does not support typescript syntax
* highlighting) and copy this README file into the package folder.
*/
@Task()
packageReadmeFile() {
return gulp.src('./README.md')
.pipe(replace(/```typescript([\s\S]*?)```/g, '```javascript$1```'))
.pipe(gulp.dest('./build/package'));
}
/**
* Creates a package that can be published to npm.
*/
@SequenceTask()
package() {
return [
'clean',
'packageCompile',
'packageMoveCompiledFiles',
'packageClearCompileDirectory',
['packagePreparePackageFile', 'packageReadmeFile']
];
}
/**
* Creates a package and publishes it to npm.
*/
@SequenceTask()
publish() {
return ['package', 'npmPublish'];
}
// -------------------------------------------------------------------------
// Run tests tasks
// -------------------------------------------------------------------------
/**
* Runs ts linting to validate source code.
*/
@Task()
tslint() {
return gulp.src(['./test/**/*.ts'])
.pipe(tslint())
.pipe(tslint.report(stylish, {
emitError: true,
sort: true,
bell: true
}));
}
/**
* Runs unit-tests.
*/
@Task()
unit() {
chai.should();
chai.use(require('sinon-chai'));
chai.use(require('chai-as-promised'));
return gulp.src('./build/compiled/test/**/*.js')
.pipe(mocha());
}
/**
* Runs before test coverage, required step to perform a test coverage.
*/
@Task()
coveragePre() {
return gulp.src(['./build/compiled/src/**/*.js'])
.pipe(istanbul())
.pipe(istanbul.hookRequire());
}
/**
* Runs post coverage operations.
*/
@Task('coveragePost', ['coveragePre'])
coveragePost() {
chai.should();
chai.use(require('sinon-chai'));
chai.use(require('chai-as-promised'));
return gulp.src(['./build/compiled/test/**/*.js'])
.pipe(mocha())
.pipe(istanbul.writeReports());
}
@Task()
coverageRemap() {
return gulp.src('./coverage/coverage-final.json')
.pipe(remapIstanbul({
reports: {
'json': 'coverage.json',
'html': 'html-report'
}
}))
.pipe(gulp.dest('./coverage'));
}
/**
* Compiles the code and runs tests.
*/
@SequenceTask()
tests() {
return ['clean', 'compile', 'tslint', 'coveragePost', 'coverageRemap'];
}
}
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}
.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }
.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
/* dark yellow (gold) */
.medium .chart { border:1px solid #f9cd0b; }
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
/* light yellow */
.medium { background: #fff4c2; }
/* light gray */
span.cline-neutral { background: #eaeaea; }
.cbranch-no { background: yellow !important; color: #111; }
.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }
.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for All files</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
/
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>116/116</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>116/116</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="src/"><a href="src/index.html">src/</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="116" class="abs high">116/116</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="30" class="abs high">30/30</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="116" class="abs high">116/116</td>
</tr>
</tbody>
</table>
</div><div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:27 GMT+0200 (EET)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);

Sorry, the diff of this file is not supported yet

var addSorting = (function () {
"use strict";
var cols,
currentSort = {
index: 0,
desc: false
};
// returns the summary table element
function getTable() { return document.querySelector('.coverage-summary'); }
// returns the thead element of the summary table
function getTableHeader() { return getTable().querySelector('thead tr'); }
// returns the tbody element of the summary table
function getTableBody() { return getTable().querySelector('tbody'); }
// returns the th element for nth column
function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
// loads all columns
function loadColumns() {
var colNodes = getTableHeader().querySelectorAll('th'),
colNode,
cols = [],
col,
i;
for (i = 0; i < colNodes.length; i += 1) {
colNode = colNodes[i];
col = {
key: colNode.getAttribute('data-col'),
sortable: !colNode.getAttribute('data-nosort'),
type: colNode.getAttribute('data-type') || 'string'
};
cols.push(col);
if (col.sortable) {
col.defaultDescSort = col.type === 'number';
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
}
}
return cols;
}
// attaches a data attribute to every tr element with an object
// of data values keyed by column name
function loadRowData(tableRow) {
var tableCols = tableRow.querySelectorAll('td'),
colNode,
col,
data = {},
i,
val;
for (i = 0; i < tableCols.length; i += 1) {
colNode = tableCols[i];
col = cols[i];
val = colNode.getAttribute('data-value');
if (col.type === 'number') {
val = Number(val);
}
data[col.key] = val;
}
return data;
}
// loads all row data
function loadData() {
var rows = getTableBody().querySelectorAll('tr'),
i;
for (i = 0; i < rows.length; i += 1) {
rows[i].data = loadRowData(rows[i]);
}
}
// sorts the table using the data for the ith column
function sortByIndex(index, desc) {
var key = cols[index].key,
sorter = function (a, b) {
a = a.data[key];
b = b.data[key];
return a < b ? -1 : a > b ? 1 : 0;
},
finalSorter = sorter,
tableBody = document.querySelector('.coverage-summary tbody'),
rowNodes = tableBody.querySelectorAll('tr'),
rows = [],
i;
if (desc) {
finalSorter = function (a, b) {
return -1 * sorter(a, b);
};
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
rows.sort(finalSorter);
for (i = 0; i < rows.length; i += 1) {
tableBody.appendChild(rows[i]);
}
}
// removes sort indicators for current column being sorted
function removeSortIndicators() {
var col = getNthColumn(currentSort.index),
cls = col.className;
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
col.className = cls;
}
// adds sort indicators for current column being sorted
function addSortIndicators() {
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
}
// adds event listeners for all sorter widgets
function enableUI() {
var i,
el,
ithSorter = function ithSorter(i) {
var col = cols[i];
return function () {
var desc = col.defaultDescSort;
if (currentSort.index === i) {
desc = !currentSort.desc;
}
sortByIndex(i, desc);
removeSortIndicators();
currentSort.index = i;
currentSort.desc = desc;
addSortIndicators();
};
};
for (i =0 ; i < cols.length; i += 1) {
if (cols[i].sortable) {
// add the click event handler on the th so users
// dont have to click on those tiny arrows
el = getNthColumn(i).querySelector('.sorter').parentElement;
if (el.addEventListener) {
el.addEventListener('click', ithSorter(i));
} else {
el.attachEvent('onclick', ithSorter(i));
}
}
}
}
// adds sorting functionality to the UI
return function () {
if (!getTable()) {
return;
}
cols = loadColumns();
loadData(cols);
addSortIndicators();
enableUI();
};
})();
window.addEventListener('load', addSorting);
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for src/</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="../prettify.css" />
<link rel="stylesheet" href="../base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="../index.html">all files</a> src/
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>116/116</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>116/116</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="116" class="abs high">116/116</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="30" class="abs high">30/30</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="116" class="abs high">116/116</td>
</tr>
</tbody>
</table>
</div><div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:27 GMT+0200 (EET)
</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for src/index.ts</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="../prettify.css" />
<link rel="stylesheet" href="../base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="../index.html">all files</a> / <a href="index.html">src/</a> index.ts
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>116/116</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>30/30</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>116/116</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">27×</span>
<span class="cline-any cline-yes">27×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-yes">26×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">25×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
* Copied from https://github.com/pleerock/class-validator
*
* Validation error description.
*/
export declare class ValidationError {
/**
* Object that was validated.
*/
target: Object;
/**
* Object's property that haven't pass validation.
*/
property: string;
/**
* Value that haven't pass a validation.
*/
value: any;
/**
* Constraints that failed validation with error messages.
*/
constraints: {
[type: string]: string;
};
/**
* Contains all nested validation errors of the property.
*/
children: ValidationError[];
}
&nbsp;
/**
* Defines base Error class
*/
export class Exception implements Error {
name: string;
stack?: string;
data: any;
&nbsp;
constructor(public message: string) {
this.name = 'Exception';
}
}
&nbsp;
/**
* Defines Error class for abstract http exception
*/
export abstract class HttpException extends Exception {
&nbsp;
protected statusCode: number = 500;
&nbsp;
constructor(message: string) {
super(message);
this.name = 'HttpException';
}
&nbsp;
getStatusCode(): number {
return this.statusCode;
}
}
&nbsp;
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
export class BadRequestException extends HttpException {
protected statusCode: number = 400;
&nbsp;
constructor(message: string = 'Bad Request') {
super(message);
this.name = 'BadRequestException';
}
}
&nbsp;
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
export class UnauthorizedException extends HttpException {
protected statusCode: number = 401;
&nbsp;
constructor(message: string = 'Unauthorized') {
super(message);
this.name = 'UnauthorizedException';
}
}
&nbsp;
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
export class PaymentRequiredException extends HttpException {
protected statusCode: number = 402;
&nbsp;
constructor(message: string = 'Payment Required') {
super(message);
this.name = 'PaymentRequiredException';
}
}
&nbsp;
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
export class ForbiddenException extends HttpException {
protected statusCode: number = 403;
&nbsp;
constructor(message: string = 'Forbidden') {
super(message);
this.name = 'ForbiddenException';
}
}
&nbsp;
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
export class NotFoundException extends HttpException {
protected statusCode: number = 404;
&nbsp;
constructor(message: string = 'Not Found') {
super(message);
this.name = 'NotFoundException';
}
}
&nbsp;
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
export class MethodNotAllowedException extends HttpException {
protected statusCode: number = 405;
&nbsp;
constructor(message: string = 'Method Not Allowed') {
super(message);
this.name = 'MethodNotAllowedException';
}
}
&nbsp;
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
export class NotAcceptableException extends HttpException {
protected statusCode: number = 406;
&nbsp;
constructor(message: string = 'Not Acceptable') {
super(message);
this.name = 'NotAcceptableException';
}
}
&nbsp;
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
export class ProxyAuthenticationRequiredException extends HttpException {
protected statusCode: number = 407;
&nbsp;
constructor(message: string = 'Proxy Authentication Required') {
super(message);
this.name = 'ProxyAuthenticationRequiredException';
}
}
&nbsp;
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
export class RequestTimeoutException extends HttpException {
protected statusCode: number = 408;
&nbsp;
constructor(message: string = 'Request Timeout') {
super(message);
this.name = 'RequestTimeoutException';
}
}
&nbsp;
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
export class ConflictException extends HttpException {
protected statusCode: number = 409;
&nbsp;
constructor(message: string = 'Conflict') {
super(message);
this.name = 'ConflictException';
}
}
&nbsp;
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
export class GoneException extends HttpException {
protected statusCode: number = 410;
&nbsp;
constructor(message: string = 'Gone') {
super(message);
this.name = 'GoneException';
}
}
&nbsp;
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
export class LengthRequiredException extends HttpException {
protected statusCode: number = 411;
&nbsp;
constructor(message: string = 'Length Required') {
super(message);
this.name = 'LengthRequiredException';
}
}
&nbsp;
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
export class PreconditionFailedException extends HttpException {
protected statusCode: number = 412;
&nbsp;
constructor(message: string = 'Precondition Failed') {
super(message);
this.name = 'PreconditionFailedException';
}
}
&nbsp;
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
export class PayloadTooLargeException extends HttpException {
protected statusCode: number = 413;
&nbsp;
constructor(message: string = 'Payload Too Large') {
super(message);
this.name = 'PayloadTooLargeException';
}
}
&nbsp;
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
export class URITooLongException extends HttpException {
protected statusCode: number = 414;
&nbsp;
constructor(message: string = 'URI Too Long') {
super(message);
this.name = 'URITooLongException';
}
}
&nbsp;
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
export class UnsupportedMediaTypeException extends HttpException {
protected statusCode: number = 415;
&nbsp;
constructor(message: string = 'Unsupported Media Type') {
super(message);
this.name = 'UnsupportedMediaTypeException';
}
}
&nbsp;
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
export class RangeNotSatisfiableException extends HttpException {
protected statusCode: number = 416;
&nbsp;
constructor(message: string = 'Range Not Satisfiable') {
super(message);
this.name = 'RangeNotSatisfiableException';
}
}
&nbsp;
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
export class ExpectationFailedException extends HttpException {
protected statusCode: number = 417;
&nbsp;
constructor(message: string = 'Expectation Failed') {
super(message);
this.name = 'ExpectationFailedException';
}
}
&nbsp;
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
export class UnprocessableEntityException extends HttpException {
protected statusCode: number = 422;
&nbsp;
constructor(message: string = 'Unprocessable Entity') {
super(message);
this.name = 'UnprocessableEntityException';
}
}
&nbsp;
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
export class TooManyRequestsException extends HttpException {
protected statusCode: number = 429;
&nbsp;
constructor(message: string = 'Too Many Requests') {
super(message);
this.name = 'TooManyRequestsException';
}
}
&nbsp;
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
export class UnavailableForLegalReasonsException extends HttpException {
protected statusCode: number = 451;
&nbsp;
constructor(message: string = 'Unavailable For Legal Reasons') {
super(message);
this.name = 'UnavailableForLegalReasonsException';
}
}
&nbsp;
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
export class InternalServerErrorException extends HttpException {
protected statusCode: number = 500;
&nbsp;
constructor(message: string = 'Internal Server Error') {
super(message);
this.name = 'InternalServerErrorException';
}
}
&nbsp;
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
export class NotImplementedException extends HttpException {
protected statusCode: number = 501;
&nbsp;
constructor(message: string = 'Not Implemented') {
super(message);
this.name = 'NotImplementedException';
}
}
&nbsp;
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
export class ServiceUnavailableException extends HttpException {
protected statusCode: number = 503;
&nbsp;
constructor(message: string = 'Service Unavailable') {
super(message);
this.name = 'ServiceUnavailableException';
}
}
&nbsp;
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
export class InsufficientStorageException extends HttpException {
protected statusCode: number = 507;
&nbsp;
constructor(message: string = 'Insufficient Storage') {
super(message);
this.name = 'InsufficientStorageException';
}
}
&nbsp;
/**
* Defines Error class for Validation http-exceptions
*/
export class ValidationException extends BadRequestException {
constructor(message: string = 'Validation error', errors: ValidationError[]) {
super(message);
this.data = errors;
}
}
&nbsp;
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
export function transformToException(e: any): Exception {
if (!(e instanceof Exception)) {
e = new Exception(e.message);
e.data = e.stack;
}
return e;
}
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Nov 13 2017 19:10:27 GMT+0200 (EET)
</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>
export * from './src';
/**
* Copied from https://github.com/pleerock/class-validator
*
* Validation error description.
*/
export declare class ValidationError {
/**
* Object that was validated.
*/
target: Object;
/**
* Object's property that haven't pass validation.
*/
property: string;
/**
* Value that haven't pass a validation.
*/
value: any;
/**
* Constraints that failed validation with error messages.
*/
constraints: {
[type: string]: string;
};
/**
* Contains all nested validation errors of the property.
*/
children: ValidationError[];
}
/**
* Defines base Error class
*/
export class Exception implements Error {
name: string;
stack?: string;
data: any;
constructor(public message: string) {
this.name = 'Exception';
}
}
/**
* Defines Error class for abstract http exception
*/
export abstract class HttpException extends Exception {
protected statusCode: number = 500;
constructor(message: string) {
super(message);
this.name = 'HttpException';
}
getStatusCode(): number {
return this.statusCode;
}
}
/**
* Defines Error class for Bad Request errors, with HTTP status code 400
*/
export class BadRequestException extends HttpException {
protected statusCode: number = 400;
constructor(message: string = 'Bad Request') {
super(message);
this.name = 'BadRequestException';
}
}
/**
* Defines Error class for Unauthorized errors, with HTTP status code 401
*/
export class UnauthorizedException extends HttpException {
protected statusCode: number = 401;
constructor(message: string = 'Unauthorized') {
super(message);
this.name = 'UnauthorizedException';
}
}
/**
* Defines Error class for Payment Required errors, with HTTP status code 402
*/
export class PaymentRequiredException extends HttpException {
protected statusCode: number = 402;
constructor(message: string = 'Payment Required') {
super(message);
this.name = 'PaymentRequiredException';
}
}
/**
* Defines Error class for Forbidden errors, with HTTP status code 403
*/
export class ForbiddenException extends HttpException {
protected statusCode: number = 403;
constructor(message: string = 'Forbidden') {
super(message);
this.name = 'ForbiddenException';
}
}
/**
* Defines Error class for Not Found errors, with HTTP status code 404
*/
export class NotFoundException extends HttpException {
protected statusCode: number = 404;
constructor(message: string = 'Not Found') {
super(message);
this.name = 'NotFoundException';
}
}
/**
* Defines Error class for Method Not Allowed errors, with HTTP status code 405
*/
export class MethodNotAllowedException extends HttpException {
protected statusCode: number = 405;
constructor(message: string = 'Method Not Allowed') {
super(message);
this.name = 'MethodNotAllowedException';
}
}
/**
* Defines Error class for Not Acceptable errors, with HTTP status code 406
*/
export class NotAcceptableException extends HttpException {
protected statusCode: number = 406;
constructor(message: string = 'Not Acceptable') {
super(message);
this.name = 'NotAcceptableException';
}
}
/**
* Defines Error class for Proxy Authentication Required errors, with HTTP status code 407
*/
export class ProxyAuthenticationRequiredException extends HttpException {
protected statusCode: number = 407;
constructor(message: string = 'Proxy Authentication Required') {
super(message);
this.name = 'ProxyAuthenticationRequiredException';
}
}
/**
* Defines Error class for Request Timeout errors, with HTTP status code 408
*/
export class RequestTimeoutException extends HttpException {
protected statusCode: number = 408;
constructor(message: string = 'Request Timeout') {
super(message);
this.name = 'RequestTimeoutException';
}
}
/**
* Defines Error class for Conflict errors, with HTTP status code 409
*/
export class ConflictException extends HttpException {
protected statusCode: number = 409;
constructor(message: string = 'Conflict') {
super(message);
this.name = 'ConflictException';
}
}
/**
* Defines Error class for Gone errors, with HTTP status code 410
*/
export class GoneException extends HttpException {
protected statusCode: number = 410;
constructor(message: string = 'Gone') {
super(message);
this.name = 'GoneException';
}
}
/**
* Defines Error class for Length Required errors, with HTTP status code 411
*/
export class LengthRequiredException extends HttpException {
protected statusCode: number = 411;
constructor(message: string = 'Length Required') {
super(message);
this.name = 'LengthRequiredException';
}
}
/**
* Defines Error class for Precondition Failed errors, with HTTP status code 412
*/
export class PreconditionFailedException extends HttpException {
protected statusCode: number = 412;
constructor(message: string = 'Precondition Failed') {
super(message);
this.name = 'PreconditionFailedException';
}
}
/**
* Defines Error class for Payload Too Large errors, with HTTP status code 413
*/
export class PayloadTooLargeException extends HttpException {
protected statusCode: number = 413;
constructor(message: string = 'Payload Too Large') {
super(message);
this.name = 'PayloadTooLargeException';
}
}
/**
* Defines Error class for URI Too Long errors, with HTTP status code 414
*/
export class URITooLongException extends HttpException {
protected statusCode: number = 414;
constructor(message: string = 'URI Too Long') {
super(message);
this.name = 'URITooLongException';
}
}
/**
* Defines Error class for Unsupported Media Type errors, with HTTP status code 415
*/
export class UnsupportedMediaTypeException extends HttpException {
protected statusCode: number = 415;
constructor(message: string = 'Unsupported Media Type') {
super(message);
this.name = 'UnsupportedMediaTypeException';
}
}
/**
* Defines Error class for Range Not Satisfiable errors, with HTTP status code 416
*/
export class RangeNotSatisfiableException extends HttpException {
protected statusCode: number = 416;
constructor(message: string = 'Range Not Satisfiable') {
super(message);
this.name = 'RangeNotSatisfiableException';
}
}
/**
* Defines Error class for Expectation Failed errors, with HTTP status code 417
*/
export class ExpectationFailedException extends HttpException {
protected statusCode: number = 417;
constructor(message: string = 'Expectation Failed') {
super(message);
this.name = 'ExpectationFailedException';
}
}
/**
* Defines Error class for Unprocessable Entity errors, with HTTP status code 422
*/
export class UnprocessableEntityException extends HttpException {
protected statusCode: number = 422;
constructor(message: string = 'Unprocessable Entity') {
super(message);
this.name = 'UnprocessableEntityException';
}
}
/**
* Defines Error class for Too Many Requests errors, with HTTP status code 429
*/
export class TooManyRequestsException extends HttpException {
protected statusCode: number = 429;
constructor(message: string = 'Too Many Requests') {
super(message);
this.name = 'TooManyRequestsException';
}
}
/**
* Defines Error class for Unavailable For Legal Reasons errors, with HTTP status code 451
*/
export class UnavailableForLegalReasonsException extends HttpException {
protected statusCode: number = 451;
constructor(message: string = 'Unavailable For Legal Reasons') {
super(message);
this.name = 'UnavailableForLegalReasonsException';
}
}
/**
* Defines Error class for Internal Server Error errors, with HTTP status code 500
*/
export class InternalServerErrorException extends HttpException {
protected statusCode: number = 500;
constructor(message: string = 'Internal Server Error') {
super(message);
this.name = 'InternalServerErrorException';
}
}
/**
* Defines Error class for Not Implemented errors, with HTTP status code 501
*/
export class NotImplementedException extends HttpException {
protected statusCode: number = 501;
constructor(message: string = 'Not Implemented') {
super(message);
this.name = 'NotImplementedException';
}
}
/**
* Defines Error class for Service Unavailable errors, with HTTP status code 503
*/
export class ServiceUnavailableException extends HttpException {
protected statusCode: number = 503;
constructor(message: string = 'Service Unavailable') {
super(message);
this.name = 'ServiceUnavailableException';
}
}
/**
* Defines Error class for Insufficient Storage errors, with HTTP status code 503
*/
export class InsufficientStorageException extends HttpException {
protected statusCode: number = 507;
constructor(message: string = 'Insufficient Storage') {
super(message);
this.name = 'InsufficientStorageException';
}
}
/**
* Defines Error class for Validation http-exceptions
*/
export class ValidationException extends BadRequestException {
constructor(message: string = 'Validation error', errors: ValidationError[]) {
super(message);
this.data = errors;
}
}
/**
* Transform an error to exception
*
* @param e
* @returns {Exception}
*/
export function transformToException(e: any): Exception {
if (!(e instanceof Exception)) {
e = new Exception(e.message);
e.data = e.stack;
}
return e;
}
import {
BadRequestException, ConflictException, Exception, ExpectationFailedException, ForbiddenException, GoneException,
HttpException,
InsufficientStorageException,
InternalServerErrorException,
LengthRequiredException,
MethodNotAllowedException,
NotAcceptableException,
NotFoundException, NotImplementedException, PayloadTooLargeException,
PaymentRequiredException, PreconditionFailedException, ProxyAuthenticationRequiredException,
RangeNotSatisfiableException, RequestTimeoutException, ServiceUnavailableException, TooManyRequestsException,
transformToException,
UnauthorizedException, UnavailableForLegalReasonsException, UnprocessableEntityException,
UnsupportedMediaTypeException, URITooLongException, ValidationError, ValidationException
} from '../src/index';
describe('Exceptions', () => {
const exceptions = [
{exception: BadRequestException, code: 400},
{exception: UnauthorizedException, code: 401},
{exception: PaymentRequiredException, code: 402},
{exception: ForbiddenException, code: 403},
{exception: NotFoundException, code: 404},
{exception: MethodNotAllowedException, code: 405},
{exception: NotAcceptableException, code: 406},
{exception: ProxyAuthenticationRequiredException, code: 407},
{exception: RequestTimeoutException, code: 408},
{exception: ConflictException, code: 409},
{exception: GoneException, code: 410},
{exception: LengthRequiredException, code: 411},
{exception: PreconditionFailedException, code: 412},
{exception: PayloadTooLargeException, code: 413},
{exception: URITooLongException, code: 414},
{exception: UnsupportedMediaTypeException, code: 415},
{exception: RangeNotSatisfiableException, code: 416},
{exception: ExpectationFailedException, code: 417},
{exception: UnprocessableEntityException, code: 422},
{exception: TooManyRequestsException, code: 429},
{exception: UnavailableForLegalReasonsException, code: 451},
{exception: InternalServerErrorException, code: 500},
{exception: NotImplementedException, code: 501},
{exception: ServiceUnavailableException, code: 503},
{exception: InsufficientStorageException, code: 507},
];
exceptions.forEach((check) => {
it(`creates instance of ${check.exception.prototype.constructor.name} with status code ${check.code}`, () => {
const exceptionInstance = new check.exception;
try {
throw exceptionInstance;
} catch (e) {
e.should.be.an.instanceof(HttpException);
e.getStatusCode().should.be.equal(check.code);
e.name.should.be.equal(exceptionInstance.constructor.name);
}
});
});
it('retrieves data from exception with .data', () => {
let errors: ValidationError[] = [{
target: null,
property: 'name',
constraints: {
max_length: 'too long',
},
value: 10,
children: undefined,
}];
let exception = new ValidationException(null, errors);
exception.data.should.be.equal(errors);
});
it('converts error to exception', () => {
let exception = transformToException(new Error('generic'));
exception.name.should.be.equal('Exception');
let sameException = transformToException(exception);
sameException.should.be.equal(exception);
});
});
{
"version": "2.0.3",
"compilerOptions": {
"outDir": "build/compiled",
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitAny": true,
"declaration": true,
"suppressImplicitAnyIndexErrors": true,
"lib": ["es6"]
},
"exclude": [
"build",
"node_modules"
]
}