You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
venv/PyCharm 2025.2.1.1/plugins/javascript-plugin/helpers/protractor-intellij/lib/protractor-intellij-util.js

44 lines
1.1 KiB

/**
* @param {Array.<string>} list
* @param {number} fromInclusive
* @param {number} toExclusive
* @param {string} delimiterChar one character string
* @returns {string}
*/
function joinList(list, fromInclusive, toExclusive, delimiterChar) {
if (list.length === 0) {
return '';
}
if (delimiterChar.length !== 1) {
throw Error('Delimiter is expected to be a character, but "' + delimiterChar + '" received');
}
var addDelimiter = false
, escapeChar = '\\'
, escapeCharCode = escapeChar.charCodeAt(0)
, delimiterCharCode = delimiterChar.charCodeAt(0)
, result = ''
, item
, itemLength
, ch
, chCode;
for (var itemId = fromInclusive; itemId < toExclusive; itemId++) {
if (addDelimiter) {
result += delimiterChar;
}
addDelimiter = true;
item = list[itemId];
itemLength = item.length;
for (var i = 0; i < itemLength; i++) {
ch = item.charAt(i);
chCode = item.charCodeAt(i);
if (chCode === delimiterCharCode || chCode === escapeCharCode) {
result += escapeChar;
}
result += ch;
}
}
return result;
}
exports.joinList = joinList;