in src/windows/VibrationProxy.js [136:171]
function vibratePattern (patternArr, shouldRepeat, fail, patternCycle) {
return patternArr.reduce(function (previousValue, currentValue, index) {
if (index % 2 === 0) {
return previousValue.then(function () {
module.exports.vibrate(
function () {},
function (err) {
console.error(err);
if (fail) {
fail(err);
}
},
[currentValue]
);
if (index === patternArr.length - 1 && shouldRepeat) {
return WinJS.Promise.timeout(currentValue).then(function () {
return vibratePattern(patternCycle, true, fail, patternCycle);
});
} else {
return WinJS.Promise.timeout(currentValue);
}
});
} else {
return previousValue.then(function () {
if (index === patternArr.length - 1 && shouldRepeat) {
return WinJS.Promise.timeout(currentValue).then(function () {
return vibratePattern(patternCycle, true, fail, patternCycle);
});
} else {
return WinJS.Promise.timeout(currentValue);
}
});
}
}, WinJS.Promise.as());
}