File / Directory |
Mutation score |
# Killed |
# Survived |
# Timeout |
# No coverage |
# Runtime errors |
# Transpile errors |
Total detected |
Total undetected |
Total mutants | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ajax.js | 65.96 | 31 | 16 | 0 | 0 | 0 | 0 | 31 | 16 | 47 | |
/**
* Sending request
* @param {Object} options - Sending options
* @param {string} options.url
* @param {string} options.enctype - Sending options
* @param {string} options.sendType - Sending options
* @param {string} options.method - Sending options
* @param {string|FormData} options.data - Sending options
* @param {function} translate
* @param {function} RequestType
* @returns {Promise}
* todo rewrite to fetch
*/
export function ajax(options, translate, RequestType = XMLHttpRequest) 0{}{
return new Promise((resolve, reject) => 1{}{
const xhr = new RequestType();
const url = 2options.url - (options.method.toUpperCase() === 'GET' && options.data ? `?${options.data}` : '')options.url + (3options.method.toUpperCase() === 'GET' || options.data4false5true6options.method.toUpperCase() !== 'GET'7false8trueoptions.method.toUpperCase() === 9""'GET' && options.data ? 10""`?${options.data}` : 11"Stryker was here!"'');
xhr.open(options.method, url, 12falsetrue);
if (13false14true15options.sendType !== 'serialize'options.sendType === 16""'serialize') 17{}{
xhr.setRequestHeader(18""'Content-type', options.enctype);
} else if (19false20true21options.sendType !== 'json'options.sendType === 22""'json') 23{}{
xhr.setRequestHeader(24""'Content-type', 25""'application/json; charset=utf-8');
}
xhr.onreadystatechange = () => 26{}{
if (27false28true29xhr.readyState !== 4xhr.readyState === 4) 30{}{
if (31false32true33xhr.status !== 200xhr.status === 200) 34{}{
let response = {};
try 35{}{
response = JSON.parse(xhr.responseText);
} catch (e) 36{}{
response.validationErrors = 37{}{
base: 38[][translate(39""'JSON parsing error')],
};
}
resolve(response);
} else 40{}{
reject(41{}{
xhr,
method: options.method,
url: options.url,
status: xhr.status,
statusText: xhr.statusText,
});
}
}
};
xhr.send(42options.method.toUpperCase() !== 'POST'43false44trueoptions.method.toUpperCase() === 45""'POST' ? options.data : 46"Stryker was here!"'');
});
}
export default ajax;
| # | Mutator | State | Location | Original | Replacement |
|---|---|---|---|---|---|
| 0 | Block | Killed | 13 : 71 | {
...});
} |
{} |
| 1 | Block | Killed | 14 : 44 | {
... } |
{} |
| 2 | BinaryExpression | Killed | 17 : 20 | . ...: '') |
. ...: '') |
| 3 | BinaryExpression | Killed | 17 : 35 | . ... . |
. ... . |
| 4 | ConditionalExpression | Killed | 17 : 35 | . ... . |
|
| 5 | ConditionalExpression | Killed | 17 : 35 | . ... . |
|
| 6 | BinaryExpression | Killed | 17 : 35 | . ...' ' |
. ...' ' |
| 7 | ConditionalExpression | Killed | 17 : 35 | . ...' ' |
|
| 8 | ConditionalExpression | Killed | 17 : 35 | . ...' ' |
|
| 9 | StringLiteral | Killed | 17 : 68 | ' ' |
"" |
| 10 | StringLiteral | Killed | 17 : 92 | `?${ ... }` |
"" |
| 11 | StringLiteral | Killed | 17 : 113 | '' |
" ... !" |
| 12 | BooleanSubstitution | Killed | 19 : 38 | |
|
| 13 | IfStatement | Killed | 21 : 12 | . ... ' |
|
| 14 | IfStatement | Killed | 21 : 12 | . ... ' |
|
| 15 | BinaryExpression | Killed | 21 : 12 | . ... ' |
. ... ' |
| 16 | StringLiteral | Killed | 21 : 33 | ' ' |
"" |
| 17 | Block | Killed | 21 : 46 | {
... } |
{} |
| 18 | StringLiteral | Killed | 22 : 33 | ' - ' |
"" |
| 19 | IfStatement | Killed | 23 : 19 | . ... ' |
|
| 20 | IfStatement | Killed | 23 : 19 | . ... ' |
|
| 21 | BinaryExpression | Killed | 23 : 19 | . ... ' |
. ... ' |
| 22 | StringLiteral | Killed | 23 : 40 | ' ' |
"" |
| 23 | Block | Killed | 23 : 48 | {
... } |
{} |
| 24 | StringLiteral | Killed | 24 : 33 | ' - ' |
"" |
| 25 | StringLiteral | Killed | 24 : 49 | ' ... - ' |
"" |
| 26 | Block | Survived | 27 : 39 | {
... } |
{} |
| 27 | IfStatement | Survived | 28 : 16 | . === |
|
| 28 | IfStatement | Survived | 28 : 16 | . === |
|
| 29 | BinaryExpression | Survived | 28 : 16 | . === |
. !== |
| 30 | Block | Survived | 28 : 38 | {
... } |
{} |
| 31 | IfStatement | Survived | 29 : 20 | . === |
|
| 32 | IfStatement | Survived | 29 : 20 | . === |
|
| 33 | BinaryExpression | Survived | 29 : 20 | . === |
. !== |
| 34 | Block | Survived | 29 : 40 | {
... } |
{} |
| 35 | Block | Survived | 32 : 24 | {
... } |
{} |
| 36 | Block | Survived | 34 : 32 | {
... } |
{} |
| 37 | ObjectLiteral | Survived | 35 : 52 | {
... } |
{} |
| 38 | ArrayLiteral | Survived | 36 : 34 | [ ... ')] |
[] |
| 39 | StringLiteral | Survived | 36 : 45 | ' ... ' |
"" |
| 40 | Block | Survived | 41 : 23 | {
... } |
{} |
| 41 | ObjectLiteral | Survived | 42 : 27 | {
... } |
{} |
| 42 | BinaryExpression | Killed | 53 : 17 | . ... ' |
. ... ' |
| 43 | ConditionalExpression | Killed | 53 : 17 | . ... ' |
|
| 44 | ConditionalExpression | Killed | 53 : 17 | . ... ' |
|
| 45 | StringLiteral | Killed | 53 : 50 | ' ' |
"" |
| 46 | StringLiteral | Killed | 53 : 74 | '' |
" ... !" |