emailjs-imap-handler
Advanced tools
Comparing version 3.0.2 to 3.0.3
@@ -86,4 +86,7 @@ 'use strict'; | ||
if ((0, _formalSyntax.verify)(val.charAt(0) === '\\' ? val.substr(1) : val, (0, _formalSyntax.ATOM_CHAR)()) >= 0) { | ||
val = JSON.stringify(val); | ||
for (var i = val.charCodeAt(0) === _formalSyntax.ASCII_BACKSLASH ? 1 : 0; i < val.length; i++) { | ||
if (!(0, _formalSyntax.IS_ATOM_CHAR)(val.charCodeAt(i))) { | ||
val = JSON.stringify(val); | ||
break; | ||
} | ||
} | ||
@@ -124,2 +127,2 @@ | ||
*/ | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21waWxlci5qcyJdLCJuYW1lcyI6WyJyZXNwb25zZSIsImFzQXJyYXkiLCJpc0xvZ2dpbmciLCJyZXNwUGFydHMiLCJyZXNwIiwidGFnIiwiY29tbWFuZCIsIm5lZWRzU3BhY2UiLCJ3YWxrIiwibm9kZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsImZvckVhY2giLCJKU09OIiwic3RyaW5naWZ5IiwiTWF0aCIsInJvdW5kIiwic2Vuc2l0aXZlIiwidHlwZSIsInRvVXBwZXJDYXNlIiwidmFsdWUiLCJwdXNoIiwidmFsIiwiY2hhckF0Iiwic3Vic3RyIiwic2VjdGlvbiIsInBhcnRpYWwiLCJqb2luIiwiY29uY2F0IiwiYXR0cmlidXRlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2tCQUtlLFVBQVVBLFFBQVYsRUFBb0JDLE9BQXBCLEVBQTZCQyxTQUE3QixFQUF3QztBQUNyRCxNQUFJQyxZQUFZLEVBQWhCO0FBQ0EsTUFBSUMsT0FBTyxDQUFDSixTQUFTSyxHQUFULElBQWdCLEVBQWpCLEtBQXdCTCxTQUFTTSxPQUFULEdBQW1CLE1BQU1OLFNBQVNNLE9BQWxDLEdBQTRDLEVBQXBFLENBQVg7QUFDQSxNQUFJQyxhQUFhLElBQWpCOztBQUVBLE1BQUlDLE9BQU8sU0FBUEEsSUFBTyxDQUFVQyxJQUFWLEVBQWdCO0FBQ3pCLFFBQUlMLEtBQUtNLE1BQUwsR0FBYyxDQUFkLElBQW1CSCxVQUF2QixFQUFtQztBQUNqQ0gsY0FBUSxHQUFSO0FBQ0Q7O0FBRUQsUUFBSU8sTUFBTUMsT0FBTixDQUFjSCxJQUFkLENBQUosRUFBeUI7QUFDdkJGLG1CQUFhLEtBQWI7QUFDQUgsY0FBUSxHQUFSO0FBQ0FLLFdBQUtJLE9BQUwsQ0FBYUwsSUFBYjtBQUNBSixjQUFRLEdBQVI7QUFDQTtBQUNELEtBTkQsTUFNTztBQUNMRyxtQkFBYSxJQUFiO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDRSxJQUFELElBQVMsT0FBT0EsSUFBUCxLQUFnQixRQUF6QixJQUFxQyxPQUFPQSxJQUFQLEtBQWdCLFFBQXpELEVBQW1FO0FBQ2pFTCxjQUFRLEtBQVI7QUFDQTtBQUNEOztBQUVELFFBQUksT0FBT0ssSUFBUCxLQUFnQixRQUFwQixFQUE4QjtBQUM1QixVQUFJUCxhQUFhTyxLQUFLQyxNQUFMLEdBQWMsRUFBL0IsRUFBbUM7QUFDakNOLGdCQUFRLFNBQVNLLEtBQUtDLE1BQWQsR0FBdUIsY0FBL0I7QUFDRCxPQUZELE1BRU87QUFDTE4sZ0JBQVFVLEtBQUtDLFNBQUwsQ0FBZU4sSUFBZixDQUFSO0FBQ0Q7QUFDRDtBQUNEOztBQUVELFFBQUksT0FBT0EsSUFBUCxLQUFnQixRQUFwQixFQUE4QjtBQUM1QkwsY0FBUVksS0FBS0MsS0FBTCxDQUFXUixJQUFYLEtBQW9CLENBQTVCLENBRDRCLENBQ0U7QUFDOUI7QUFDRDs7QUFFRCxRQUFJUCxhQUFhTyxLQUFLUyxTQUF0QixFQUFpQztBQUMvQmQsY0FBUSxzQkFBUjtBQUNBO0FBQ0Q7O0FBRUQsWUFBUUssS0FBS1UsSUFBTCxDQUFVQyxXQUFWLEVBQVI7QUFDRSxXQUFLLFNBQUw7QUFDRSxZQUFJbEIsU0FBSixFQUFlO0FBQ2JFLGtCQUFRLFNBQVNLLEtBQUtZLEtBQUwsQ0FBV1gsTUFBcEIsR0FBNkIsZUFBckM7QUFDRCxTQUZELE1BRU87QUFDTCxjQUFJLENBQUNELEtBQUtZLEtBQVYsRUFBaUI7QUFDZmpCLG9CQUFRLFNBQVI7QUFDRCxXQUZELE1BRU87QUFDTEEsb0JBQVEsTUFBTUssS0FBS1ksS0FBTCxDQUFXWCxNQUFqQixHQUEwQixPQUFsQztBQUNEO0FBQ0RQLG9CQUFVbUIsSUFBVixDQUFlbEIsSUFBZjtBQUNBQSxpQkFBT0ssS0FBS1ksS0FBTCxJQUFjLEVBQXJCO0FBQ0Q7QUFDRDs7QUFFRixXQUFLLFFBQUw7QUFDRSxZQUFJbkIsYUFBYU8sS0FBS1ksS0FBTCxDQUFXWCxNQUFYLEdBQW9CLEVBQXJDLEVBQXlDO0FBQ3ZDTixrQkFBUSxTQUFTSyxLQUFLWSxLQUFMLENBQVdYLE1BQXBCLEdBQTZCLGNBQXJDO0FBQ0QsU0FGRCxNQUVPO0FBQ0xOLGtCQUFRVSxLQUFLQyxTQUFMLENBQWVOLEtBQUtZLEtBQUwsSUFBYyxFQUE3QixDQUFSO0FBQ0Q7QUFDRDtBQUNGLFdBQUssTUFBTDtBQUNBLFdBQUssVUFBTDtBQUNFakIsZ0JBQVFLLEtBQUtZLEtBQUwsSUFBYyxFQUF0QjtBQUNBOztBQUVGLFdBQUssUUFBTDtBQUNFakIsZ0JBQVNLLEtBQUtZLEtBQUwsSUFBYyxDQUF2QjtBQUNBOztBQUVGLFdBQUssTUFBTDtBQUNBLFdBQUssU0FBTDtBQUNFLFlBQUlFLE1BQU1kLEtBQUtZLEtBQUwsSUFBYyxFQUF4Qjs7QUFFQSxZQUFJLDBCQUFPRSxJQUFJQyxNQUFKLENBQVcsQ0FBWCxNQUFrQixJQUFsQixHQUF5QkQsSUFBSUUsTUFBSixDQUFXLENBQVgsQ0FBekIsR0FBeUNGLEdBQWhELEVBQXFELDhCQUFyRCxLQUFxRSxDQUF6RSxFQUE0RTtBQUMxRUEsZ0JBQU1ULEtBQUtDLFNBQUwsQ0FBZVEsR0FBZixDQUFOO0FBQ0Q7O0FBRURuQixnQkFBUW1CLEdBQVI7O0FBRUEsWUFBSWQsS0FBS2lCLE9BQVQsRUFBa0I7QUFDaEJ0QixrQkFBUSxHQUFSO0FBQ0EsY0FBSUssS0FBS2lCLE9BQUwsQ0FBYWhCLE1BQWpCLEVBQXlCO0FBQ3ZCSCx5QkFBYSxLQUFiO0FBQ0FFLGlCQUFLaUIsT0FBTCxDQUFhYixPQUFiLENBQXFCTCxJQUFyQjtBQUNEO0FBQ0RKLGtCQUFRLEdBQVI7QUFDRDtBQUNELFlBQUlLLEtBQUtrQixPQUFULEVBQWtCO0FBQ2hCdkIsa0JBQVEsTUFBTUssS0FBS2tCLE9BQUwsQ0FBYUMsSUFBYixDQUFrQixHQUFsQixDQUFOLEdBQStCLEdBQXZDO0FBQ0Q7QUFDRDtBQXBESjtBQXNERCxHQTdGRDs7QUErRkEsS0FBR0MsTUFBSCxDQUFVN0IsU0FBUzhCLFVBQVQsSUFBdUIsRUFBakMsRUFBcUNqQixPQUFyQyxDQUE2Q0wsSUFBN0M7O0FBRUEsTUFBSUosS0FBS00sTUFBVCxFQUFpQjtBQUNmUCxjQUFVbUIsSUFBVixDQUFlbEIsSUFBZjtBQUNEOztBQUVELFNBQU9ILFVBQVVFLFNBQVYsR0FBc0JBLFVBQVV5QixJQUFWLENBQWUsRUFBZixDQUE3QjtBQUNELEM7O0FBaEhEOztBQWdIQzs7QUE5R0QiLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBVE9NX0NIQVIsIHZlcmlmeSB9IGZyb20gJy4vZm9ybWFsLXN5bnRheCdcblxuLyoqXG4gKiBDb21waWxlcyBhbiBpbnB1dCBvYmplY3QgaW50b1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocmVzcG9uc2UsIGFzQXJyYXksIGlzTG9nZ2luZykge1xuICBsZXQgcmVzcFBhcnRzID0gW11cbiAgbGV0IHJlc3AgPSAocmVzcG9uc2UudGFnIHx8ICcnKSArIChyZXNwb25zZS5jb21tYW5kID8gJyAnICsgcmVzcG9uc2UuY29tbWFuZCA6ICcnKVxuICBsZXQgbmVlZHNTcGFjZSA9IHRydWVcblxuICBsZXQgd2FsayA9IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgaWYgKHJlc3AubGVuZ3RoID4gMCAmJiBuZWVkc1NwYWNlKSB7XG4gICAgICByZXNwICs9ICcgJ1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgICBuZWVkc1NwYWNlID0gZmFsc2VcbiAgICAgIHJlc3AgKz0gJygnXG4gICAgICBub2RlLmZvckVhY2god2FsaylcbiAgICAgIHJlc3AgKz0gJyknXG4gICAgICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgbmVlZHNTcGFjZSA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoIW5vZGUgJiYgdHlwZW9mIG5vZGUgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBub2RlICE9PSAnbnVtYmVyJykge1xuICAgICAgcmVzcCArPSAnTklMJ1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBub2RlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGlzTG9nZ2luZyAmJiBub2RlLmxlbmd0aCA+IDIwKSB7XG4gICAgICAgIHJlc3AgKz0gJ1wiKCogJyArIG5vZGUubGVuZ3RoICsgJ0Igc3RyaW5nICopXCInXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwICs9IEpTT04uc3RyaW5naWZ5KG5vZGUpXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXNwICs9IE1hdGgucm91bmQobm9kZSkgfHwgMCAvLyBPbmx5IGludGVnZXJzIGFsbG93ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChpc0xvZ2dpbmcgJiYgbm9kZS5zZW5zaXRpdmUpIHtcbiAgICAgIHJlc3AgKz0gJ1wiKCogdmFsdWUgaGlkZGVuICopXCInXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzd2l0Y2ggKG5vZGUudHlwZS50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdMSVRFUkFMJzpcbiAgICAgICAgaWYgKGlzTG9nZ2luZykge1xuICAgICAgICAgIHJlc3AgKz0gJ1wiKCogJyArIG5vZGUudmFsdWUubGVuZ3RoICsgJ0IgbGl0ZXJhbCAqKVwiJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghbm9kZS52YWx1ZSkge1xuICAgICAgICAgICAgcmVzcCArPSAnezB9XFxyXFxuJ1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNwICs9ICd7JyArIG5vZGUudmFsdWUubGVuZ3RoICsgJ31cXHJcXG4nXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3BQYXJ0cy5wdXNoKHJlc3ApXG4gICAgICAgICAgcmVzcCA9IG5vZGUudmFsdWUgfHwgJydcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdTVFJJTkcnOlxuICAgICAgICBpZiAoaXNMb2dnaW5nICYmIG5vZGUudmFsdWUubGVuZ3RoID4gMjApIHtcbiAgICAgICAgICByZXNwICs9ICdcIigqICcgKyBub2RlLnZhbHVlLmxlbmd0aCArICdCIHN0cmluZyAqKVwiJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3AgKz0gSlNPTi5zdHJpbmdpZnkobm9kZS52YWx1ZSB8fCAnJylcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnVEVYVCc6XG4gICAgICBjYXNlICdTRVFVRU5DRSc6XG4gICAgICAgIHJlc3AgKz0gbm9kZS52YWx1ZSB8fCAnJ1xuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdOVU1CRVInOlxuICAgICAgICByZXNwICs9IChub2RlLnZhbHVlIHx8IDApXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ0FUT00nOlxuICAgICAgY2FzZSAnU0VDVElPTic6XG4gICAgICAgIGxldCB2YWwgPSBub2RlLnZhbHVlIHx8ICcnXG5cbiAgICAgICAgaWYgKHZlcmlmeSh2YWwuY2hhckF0KDApID09PSAnXFxcXCcgPyB2YWwuc3Vic3RyKDEpIDogdmFsLCBBVE9NX0NIQVIoKSkgPj0gMCkge1xuICAgICAgICAgIHZhbCA9IEpTT04uc3RyaW5naWZ5KHZhbClcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3AgKz0gdmFsXG5cbiAgICAgICAgaWYgKG5vZGUuc2VjdGlvbikge1xuICAgICAgICAgIHJlc3AgKz0gJ1snXG4gICAgICAgICAgaWYgKG5vZGUuc2VjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5lZWRzU3BhY2UgPSBmYWxzZVxuICAgICAgICAgICAgbm9kZS5zZWN0aW9uLmZvckVhY2god2FsaylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzcCArPSAnXSdcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5wYXJ0aWFsKSB7XG4gICAgICAgICAgcmVzcCArPSAnPCcgKyBub2RlLnBhcnRpYWwuam9pbignLicpICsgJz4nXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH07XG5cbiAgW10uY29uY2F0KHJlc3BvbnNlLmF0dHJpYnV0ZXMgfHwgW10pLmZvckVhY2god2FsaylcblxuICBpZiAocmVzcC5sZW5ndGgpIHtcbiAgICByZXNwUGFydHMucHVzaChyZXNwKVxuICB9XG5cbiAgcmV0dXJuIGFzQXJyYXkgPyByZXNwUGFydHMgOiByZXNwUGFydHMuam9pbignJylcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21waWxlci5qcyJdLCJuYW1lcyI6WyJyZXNwb25zZSIsImFzQXJyYXkiLCJpc0xvZ2dpbmciLCJyZXNwUGFydHMiLCJyZXNwIiwidGFnIiwiY29tbWFuZCIsIm5lZWRzU3BhY2UiLCJ3YWxrIiwibm9kZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsImZvckVhY2giLCJKU09OIiwic3RyaW5naWZ5IiwiTWF0aCIsInJvdW5kIiwic2Vuc2l0aXZlIiwidHlwZSIsInRvVXBwZXJDYXNlIiwidmFsdWUiLCJwdXNoIiwidmFsIiwiaSIsImNoYXJDb2RlQXQiLCJBU0NJSV9CQUNLU0xBU0giLCJzZWN0aW9uIiwicGFydGlhbCIsImpvaW4iLCJjb25jYXQiLCJhdHRyaWJ1dGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7a0JBUWUsVUFBVUEsUUFBVixFQUFvQkMsT0FBcEIsRUFBNkJDLFNBQTdCLEVBQXdDO0FBQ3JELE1BQUlDLFlBQVksRUFBaEI7QUFDQSxNQUFJQyxPQUFPLENBQUNKLFNBQVNLLEdBQVQsSUFBZ0IsRUFBakIsS0FBd0JMLFNBQVNNLE9BQVQsR0FBbUIsTUFBTU4sU0FBU00sT0FBbEMsR0FBNEMsRUFBcEUsQ0FBWDtBQUNBLE1BQUlDLGFBQWEsSUFBakI7O0FBRUEsTUFBSUMsT0FBTyxTQUFQQSxJQUFPLENBQVVDLElBQVYsRUFBZ0I7QUFDekIsUUFBSUwsS0FBS00sTUFBTCxHQUFjLENBQWQsSUFBbUJILFVBQXZCLEVBQW1DO0FBQ2pDSCxjQUFRLEdBQVI7QUFDRDs7QUFFRCxRQUFJTyxNQUFNQyxPQUFOLENBQWNILElBQWQsQ0FBSixFQUF5QjtBQUN2QkYsbUJBQWEsS0FBYjtBQUNBSCxjQUFRLEdBQVI7QUFDQUssV0FBS0ksT0FBTCxDQUFhTCxJQUFiO0FBQ0FKLGNBQVEsR0FBUjtBQUNBO0FBQ0QsS0FORCxNQU1PO0FBQ0xHLG1CQUFhLElBQWI7QUFDRDs7QUFFRCxRQUFJLENBQUNFLElBQUQsSUFBUyxPQUFPQSxJQUFQLEtB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QUFULElBQXVCLEVBQWpDLEVBQXFDbEIsT0FBckMsQ0FBNkNMLElBQTdDOztBQUVBLE1BQUlKLEtBQUtNLE1BQVQsRUFBaUI7QUFDZlAsY0FBVW1CLElBQVYsQ0FBZWxCLElBQWY7QUFDRDs7QUFFRCxTQUFPSCxVQUFVRSxTQUFWLEdBQXNCQSxVQUFVMEIsSUFBVixDQUFlLEVBQWYsQ0FBN0I7QUFDRCxDOztBQXRIRDs7QUFzSEM7O0FBakhEIiwiZmlsZSI6ImNvbXBpbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVNDSUlfQkFDS1NMQVNILFxuICBJU19BVE9NX0NIQVJcbn0gZnJvbSAnLi9mb3JtYWwtc3ludGF4J1xuXG4vKipcbiAqIENvbXBpbGVzIGFuIGlucHV0IG9iamVjdCBpbnRvXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyZXNwb25zZSwgYXNBcnJheSwgaXNMb2dnaW5nKSB7XG4gIGxldCByZXNwUGFydHMgPSBbXVxuICBsZXQgcmVzcCA9IChyZXNwb25zZS50YWcgfHwgJycpICsgKHJlc3BvbnNlLmNvbW1hbmQgPyAnICcgKyByZXNwb25zZS5jb21tYW5kIDogJycpXG4gIGxldCBuZWVkc1NwYWNlID0gdHJ1ZVxuXG4gIGxldCB3YWxrID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICBpZiAocmVzcC5sZW5ndGggPiAwICYmIG5lZWRzU3BhY2UpIHtcbiAgICAgIHJlc3AgKz0gJyAnXG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICAgIG5lZWRzU3BhY2UgPSBmYWxzZVxuICAgICAgcmVzcCArPSAnKCdcbiAgICAgIG5vZGUuZm9yRWFjaCh3YWxrKVxuICAgICAgcmVzcCArPSAnKSdcbiAgICAgIHJldHVyblxuICAgIH0gZWxzZSB7XG4gICAgICBuZWVkc1NwYWNlID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmICghbm9kZSAmJiB0eXBlb2Ygbm9kZSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIG5vZGUgIT09ICdudW1iZXInKSB7XG4gICAgICByZXNwICs9ICdOSUwnXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaXNMb2dnaW5nICYmIG5vZGUubGVuZ3RoID4gMjApIHtcbiAgICAgICAgcmVzcCArPSAnXCIoKiAnICsgbm9kZS5sZW5ndGggKyAnQiBzdHJpbmcgKilcIidcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3AgKz0gSlNPTi5zdHJpbmdpZnkobm9kZSlcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJlc3AgKz0gTWF0aC5yb3VuZChub2RlKSB8fCAwIC8vIE9ubHkgaW50ZWdlcnMgYWxsb3dlZFxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGlzTG9nZ2luZyAmJiBub2RlLnNlbnNpdGl2ZSkge1xuICAgICAgcmVzcCArPSAnXCIoKiB2YWx1ZSBoaWRkZW4gKilcIidcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHN3aXRjaCAobm9kZS50eXBlLnRvVXBwZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ0xJVEVSQUwnOlxuICAgICAgICBpZiAoaXNMb2dnaW5nKSB7XG4gICAgICAgICAgcmVzcCArPSAnXCIoKiAnICsgbm9kZS52YWx1ZS5sZW5ndGggKyAnQiBsaXRlcmFsICopXCInXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKCFub2RlLnZhbHVlKSB7XG4gICAgICAgICAgICByZXNwICs9ICd7MH1cXHJcXG4nXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3AgKz0gJ3snICsgbm9kZS52YWx1ZS5sZW5ndGggKyAnfVxcclxcbidcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzcFBhcnRzLnB1c2gocmVzcClcbiAgICAgICAgICByZXNwID0gbm9kZS52YWx1ZSB8fCAnJ1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ1NUUklORyc6XG4gICAgICAgIGlmIChpc0xvZ2dpbmcgJiYgbm9kZS52YWx1ZS5sZW5ndGggPiAyMCkge1xuICAgICAgICAgIHJlc3AgKz0gJ1wiKCogJyArIG5vZGUudmFsdWUubGVuZ3RoICsgJ0Igc3RyaW5nICopXCInXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcCArPSBKU09OLnN0cmluZ2lmeShub2RlLnZhbHVlIHx8ICcnKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdURVhUJzpcbiAgICAgIGNhc2UgJ1NFUVVFTkNFJzpcbiAgICAgICAgcmVzcCArPSBub2RlLnZhbHVlIHx8ICcnXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ05VTUJFUic6XG4gICAgICAgIHJlc3AgKz0gKG5vZGUudmFsdWUgfHwgMClcbiAgICAgICAgYnJlYWtcblxuICAgICAgY2FzZSAnQVRPTSc6XG4gICAgICBjYXNlICdTRUNUSU9OJzpcbiAgICAgICAgbGV0IHZhbCA9IG5vZGUudmFsdWUgfHwgJydcblxuICAgICAgICBmb3IgKGxldCBpID0gdmFsLmNoYXJDb2RlQXQoMCkgPT09IEFTQ0lJX0JBQ0tTTEFTSCA/IDEgOiAwOyBpIDwgdmFsLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCFJU19BVE9NX0NIQVIodmFsLmNoYXJDb2RlQXQoaSkpKSB7XG4gICAgICAgICAgICB2YWwgPSBKU09OLnN0cmluZ2lmeSh2YWwpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3AgKz0gdmFsXG5cbiAgICAgICAgaWYgKG5vZGUuc2VjdGlvbikge1xuICAgICAgICAgIHJlc3AgKz0gJ1snXG4gICAgICAgICAgaWYgKG5vZGUuc2VjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5lZWRzU3BhY2UgPSBmYWxzZVxuICAgICAgICAgICAgbm9kZS5zZWN0aW9uLmZvckVhY2god2FsaylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzcCArPSAnXSdcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5wYXJ0aWFsKSB7XG4gICAgICAgICAgcmVzcCArPSAnPCcgKyBub2RlLnBhcnRpYWwuam9pbignLicpICsgJz4nXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH07XG5cbiAgW10uY29uY2F0KHJlc3BvbnNlLmF0dHJpYnV0ZXMgfHwgW10pLmZvckVhY2god2FsaylcblxuICBpZiAocmVzcC5sZW5ndGgpIHtcbiAgICByZXNwUGFydHMucHVzaChyZXNwKVxuICB9XG5cbiAgcmV0dXJuIGFzQXJyYXkgPyByZXNwUGFydHMgOiByZXNwUGFydHMuam9pbignJylcbn07XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
@@ -6,72 +6,61 @@ Object.defineProperty(exports, "__esModule", { | ||
}); | ||
exports.verify = exports.COMMAND = exports.TAG = exports.RESP_SPECIALS = exports.QUOTED_SPECIALS = exports.LIST_WILDCARDS = exports.ATOM_SPECIALS = exports.TEXT_CHAR = exports.ASTRING_CHAR = exports.ATOM_CHAR = exports.DIGIT = exports.ALPHA = exports.DQUOTE = exports.CTL = exports.SP = exports.CHAR8 = exports.CHAR = undefined; | ||
var _ramda = require('ramda'); | ||
// IMAP Formal Syntax | ||
// http://tools.ietf.org/html/rfc3501#section-9 | ||
var expandRange = function expandRange(start, end) { | ||
return String.fromCharCode.apply(String, (0, _ramda.range)(start, end + 1)); | ||
var ASCII_NL = exports.ASCII_NL = 10; | ||
var ASCII_CR = exports.ASCII_CR = 13; | ||
var ASCII_SPACE = exports.ASCII_SPACE = 32; | ||
var ASCII_DQUOTE = exports.ASCII_DQUOTE = 34; // " | ||
var ASCII_PERCENT_SIGN = exports.ASCII_PERCENT_SIGN = 37; // % | ||
var ASCII_LEFT_PARENTHESIS = exports.ASCII_LEFT_PARENTHESIS = 40; // ( | ||
var ASCII_RIGHT_PARENTHESIS = exports.ASCII_RIGHT_PARENTHESIS = 41; // ) | ||
var ASCII_ASTERISK = exports.ASCII_ASTERISK = 42; // * | ||
var ASCII_PLUS = exports.ASCII_PLUS = 43; // + | ||
var ASCII_COMMA = exports.ASCII_COMMA = 44; // , | ||
var ASCII_FULL_STOP = exports.ASCII_FULL_STOP = 46; // . | ||
var ASCII_COLON = exports.ASCII_COLON = 58; // : | ||
var ASCII_LESS_THAN_SIGN = exports.ASCII_LESS_THAN_SIGN = 60; // < | ||
var ASCII_GREATER_THAN_SIGN = exports.ASCII_GREATER_THAN_SIGN = 62; // > | ||
var ASCII_LEFT_BRACKET = exports.ASCII_LEFT_BRACKET = 91; // [ | ||
var ASCII_BACKSLASH = exports.ASCII_BACKSLASH = 92; // | ||
var ASCII_RIGHT_BRACKET = exports.ASCII_RIGHT_BRACKET = 93; // ] | ||
var ASCII_LEFT_CURLY_BRACKET = exports.ASCII_LEFT_CURLY_BRACKET = 123; // { | ||
var ASCII_RIGHT_CURLY_BRACKET = exports.ASCII_RIGHT_CURLY_BRACKET = 125; // } | ||
var IS_CHAR = exports.IS_CHAR = function IS_CHAR(chr) { | ||
return chr >= 0x01 && chr <= 0x7F; | ||
}; | ||
var excludeChars = function excludeChars(source, exclude) { | ||
return (0, _ramda.without)(exclude.split(''), source.split('')).join(''); | ||
var IS_ATOM_CHAR = exports.IS_ATOM_CHAR = function IS_ATOM_CHAR(chr) { | ||
return IS_CHAR(chr) && !IS_ATOM_SPECIALS(chr); | ||
}; | ||
var CHAR = exports.CHAR = (0, _ramda.memoize)(function () { | ||
return expandRange(0x01, 0x7F); | ||
}); | ||
var CHAR8 = exports.CHAR8 = (0, _ramda.memoize)(function () { | ||
return expandRange(0x01, 0xFF); | ||
}); | ||
var SP = exports.SP = function SP() { | ||
return ' '; | ||
var IS_ATOM_SPECIALS = exports.IS_ATOM_SPECIALS = function IS_ATOM_SPECIALS(chr) { | ||
return chr === ASCII_LEFT_PARENTHESIS || chr === ASCII_RIGHT_PARENTHESIS || chr === ASCII_LEFT_CURLY_BRACKET || chr === ASCII_SPACE || IS_CTL(chr) || IS_LIST_WILDCARDS(chr) || IS_QUOTED_SPECIALS(chr) || IS_RESP_SPECIALS(chr); | ||
}; | ||
var CTL = exports.CTL = (0, _ramda.memoize)(function () { | ||
return expandRange(0x00, 0x1F) + '\x7F'; | ||
}); | ||
var DQUOTE = exports.DQUOTE = function DQUOTE() { | ||
return '"'; | ||
var IS_CTL = exports.IS_CTL = function IS_CTL(chr) { | ||
return chr >= 0x00 && chr <= 0x1F || chr === 0x7F; | ||
}; | ||
var ALPHA = exports.ALPHA = (0, _ramda.memoize)(function () { | ||
return expandRange(0x41, 0x5A) + expandRange(0x61, 0x7A); | ||
}); | ||
var DIGIT = exports.DIGIT = (0, _ramda.memoize)(function () { | ||
return expandRange(0x30, 0x39) + expandRange(0x61, 0x7A); | ||
}); | ||
var ATOM_CHAR = exports.ATOM_CHAR = (0, _ramda.memoize)(function () { | ||
return excludeChars(CHAR(), ATOM_SPECIALS()); | ||
}); | ||
var ASTRING_CHAR = exports.ASTRING_CHAR = (0, _ramda.memoize)(function () { | ||
return ATOM_CHAR() + RESP_SPECIALS(); | ||
}); | ||
var TEXT_CHAR = exports.TEXT_CHAR = (0, _ramda.memoize)(function () { | ||
return excludeChars(CHAR(), '\r\n'); | ||
}); | ||
var ATOM_SPECIALS = exports.ATOM_SPECIALS = (0, _ramda.memoize)(function () { | ||
return '(' + ')' + '{' + SP() + CTL() + LIST_WILDCARDS() + QUOTED_SPECIALS() + RESP_SPECIALS(); | ||
}); | ||
var LIST_WILDCARDS = exports.LIST_WILDCARDS = function LIST_WILDCARDS() { | ||
return '%' + '*'; | ||
var IS_LIST_WILDCARDS = exports.IS_LIST_WILDCARDS = function IS_LIST_WILDCARDS(chr) { | ||
return chr === ASCII_PERCENT_SIGN || chr === ASCII_ASTERISK; | ||
}; | ||
var QUOTED_SPECIALS = exports.QUOTED_SPECIALS = (0, _ramda.memoize)(function () { | ||
return DQUOTE() + '\\'; | ||
}); | ||
var RESP_SPECIALS = exports.RESP_SPECIALS = function RESP_SPECIALS() { | ||
return ']'; | ||
var IS_QUOTED_SPECIALS = exports.IS_QUOTED_SPECIALS = function IS_QUOTED_SPECIALS(chr) { | ||
return chr === ASCII_DQUOTE || chr === ASCII_BACKSLASH; | ||
}; | ||
var TAG = exports.TAG = (0, _ramda.memoize)(function () { | ||
return excludeChars(ASTRING_CHAR(), '+'); | ||
}); | ||
var COMMAND = exports.COMMAND = (0, _ramda.memoize)(function () { | ||
return ALPHA() + DIGIT(); | ||
}); | ||
var verify = exports.verify = function verify(str, allowedChars) { | ||
for (var i = 0, len = str.length; i < len; i++) { | ||
if (allowedChars.indexOf(str.charAt(i)) < 0) { | ||
return i; | ||
} | ||
} | ||
return -1; | ||
var IS_RESP_SPECIALS = exports.IS_RESP_SPECIALS = function IS_RESP_SPECIALS(chr) { | ||
return chr === ASCII_RIGHT_BRACKET; | ||
}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtYWwtc3ludGF4LmpzIl0sIm5hbWVzIjpbImV4cGFuZFJhbmdlIiwic3RhcnQiLCJlbmQiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJhcHBseSIsImV4Y2x1ZGVDaGFycyIsInNvdXJjZSIsImV4Y2x1ZGUiLCJzcGxpdCIsImpvaW4iLCJDSEFSIiwiQ0hBUjgiLCJTUCIsIkNUTCIsIkRRVU9URSIsIkFMUEhBIiwiRElHSVQiLCJBVE9NX0NIQVIiLCJBVE9NX1NQRUNJQUxTIiwiQVNUUklOR19DSEFSIiwiUkVTUF9TUEVDSUFMUyIsIlRFWFRfQ0hBUiIsIkxJU1RfV0lMRENBUkRTIiwiUVVPVEVEX1NQRUNJQUxTIiwiVEFHIiwiQ09NTUFORCIsInZlcmlmeSIsInN0ciIsImFsbG93ZWRDaGFycyIsImkiLCJsZW4iLCJsZW5ndGgiLCJpbmRleE9mIiwiY2hhckF0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7QUFDQTs7QUFFQSxJQUFNQSxjQUFjLFNBQWRBLFdBQWMsQ0FBQ0MsS0FBRCxFQUFRQyxHQUFSO0FBQUEsU0FBZ0JDLE9BQU9DLFlBQVAsQ0FBb0JDLEtBQXBCLENBQTBCRixNQUExQixFQUFrQyxrQkFBTUYsS0FBTixFQUFhQyxNQUFNLENBQW5CLENBQWxDLENBQWhCO0FBQUEsQ0FBcEI7QUFDQSxJQUFNSSxlQUFlLFNBQWZBLFlBQWUsQ0FBQ0MsTUFBRCxFQUFTQyxPQUFUO0FBQUEsU0FBcUIsb0JBQVFBLFFBQVFDLEtBQVIsQ0FBYyxFQUFkLENBQVIsRUFBMkJGLE9BQU9FLEtBQVAsQ0FBYSxFQUFiLENBQTNCLEVBQTZDQyxJQUE3QyxDQUFrRCxFQUFsRCxDQUFyQjtBQUFBLENBQXJCOztBQUVPLElBQU1DLHNCQUFPLG9CQUFRO0FBQUEsU0FBTVgsWUFBWSxJQUFaLEVBQWtCLElBQWxCLENBQU47QUFBQSxDQUFSLENBQWI7QUFDQSxJQUFNWSx3QkFBUSxvQkFBUTtBQUFBLFNBQU1aLFlBQVksSUFBWixFQUFrQixJQUFsQixDQUFOO0FBQUEsQ0FBUixDQUFkO0FBQ0EsSUFBTWEsa0JBQUssU0FBTEEsRUFBSztBQUFBLFNBQU0sR0FBTjtBQUFBLENBQVg7QUFDQSxJQUFNQyxvQkFBTSxvQkFBUTtBQUFBLFNBQU1kLFlBQVksSUFBWixFQUFrQixJQUFsQixJQUEwQixNQUFoQztBQUFBLENBQVIsQ0FBWjtBQUNBLElBQU1lLDBCQUFTLFNBQVRBLE1BQVM7QUFBQSxTQUFNLEdBQU47QUFBQSxDQUFmO0FBQ0EsSUFBTUMsd0JBQVEsb0JBQVE7QUFBQSxTQUFNaEIsWUFBWSxJQUFaLEVBQWtCLElBQWxCLElBQTBCQSxZQUFZLElBQVosRUFBa0IsSUFBbEIsQ0FBaEM7QUFBQSxDQUFSLENBQWQ7QUFDQSxJQUFNaUIsd0JBQVEsb0JBQVE7QUFBQSxTQUFNakIsWUFBWSxJQUFaLEVBQWtCLElBQWxCLElBQTBCQSxZQUFZLElBQVosRUFBa0IsSUFBbEIsQ0FBaEM7QUFBQSxDQUFSLENBQWQ7QUFDQSxJQUFNa0IsZ0NBQVksb0JBQVE7QUFBQSxTQUFNWixhQUFhSyxNQUFiLEVBQXFCUSxlQUFyQixDQUFOO0FBQUEsQ0FBUixDQUFsQjtBQUNBLElBQU1DLHNDQUFlLG9CQUFRO0FBQUEsU0FBTUYsY0FBY0csZUFBcEI7QUFBQSxDQUFSLENBQXJCO0FBQ0EsSUFBTUMsZ0NBQVksb0JBQVE7QUFBQSxTQUFNaEIsYUFBYUssTUFBYixFQUFxQixNQUFyQixDQUFOO0FBQUEsQ0FBUixDQUFsQjtBQUNBLElBQU1RLHdDQUFnQixvQkFBUTtBQUFBLFNBQU0sTUFBTSxHQUFOLEdBQVksR0FBWixHQUFrQk4sSUFBbEIsR0FBeUJDLEtBQXpCLEdBQWlDUyxnQkFBakMsR0FBb0RDLGlCQUFwRCxHQUF3RUgsZUFBOUU7QUFBQSxDQUFSLENBQXRCO0FBQ0EsSUFBTUUsMENBQWlCLFNBQWpCQSxjQUFpQjtBQUFBLFNBQU0sTUFBTSxHQUFaO0FBQUEsQ0FBdkI7QUFDQSxJQUFNQyw0Q0FBa0Isb0JBQVE7QUFBQSxTQUFNVCxXQUFXLElBQWpCO0FBQUEsQ0FBUixDQUF4QjtBQUNBLElBQU1NLHdDQUFnQixTQUFoQkEsYUFBZ0I7QUFBQSxTQUFNLEdBQU47QUFBQSxDQUF0QjtBQUNBLElBQU1JLG9CQUFNLG9CQUFRO0FBQUEsU0FBTW5CLGFBQWFjLGNBQWIsRUFBNkIsR0FBN0IsQ0FBTjtBQUFBLENBQVIsQ0FBWjtBQUNBLElBQU1NLDRCQUFVLG9CQUFRO0FBQUEsU0FBTVYsVUFBVUMsT0FBaEI7QUFBQSxDQUFSLENBQWhCO0FBQ0EsSUFBTVUsMEJBQVMsU0FBVEEsTUFBUyxDQUFVQyxHQUFWLEVBQWVDLFlBQWYsRUFBNkI7QUFDakQsT0FBSyxJQUFJQyxJQUFJLENBQVIsRUFBV0MsTUFBTUgsSUFBSUksTUFBMUIsRUFBa0NGLElBQUlDLEdBQXRDLEVBQTJDRCxHQUEzQyxFQUFnRDtBQUM5QyxRQUFJRCxhQUFhSSxPQUFiLENBQXFCTCxJQUFJTSxNQUFKLENBQVdKLENBQVgsQ0FBckIsSUFBc0MsQ0FBMUMsRUFBNkM7QUFDM0MsYUFBT0EsQ0FBUDtBQUNEO0FBQ0Y7QUFDRCxTQUFPLENBQUMsQ0FBUjtBQUNELENBUE0iLCJmaWxlIjoiZm9ybWFsLXN5bnRheC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lbW9pemUsIHdpdGhvdXQsIHJhbmdlIH0gZnJvbSAncmFtZGEnXG5cbi8vIElNQVAgRm9ybWFsIFN5bnRheFxuLy8gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzUwMSNzZWN0aW9uLTlcblxuY29uc3QgZXhwYW5kUmFuZ2UgPSAoc3RhcnQsIGVuZCkgPT4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIHJhbmdlKHN0YXJ0LCBlbmQgKyAxKSlcbmNvbnN0IGV4Y2x1ZGVDaGFycyA9IChzb3VyY2UsIGV4Y2x1ZGUpID0+IHdpdGhvdXQoZXhjbHVkZS5zcGxpdCgnJyksIHNvdXJjZS5zcGxpdCgnJykpLmpvaW4oJycpXG5cbmV4cG9ydCBjb25zdCBDSEFSID0gbWVtb2l6ZSgoKSA9PiBleHBhbmRSYW5nZSgweDAxLCAweDdGKSlcbmV4cG9ydCBjb25zdCBDSEFSOCA9IG1lbW9pemUoKCkgPT4gZXhwYW5kUmFuZ2UoMHgwMSwgMHhGRikpXG5leHBvcnQgY29uc3QgU1AgPSAoKSA9PiAnICdcbmV4cG9ydCBjb25zdCBDVEwgPSBtZW1vaXplKCgpID0+IGV4cGFuZFJhbmdlKDB4MDAsIDB4MUYpICsgJ1xceDdGJylcbmV4cG9ydCBjb25zdCBEUVVPVEUgPSAoKSA9PiAnXCInXG5leHBvcnQgY29uc3QgQUxQSEEgPSBtZW1vaXplKCgpID0+IGV4cGFuZFJhbmdlKDB4NDEsIDB4NUEpICsgZXhwYW5kUmFuZ2UoMHg2MSwgMHg3QSkpXG5leHBvcnQgY29uc3QgRElHSVQgPSBtZW1vaXplKCgpID0+IGV4cGFuZFJhbmdlKDB4MzAsIDB4MzkpICsgZXhwYW5kUmFuZ2UoMHg2MSwgMHg3QSkpXG5leHBvcnQgY29uc3QgQVRPTV9DSEFSID0gbWVtb2l6ZSgoKSA9PiBleGNsdWRlQ2hhcnMoQ0hBUigpLCBBVE9NX1NQRUNJQUxTKCkpKVxuZXhwb3J0IGNvbnN0IEFTVFJJTkdfQ0hBUiA9IG1lbW9pemUoKCkgPT4gQVRPTV9DSEFSKCkgKyBSRVNQX1NQRUNJQUxTKCkpXG5leHBvcnQgY29uc3QgVEVYVF9DSEFSID0gbWVtb2l6ZSgoKSA9PiBleGNsdWRlQ2hhcnMoQ0hBUigpLCAnXFxyXFxuJykpXG5leHBvcnQgY29uc3QgQVRPTV9TUEVDSUFMUyA9IG1lbW9pemUoKCkgPT4gJygnICsgJyknICsgJ3snICsgU1AoKSArIENUTCgpICsgTElTVF9XSUxEQ0FSRFMoKSArIFFVT1RFRF9TUEVDSUFMUygpICsgUkVTUF9TUEVDSUFMUygpKVxuZXhwb3J0IGNvbnN0IExJU1RfV0lMRENBUkRTID0gKCkgPT4gJyUnICsgJyonXG5leHBvcnQgY29uc3QgUVVPVEVEX1NQRUNJQUxTID0gbWVtb2l6ZSgoKSA9PiBEUVVPVEUoKSArICdcXFxcJylcbmV4cG9ydCBjb25zdCBSRVNQX1NQRUNJQUxTID0gKCkgPT4gJ10nXG5leHBvcnQgY29uc3QgVEFHID0gbWVtb2l6ZSgoKSA9PiBleGNsdWRlQ2hhcnMoQVNUUklOR19DSEFSKCksICcrJykpXG5leHBvcnQgY29uc3QgQ09NTUFORCA9IG1lbW9pemUoKCkgPT4gQUxQSEEoKSArIERJR0lUKCkpXG5leHBvcnQgY29uc3QgdmVyaWZ5ID0gZnVuY3Rpb24gKHN0ciwgYWxsb3dlZENoYXJzKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYWxsb3dlZENoYXJzLmluZGV4T2Yoc3RyLmNoYXJBdChpKSkgPCAwKSB7XG4gICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICByZXR1cm4gLTFcbn1cbiJdfQ== | ||
var IS_DIGIT = exports.IS_DIGIT = function IS_DIGIT(chr) { | ||
return chr >= 0x30 && chr <= 0x39; | ||
}; | ||
var IS_ALPHA = exports.IS_ALPHA = function IS_ALPHA(chr) { | ||
return chr >= 0x41 && chr <= 0x5A || chr >= 0x61 && chr <= 0x7A; | ||
}; | ||
var IS_COMMAND = exports.IS_COMMAND = function IS_COMMAND(chr) { | ||
return IS_ALPHA(chr) || IS_DIGIT(chr); | ||
}; | ||
var IS_TAG = exports.IS_TAG = function IS_TAG(chr) { | ||
return IS_ASTRING_CHAR(chr) && chr !== ASCII_PLUS; | ||
}; | ||
var IS_ASTRING_CHAR = exports.IS_ASTRING_CHAR = function IS_ASTRING_CHAR(chr) { | ||
return IS_ATOM_CHAR(chr) || IS_RESP_SPECIALS(chr); | ||
}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3JtYWwtc3ludGF4LmpzIl0sIm5hbWVzIjpbIkFTQ0lJX05MIiwiQVNDSUlfQ1IiLCJBU0NJSV9TUEFDRSIsIkFTQ0lJX0RRVU9URSIsIkFTQ0lJX1BFUkNFTlRfU0lHTiIsIkFTQ0lJX0xFRlRfUEFSRU5USEVTSVMiLCJBU0NJSV9SSUdIVF9QQVJFTlRIRVNJUyIsIkFTQ0lJX0FTVEVSSVNLIiwiQVNDSUlfUExVUyIsIkFTQ0lJX0NPTU1BIiwiQVNDSUlfRlVMTF9TVE9QIiwiQVNDSUlfQ09MT04iLCJBU0NJSV9MRVNTX1RIQU5fU0lHTiIsIkFTQ0lJX0dSRUFURVJfVEhBTl9TSUdOIiwiQVNDSUlfTEVGVF9CUkFDS0VUIiwiQVNDSUlfQkFDS1NMQVNIIiwiQVNDSUlfUklHSFRfQlJBQ0tFVCIsIkFTQ0lJX0xFRlRfQ1VSTFlfQlJBQ0tFVCIsIkFTQ0lJX1JJR0hUX0NVUkxZX0JSQUNLRVQiLCJJU19DSEFSIiwiY2hyIiwiSVNfQVRPTV9DSEFSIiwiSVNfQVRPTV9TUEVDSUFMUyIsIklTX0NUTCIsIklTX0xJU1RfV0lMRENBUkRTIiwiSVNfUVVPVEVEX1NQRUNJQUxTIiwiSVNfUkVTUF9TUEVDSUFMUyIsIklTX0RJR0lUIiwiSVNfQUxQSEEiLCJJU19DT01NQU5EIiwiSVNfVEFHIiwiSVNfQVNUUklOR19DSEFSIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7O0FBRU8sSUFBTUEsOEJBQVcsRUFBakI7QUFDQSxJQUFNQyw4QkFBVyxFQUFqQjtBQUNBLElBQU1DLG9DQUFjLEVBQXBCO0FBQ0EsSUFBTUMsc0NBQWUsRUFBckIsQyxDQUF3QjtBQUN4QixJQUFNQyxrREFBcUIsRUFBM0IsQyxDQUE4QjtBQUM5QixJQUFNQywwREFBeUIsRUFBL0IsQyxDQUFrQztBQUNsQyxJQUFNQyw0REFBMEIsRUFBaEMsQyxDQUFtQztBQUNuQyxJQUFNQywwQ0FBaUIsRUFBdkIsQyxDQUEwQjtBQUMxQixJQUFNQyxrQ0FBYSxFQUFuQixDLENBQXNCO0FBQ3RCLElBQU1DLG9DQUFjLEVBQXBCLEMsQ0FBdUI7QUFDdkIsSUFBTUMsNENBQWtCLEVBQXhCLEMsQ0FBMkI7QUFDM0IsSUFBTUMsb0NBQWMsRUFBcEIsQyxDQUF1QjtBQUN2QixJQUFNQyxzREFBdUIsRUFBN0IsQyxDQUFnQztBQUNoQyxJQUFNQyw0REFBMEIsRUFBaEMsQyxDQUFtQztBQUNuQyxJQUFNQyxrREFBcUIsRUFBM0IsQyxDQUE4QjtBQUM5QixJQUFNQyw0Q0FBa0IsRUFBeEIsQyxDQUEyQjtBQUMzQixJQUFNQyxvREFBc0IsRUFBNUIsQyxDQUErQjtBQUMvQixJQUFNQyw4REFBMkIsR0FBakMsQyxDQUFxQztBQUNyQyxJQUFNQyxnRUFBNEIsR0FBbEMsQyxDQUFzQzs7QUFFdEMsSUFBTUMsNEJBQVUsU0FBVkEsT0FBVSxDQUFDQyxHQUFEO0FBQUEsU0FBU0EsT0FBTyxJQUFQLElBQWVBLE9BQU8sSUFBL0I7QUFBQSxDQUFoQjtBQUNBLElBQU1DLHNDQUFlLFNBQWZBLFlBQWUsQ0FBQ0QsR0FBRDtBQUFBLFNBQVNELFFBQVFDLEdBQVIsS0FBZ0IsQ0FBQ0UsaUJBQWlCRixHQUFqQixDQUExQjtBQUFBLENBQXJCO0FBQ0EsSUFBTUUsOENBQW1CLFNBQW5CQSxnQkFBbUIsQ0FBQ0YsR0FBRDtBQUFBLFNBQVNBLFFBQVFmLHNCQUFSLElBQ3ZDZSxRQUFRZCx1QkFEK0IsSUFFdkNjLFFBQVFILHdCQUYrQixJQUd2Q0csUUFBUWxCLFdBSCtCLElBSXZDcUIsT0FBT0gsR0FBUCxDQUp1QyxJQUt2Q0ksa0JBQWtCSixHQUFsQixDQUx1QyxJQU12Q0ssbUJBQW1CTCxHQUFuQixDQU51QyxJQU92Q00saUJBQWlCTixHQUFqQixDQVA4QjtBQUFBLENBQXpCO0FBUUEsSUFBTUcsMEJBQVMsU0FBVEEsTUFBUyxDQUFDSCxHQUFEO0FBQUEsU0FBVUEsT0FBTyxJQUFQLElBQWVBLE9BQU8sSUFBdkIsSUFBZ0NBLFFBQVEsSUFBakQ7QUFBQSxDQUFmO0FBQ0EsSUFBTUksZ0RBQW9CLFNBQXBCQSxpQkFBb0IsQ0FBQ0osR0FBRDtBQUFBLFNBQVNBLFFBQVFoQixrQkFBUixJQUE4QmdCLFFBQVFiLGNBQS9DO0FBQUEsQ0FBMUI7QUFDQSxJQUFNa0Isa0RBQXFCLFNBQXJCQSxrQkFBcUIsQ0FBQ0wsR0FBRDtBQUFBLFNBQVNBLFFBQVFqQixZQUFSLElBQXdCaUIsUUFBUUwsZUFBekM7QUFBQSxDQUEzQjtBQUNBLElBQU1XLDhDQUFtQixTQUFuQkEsZ0JBQW1CLENBQUNOLEdBQUQ7QUFBQSxTQUFTQSxRQUFRSixtQkFBakI7QUFBQSxDQUF6QjtBQUNBLElBQU1XLDhCQUFXLFNBQVhBLFFBQVcsQ0FBQ1AsR0FBRDtBQUFBLFNBQVNBLE9BQU8sSUFBUCxJQUFlQSxPQUFPLElBQS9CO0FBQUEsQ0FBakI7QUFDQSxJQUFNUSw4QkFBVyxTQUFYQSxRQUFXLENBQUNSLEdBQUQ7QUFBQSxTQUFVQSxPQUFPLElBQVAsSUFBZUEsT0FBTyxJQUF2QixJQUFpQ0EsT0FBTyxJQUFQLElBQWVBLE9BQU8sSUFBaEU7QUFBQSxDQUFqQjtBQUNBLElBQU1TLGtDQUFhLFNBQWJBLFVBQWEsQ0FBQ1QsR0FBRDtBQUFBLFNBQVNRLFNBQVNSLEdBQVQsS0FBaUJPLFNBQVNQLEdBQVQsQ0FBMUI7QUFBQSxDQUFuQjtBQUNBLElBQU1VLDBCQUFTLFNBQVRBLE1BQVMsQ0FBQ1YsR0FBRDtBQUFBLFNBQVNXLGdCQUFnQlgsR0FBaEIsS0FBd0JBLFFBQVFaLFVBQXpDO0FBQUEsQ0FBZjtBQUNBLElBQU11Qiw0Q0FBa0IsU0FBbEJBLGVBQWtCLENBQUNYLEdBQUQ7QUFBQSxTQUFTQyxhQUFhRCxHQUFiLEtBQXFCTSxpQkFBaUJOLEdBQWpCLENBQTlCO0FBQUEsQ0FBeEIiLCJmaWxlIjoiZm9ybWFsLXN5bnRheC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIElNQVAgRm9ybWFsIFN5bnRheFxuLy8gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzUwMSNzZWN0aW9uLTlcblxuZXhwb3J0IGNvbnN0IEFTQ0lJX05MID0gMTBcbmV4cG9ydCBjb25zdCBBU0NJSV9DUiA9IDEzXG5leHBvcnQgY29uc3QgQVNDSUlfU1BBQ0UgPSAzMlxuZXhwb3J0IGNvbnN0IEFTQ0lJX0RRVU9URSA9IDM0IC8vIFwiXG5leHBvcnQgY29uc3QgQVNDSUlfUEVSQ0VOVF9TSUdOID0gMzcgLy8gJVxuZXhwb3J0IGNvbnN0IEFTQ0lJX0xFRlRfUEFSRU5USEVTSVMgPSA0MCAvLyAoXG5leHBvcnQgY29uc3QgQVNDSUlfUklHSFRfUEFSRU5USEVTSVMgPSA0MSAvLyApXG5leHBvcnQgY29uc3QgQVNDSUlfQVNURVJJU0sgPSA0MiAvLyAqXG5leHBvcnQgY29uc3QgQVNDSUlfUExVUyA9IDQzIC8vICtcbmV4cG9ydCBjb25zdCBBU0NJSV9DT01NQSA9IDQ0IC8vICxcbmV4cG9ydCBjb25zdCBBU0NJSV9GVUxMX1NUT1AgPSA0NiAvLyAuXG5leHBvcnQgY29uc3QgQVNDSUlfQ09MT04gPSA1OCAvLyA6XG5leHBvcnQgY29uc3QgQVNDSUlfTEVTU19USEFOX1NJR04gPSA2MCAvLyA8XG5leHBvcnQgY29uc3QgQVNDSUlfR1JFQVRFUl9USEFOX1NJR04gPSA2MiAvLyA+XG5leHBvcnQgY29uc3QgQVNDSUlfTEVGVF9CUkFDS0VUID0gOTEgLy8gW1xuZXhwb3J0IGNvbnN0IEFTQ0lJX0JBQ0tTTEFTSCA9IDkyIC8vXG5leHBvcnQgY29uc3QgQVNDSUlfUklHSFRfQlJBQ0tFVCA9IDkzIC8vIF1cbmV4cG9ydCBjb25zdCBBU0NJSV9MRUZUX0NVUkxZX0JSQUNLRVQgPSAxMjMgLy8ge1xuZXhwb3J0IGNvbnN0IEFTQ0lJX1JJR0hUX0NVUkxZX0JSQUNLRVQgPSAxMjUgLy8gfVxuXG5leHBvcnQgY29uc3QgSVNfQ0hBUiA9IChjaHIpID0+IGNociA+PSAweDAxICYmIGNociA8PSAweDdGXG5leHBvcnQgY29uc3QgSVNfQVRPTV9DSEFSID0gKGNocikgPT4gSVNfQ0hBUihjaHIpICYmICFJU19BVE9NX1NQRUNJQUxTKGNocilcbmV4cG9ydCBjb25zdCBJU19BVE9NX1NQRUNJQUxTID0gKGNocikgPT4gY2hyID09PSBBU0NJSV9MRUZUX1BBUkVOVEhFU0lTIHx8XG4gIGNociA9PT0gQVNDSUlfUklHSFRfUEFSRU5USEVTSVMgfHxcbiAgY2hyID09PSBBU0NJSV9MRUZUX0NVUkxZX0JSQUNLRVQgfHxcbiAgY2hyID09PSBBU0NJSV9TUEFDRSB8fFxuICBJU19DVEwoY2hyKSB8fFxuICBJU19MSVNUX1dJTERDQVJEUyhjaHIpIHx8XG4gIElTX1FVT1RFRF9TUEVDSUFMUyhjaHIpIHx8XG4gIElTX1JFU1BfU1BFQ0lBTFMoY2hyKVxuZXhwb3J0IGNvbnN0IElTX0NUTCA9IChjaHIpID0+IChjaHIgPj0gMHgwMCAmJiBjaHIgPD0gMHgxRikgfHwgY2hyID09PSAweDdGXG5leHBvcnQgY29uc3QgSVNfTElTVF9XSUxEQ0FSRFMgPSAoY2hyKSA9PiBjaHIgPT09IEFTQ0lJX1BFUkNFTlRfU0lHTiB8fCBjaHIgPT09IEFTQ0lJX0FTVEVSSVNLXG5leHBvcnQgY29uc3QgSVNfUVVPVEVEX1NQRUNJQUxTID0gKGNocikgPT4gY2hyID09PSBBU0NJSV9EUVVPVEUgfHwgY2hyID09PSBBU0NJSV9CQUNLU0xBU0hcbmV4cG9ydCBjb25zdCBJU19SRVNQX1NQRUNJQUxTID0gKGNocikgPT4gY2hyID09PSBBU0NJSV9SSUdIVF9CUkFDS0VUXG5leHBvcnQgY29uc3QgSVNfRElHSVQgPSAoY2hyKSA9PiBjaHIgPj0gMHgzMCAmJiBjaHIgPD0gMHgzOVxuZXhwb3J0IGNvbnN0IElTX0FMUEhBID0gKGNocikgPT4gKGNociA+PSAweDQxICYmIGNociA8PSAweDVBKSB8fCAoY2hyID49IDB4NjEgJiYgY2hyIDw9IDB4N0EpXG5leHBvcnQgY29uc3QgSVNfQ09NTUFORCA9IChjaHIpID0+IElTX0FMUEhBKGNocikgfHwgSVNfRElHSVQoY2hyKVxuZXhwb3J0IGNvbnN0IElTX1RBRyA9IChjaHIpID0+IElTX0FTVFJJTkdfQ0hBUihjaHIpICYmIGNociAhPT0gQVNDSUlfUExVU1xuZXhwb3J0IGNvbnN0IElTX0FTVFJJTkdfQ0hBUiA9IChjaHIpID0+IElTX0FUT01fQ0hBUihjaHIpIHx8IElTX1JFU1BfU1BFQ0lBTFMoY2hyKVxuIl19 |
@@ -38,9 +38,9 @@ export default { | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
] | ||
@@ -53,9 +53,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
] | ||
@@ -68,9 +68,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'andris' | ||
}, { | ||
type: 'STRING', | ||
value: 'ekiri.ee' | ||
} | ||
] | ||
@@ -89,8 +89,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066976914.4721.5.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066976914.4721.5.camel@localhost>' | ||
} | ||
], { | ||
@@ -115,17 +115,17 @@ type: 'ATOM', | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '617' | ||
}, { | ||
type: 'ATOM', | ||
value: '16' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '617' | ||
}, { | ||
type: 'ATOM', | ||
value: '16' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -139,13 +139,13 @@ [{ | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'I\'ll be whatever I wanna do. --Fry' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '582' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'I\'ll be whatever I wanna do. --Fry' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '582' | ||
}, | ||
[{ | ||
@@ -163,9 +163,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -178,9 +178,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -193,9 +193,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -214,8 +214,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973156.4264.42.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973156.4264.42.camel@localhost>' | ||
} | ||
], | ||
@@ -236,17 +236,17 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '311' | ||
}, { | ||
type: 'ATOM', | ||
value: '9' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '311' | ||
}, { | ||
type: 'ATOM', | ||
value: '9' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -256,11 +256,11 @@ type: 'ATOM', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -273,13 +273,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Would you kindly shut your noise-hole? --Bender' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1460' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Would you kindly shut your noise-hole? --Bender' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1460' | ||
}, | ||
[{ | ||
@@ -297,9 +297,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -312,9 +312,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -327,9 +327,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -348,8 +348,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066976111.4263.74.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066976111.4263.74.camel@localhost>' | ||
} | ||
], | ||
@@ -371,17 +371,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '193' | ||
}, { | ||
type: 'ATOM', | ||
value: '3' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '193' | ||
}, { | ||
type: 'ATOM', | ||
value: '3' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -395,13 +395,13 @@ [{ | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'At the risk of sounding negative, no. --Leela' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '697' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'At the risk of sounding negative, no. --Leela' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '697' | ||
}, | ||
[{ | ||
@@ -419,9 +419,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -434,9 +434,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -449,9 +449,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -470,8 +470,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975745.4263.70.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975745.4263.70.camel@localhost>' | ||
} | ||
], | ||
@@ -493,17 +493,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '78' | ||
}, { | ||
type: 'ATOM', | ||
value: '3' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '78' | ||
}, { | ||
type: 'ATOM', | ||
value: '3' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -524,24 +524,24 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'foo.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'foo.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -565,10 +565,10 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -592,11 +592,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -609,13 +609,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Dirt doesn\'t need luck! --Professor' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '817' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Dirt doesn\'t need luck! --Professor' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '817' | ||
}, | ||
[{ | ||
@@ -633,9 +633,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -648,9 +648,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -663,9 +663,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -684,8 +684,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974048.4264.62.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974048.4264.62.camel@localhost>' | ||
} | ||
], | ||
@@ -706,26 +706,26 @@ [{ | ||
}], | ||
null, { | ||
type: 'STRING', | ||
value: 'Attachment has identical content to above foo.gz' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '396' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'blah.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
null, { | ||
type: 'STRING', | ||
value: 'Attachment has identical content to above foo.gz' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '396' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'blah.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -735,11 +735,11 @@ type: 'ATOM', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -752,13 +752,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Hold still, I don\'t have good depth perception! --Leela' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1045' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Hold still, I don\'t have good depth perception! --Leela' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1045' | ||
}, | ||
[{ | ||
@@ -776,9 +776,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -791,9 +791,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -806,9 +806,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -827,8 +827,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975756.4263.70.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975756.4263.70.camel@localhost>' | ||
} | ||
], | ||
@@ -850,17 +850,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '377' | ||
}, { | ||
type: 'ATOM', | ||
value: '6' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '377' | ||
}, { | ||
type: 'ATOM', | ||
value: '6' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -881,26 +881,26 @@ [{ | ||
}], | ||
null, { | ||
type: 'STRING', | ||
value: 'filename is blah1.gz, name is blah2.gz' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'blah1.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
null, { | ||
type: 'STRING', | ||
value: 'filename is blah1.gz, name is blah2.gz' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'blah1.gz' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -924,11 +924,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -941,13 +941,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Hello little man. I WILL DESTROY YOU! --Moro' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1149' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Hello little man. I WILL DESTROY YOU! --Moro' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1149' | ||
}, | ||
[{ | ||
@@ -965,9 +965,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -980,9 +980,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -995,9 +995,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1016,8 +1016,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975761.4263.70.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066975761.4263.70.camel@localhost>' | ||
} | ||
], | ||
@@ -1039,17 +1039,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '517' | ||
}, { | ||
type: 'ATOM', | ||
value: '10' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '517' | ||
}, { | ||
type: 'ATOM', | ||
value: '10' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -1063,21 +1063,21 @@ [{ | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'I\'m getting sick of witty things to say' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'I\'m getting sick of witty things to say' | ||
}, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '58' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -1101,11 +1101,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -1118,13 +1118,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Friends! Help! A guinea pig tricked me! --Zoidberg' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '896' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Friends! Help! A guinea pig tricked me! --Zoidberg' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '896' | ||
}, | ||
[{ | ||
@@ -1142,9 +1142,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1157,9 +1157,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1172,9 +1172,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1193,8 +1193,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974044.4264.62.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974044.4264.62.camel@localhost>' | ||
} | ||
], | ||
@@ -1216,17 +1216,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '327' | ||
}, { | ||
type: 'ATOM', | ||
value: '11' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '327' | ||
}, { | ||
type: 'ATOM', | ||
value: '11' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -1247,17 +1247,17 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '61' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '61' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -1281,11 +1281,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -1298,13 +1298,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Smeesh! --Amy' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '642' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Smeesh! --Amy' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '642' | ||
}, | ||
[{ | ||
@@ -1322,9 +1322,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1337,9 +1337,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1352,9 +1352,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1373,8 +1373,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974089.4265.64.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066974089.4265.64.camel@localhost>' | ||
} | ||
], | ||
@@ -1396,17 +1396,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '62' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '62' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -1427,17 +1427,17 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '68' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '68' | ||
}, { | ||
type: 'ATOM', | ||
value: '2' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -1461,11 +1461,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -1478,13 +1478,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'That\'s not a cigar. Uh... and it\'s not mine. --Hermes' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1515' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'That\'s not a cigar. Uh... and it\'s not mine. --Hermes' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1515' | ||
}, | ||
[{ | ||
@@ -1502,9 +1502,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1517,9 +1517,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1532,9 +1532,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1553,8 +1553,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973957.4263.59.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973957.4263.59.camel@localhost>' | ||
} | ||
], | ||
@@ -1576,17 +1576,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '824' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '824' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -1613,27 +1613,27 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '118' | ||
}, { | ||
type: 'ATOM', | ||
value: '6' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'htmlfile.html' | ||
}] | ||
], | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '118' | ||
}, { | ||
type: 'ATOM', | ||
value: '6' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'htmlfile.html' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -1657,11 +1657,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -1674,16 +1674,16 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'LITERAL', | ||
value: 'The spirit is willing, but the flesh is spongy, and\r\n bruised. --Zap' | ||
}, { | ||
type: 'ATOM', | ||
value: 'p' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '6643' | ||
}, | ||
null, | ||
null, { | ||
type: 'LITERAL', | ||
value: 'The spirit is willing, but the flesh is spongy, and\r\n bruised. --Zap' | ||
}, { | ||
type: 'ATOM', | ||
value: 'p' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '6643' | ||
}, | ||
[{ | ||
@@ -1701,9 +1701,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1716,9 +1716,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1731,9 +1731,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -1752,8 +1752,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066972996.4264.39.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066972996.4264.39.camel@localhost>' | ||
} | ||
], | ||
@@ -1778,17 +1778,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'quoted-printable' | ||
}, { | ||
type: 'ATOM', | ||
value: '1606' | ||
}, { | ||
type: 'ATOM', | ||
value: '42' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'quoted-printable' | ||
}, { | ||
type: 'ATOM', | ||
value: '1606' | ||
}, { | ||
type: 'ATOM', | ||
value: '42' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -1809,17 +1809,17 @@ [{ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'quoted-printable' | ||
}, { | ||
type: 'ATOM', | ||
value: '2128' | ||
}, { | ||
type: 'ATOM', | ||
value: '54' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'quoted-printable' | ||
}, { | ||
type: 'ATOM', | ||
value: '2128' | ||
}, { | ||
type: 'ATOM', | ||
value: '54' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -1857,23 +1857,23 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '1122' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'smiley-3.png' | ||
}] | ||
], | ||
null, | ||
null | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '1122' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'smiley-3.png' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -1914,24 +1914,24 @@ type: 'STRING', | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '96' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'dot.gif' | ||
}] | ||
], | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '96' | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'attachment' | ||
}, | ||
[{ | ||
type: 'STRING', | ||
value: 'filename' | ||
}, { | ||
type: 'STRING', | ||
value: 'dot.gif' | ||
}] | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -1966,16 +1966,16 @@ type: 'STRING', | ||
}], | ||
null, { | ||
type: 'STRING', | ||
value: 'This is a digitally signed message part' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '196' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, { | ||
type: 'STRING', | ||
value: 'This is a digitally signed message part' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '196' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -2011,11 +2011,11 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], | ||
[{ | ||
@@ -2028,13 +2028,13 @@ type: 'STRING', | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Kittens give Morbo gas. --Morbo' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '3088' | ||
}, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: 'Kittens give Morbo gas. --Morbo' | ||
}, { | ||
type: 'STRING', | ||
value: '7bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '3088' | ||
}, | ||
[{ | ||
@@ -2052,9 +2052,9 @@ type: 'STRING', | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -2067,9 +2067,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -2082,9 +2082,9 @@ ], | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
null, { | ||
type: 'STRING', | ||
value: 'rfinnie' | ||
}, { | ||
type: 'STRING', | ||
value: 'domain.dom' | ||
} | ||
] | ||
@@ -2103,8 +2103,8 @@ ], | ||
], | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973557.4265.51.camel@localhost>' | ||
} | ||
null, | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973557.4265.51.camel@localhost>' | ||
} | ||
], | ||
@@ -2126,17 +2126,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '863' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '863' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -2158,17 +2158,17 @@ [ | ||
}], | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1258' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, | ||
null, { | ||
type: 'STRING', | ||
value: '8bit' | ||
}, { | ||
type: 'ATOM', | ||
value: '1258' | ||
}, { | ||
type: 'ATOM', | ||
value: '22' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], | ||
@@ -2182,17 +2182,17 @@ [{ | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973340.4232.46.camel@localhost>' | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '116' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
null, { | ||
type: 'STRING', | ||
value: '<1066973340.4232.46.camel@localhost>' | ||
}, | ||
null, { | ||
type: 'STRING', | ||
value: 'base64' | ||
}, { | ||
type: 'ATOM', | ||
value: '116' | ||
}, | ||
null, | ||
null, | ||
null, | ||
null | ||
], { | ||
@@ -2236,10 +2236,10 @@ type: 'STRING', | ||
}, | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
null, [{ | ||
type: 'STRING', | ||
value: 'inline' | ||
}, | ||
null | ||
], | ||
null, | ||
null | ||
], { | ||
@@ -2246,0 +2246,0 @@ type: 'STRING', |
{ | ||
"name": "emailjs-imap-handler", | ||
"version": "3.0.2", | ||
"version": "3.0.3", | ||
"homepage": "https://github.com/emailjs/emailjs-imap-handler", | ||
@@ -15,4 +15,4 @@ "author": "Andris Reinman <andris@kreata.ee>", | ||
"build": "./scripts/build.sh", | ||
"release": "./scripts/release.sh", | ||
"lint": "$(npm bin)/standard", | ||
"preversion": "npm run build", | ||
"test": "npm run lint && npm run unit", | ||
@@ -26,5 +26,3 @@ "unit": "$(npm bin)/mocha './src/*-unit.js' --reporter spec --require babel-register testutils.js", | ||
}, | ||
"dependencies": { | ||
"ramda": "^0.25.0" | ||
}, | ||
"dependencies": {}, | ||
"devDependencies": { | ||
@@ -34,7 +32,7 @@ "babel-cli": "^6.26.0", | ||
"babel-register": "^6.26.0", | ||
"chai": "^4.1.2", | ||
"mocha": "^4.0.1", | ||
"nodemon": "^1.12.1", | ||
"chai": "^4.2.0", | ||
"mocha": "^6.1.4", | ||
"nodemon": "^1.19.1", | ||
"pre-commit": "^1.2.2", | ||
"standard": "^10.0.3" | ||
"standard": "^12.0.1" | ||
}, | ||
@@ -41,0 +39,0 @@ "standard": { |
# IMAP Handler | ||
## HELP WANTED | ||
Felix is not actively maintaining this library anymore. But this is the only IMAP client for JS that I am aware of, so I feel this library still has its value. Please let me know if you're interested in helping out, either via email or open an issue about that. | ||
The work that's on the horizon is: | ||
* Adding features as per requests | ||
* Stay up to date with developments in the IMAP protocol | ||
* Maintenance of the other related emailjs libraries | ||
* Maintenance and update of [emailjs.org](https://emailjs.org) | ||
[![Greenkeeper badge](https://badges.greenkeeper.io/emailjs/emailjs-imap-handler.svg)](https://greenkeeper.io/) [![Build Status](https://travis-ci.org/emailjs/emailjs-imap-handler.png?branch=master)](https://travis-ci.org/emailjs/emailjs-imap-handler) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) [![ES6+](https://camo.githubusercontent.com/567e52200713e0f0c05a5238d91e1d096292b338/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f65732d362b2d627269676874677265656e2e737667)](https://kangax.github.io/compat-table/es6/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) | ||
@@ -32,2 +43,3 @@ | ||
* **valueAsString** LITERAL and STRING values are returned as strings rather than Uint8Array objects. Defaults to true. | ||
* **literalPlus** LITERAL+ allows the alternate form of literals in all IMAP commands (see: https://tools.ietf.org/html/rfc7888#section-4) | ||
@@ -34,0 +46,0 @@ The function returns an object in the following form: |
@@ -98,3 +98,3 @@ import compiler from './compiler' | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -110,3 +110,3 @@ | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -123,3 +123,3 @@ | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -135,3 +135,3 @@ | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -167,3 +167,3 @@ | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -201,3 +201,3 @@ } | ||
}, | ||
'zzz' | ||
'zzz' | ||
] | ||
@@ -229,3 +229,3 @@ } | ||
}, | ||
'Vana kere' | ||
'Vana kere' | ||
] | ||
@@ -232,0 +232,0 @@ } |
@@ -1,2 +0,5 @@ | ||
import { ATOM_CHAR, verify } from './formal-syntax' | ||
import { | ||
ASCII_BACKSLASH, | ||
IS_ATOM_CHAR | ||
} from './formal-syntax' | ||
@@ -85,4 +88,7 @@ /** | ||
if (verify(val.charAt(0) === '\\' ? val.substr(1) : val, ATOM_CHAR()) >= 0) { | ||
val = JSON.stringify(val) | ||
for (let i = val.charCodeAt(0) === ASCII_BACKSLASH ? 1 : 0; i < val.length; i++) { | ||
if (!IS_ATOM_CHAR(val.charCodeAt(i))) { | ||
val = JSON.stringify(val) | ||
break | ||
} | ||
} | ||
@@ -89,0 +95,0 @@ |
@@ -1,32 +0,42 @@ | ||
import { memoize, without, range } from 'ramda' | ||
// IMAP Formal Syntax | ||
// http://tools.ietf.org/html/rfc3501#section-9 | ||
const expandRange = (start, end) => String.fromCharCode.apply(String, range(start, end + 1)) | ||
const excludeChars = (source, exclude) => without(exclude.split(''), source.split('')).join('') | ||
export const ASCII_NL = 10 | ||
export const ASCII_CR = 13 | ||
export const ASCII_SPACE = 32 | ||
export const ASCII_DQUOTE = 34 // " | ||
export const ASCII_PERCENT_SIGN = 37 // % | ||
export const ASCII_LEFT_PARENTHESIS = 40 // ( | ||
export const ASCII_RIGHT_PARENTHESIS = 41 // ) | ||
export const ASCII_ASTERISK = 42 // * | ||
export const ASCII_PLUS = 43 // + | ||
export const ASCII_COMMA = 44 // , | ||
export const ASCII_FULL_STOP = 46 // . | ||
export const ASCII_COLON = 58 // : | ||
export const ASCII_LESS_THAN_SIGN = 60 // < | ||
export const ASCII_GREATER_THAN_SIGN = 62 // > | ||
export const ASCII_LEFT_BRACKET = 91 // [ | ||
export const ASCII_BACKSLASH = 92 // | ||
export const ASCII_RIGHT_BRACKET = 93 // ] | ||
export const ASCII_LEFT_CURLY_BRACKET = 123 // { | ||
export const ASCII_RIGHT_CURLY_BRACKET = 125 // } | ||
export const CHAR = memoize(() => expandRange(0x01, 0x7F)) | ||
export const CHAR8 = memoize(() => expandRange(0x01, 0xFF)) | ||
export const SP = () => ' ' | ||
export const CTL = memoize(() => expandRange(0x00, 0x1F) + '\x7F') | ||
export const DQUOTE = () => '"' | ||
export const ALPHA = memoize(() => expandRange(0x41, 0x5A) + expandRange(0x61, 0x7A)) | ||
export const DIGIT = memoize(() => expandRange(0x30, 0x39) + expandRange(0x61, 0x7A)) | ||
export const ATOM_CHAR = memoize(() => excludeChars(CHAR(), ATOM_SPECIALS())) | ||
export const ASTRING_CHAR = memoize(() => ATOM_CHAR() + RESP_SPECIALS()) | ||
export const TEXT_CHAR = memoize(() => excludeChars(CHAR(), '\r\n')) | ||
export const ATOM_SPECIALS = memoize(() => '(' + ')' + '{' + SP() + CTL() + LIST_WILDCARDS() + QUOTED_SPECIALS() + RESP_SPECIALS()) | ||
export const LIST_WILDCARDS = () => '%' + '*' | ||
export const QUOTED_SPECIALS = memoize(() => DQUOTE() + '\\') | ||
export const RESP_SPECIALS = () => ']' | ||
export const TAG = memoize(() => excludeChars(ASTRING_CHAR(), '+')) | ||
export const COMMAND = memoize(() => ALPHA() + DIGIT()) | ||
export const verify = function (str, allowedChars) { | ||
for (var i = 0, len = str.length; i < len; i++) { | ||
if (allowedChars.indexOf(str.charAt(i)) < 0) { | ||
return i | ||
} | ||
} | ||
return -1 | ||
} | ||
export const IS_CHAR = (chr) => chr >= 0x01 && chr <= 0x7F | ||
export const IS_ATOM_CHAR = (chr) => IS_CHAR(chr) && !IS_ATOM_SPECIALS(chr) | ||
export const IS_ATOM_SPECIALS = (chr) => chr === ASCII_LEFT_PARENTHESIS || | ||
chr === ASCII_RIGHT_PARENTHESIS || | ||
chr === ASCII_LEFT_CURLY_BRACKET || | ||
chr === ASCII_SPACE || | ||
IS_CTL(chr) || | ||
IS_LIST_WILDCARDS(chr) || | ||
IS_QUOTED_SPECIALS(chr) || | ||
IS_RESP_SPECIALS(chr) | ||
export const IS_CTL = (chr) => (chr >= 0x00 && chr <= 0x1F) || chr === 0x7F | ||
export const IS_LIST_WILDCARDS = (chr) => chr === ASCII_PERCENT_SIGN || chr === ASCII_ASTERISK | ||
export const IS_QUOTED_SPECIALS = (chr) => chr === ASCII_DQUOTE || chr === ASCII_BACKSLASH | ||
export const IS_RESP_SPECIALS = (chr) => chr === ASCII_RIGHT_BRACKET | ||
export const IS_DIGIT = (chr) => chr >= 0x30 && chr <= 0x39 | ||
export const IS_ALPHA = (chr) => (chr >= 0x41 && chr <= 0x5A) || (chr >= 0x61 && chr <= 0x7A) | ||
export const IS_COMMAND = (chr) => IS_ALPHA(chr) || IS_DIGIT(chr) | ||
export const IS_TAG = (chr) => IS_ASTRING_CHAR(chr) && chr !== ASCII_PLUS | ||
export const IS_ASTRING_CHAR = (chr) => IS_ATOM_CHAR(chr) || IS_RESP_SPECIALS(chr) |
@@ -188,7 +188,7 @@ import parser from './parser' | ||
// The following 4 tests are added as part of solution and verification | ||
// of https://github.com/emailjs/emailjs-imap-handler/issues/16 | ||
// See tools.ietf.org/html/rfc3501 and especially chapters: | ||
// * 5.1. Mailbox Naming | ||
// * 5.1.1. Mailbox Hierarchy Naming | ||
// The following 4 tests are added as part of solution and verification | ||
// of https://github.com/emailjs/emailjs-imap-handler/issues/16 | ||
// See tools.ietf.org/html/rfc3501 and especially chapters: | ||
// * 5.1. Mailbox Naming | ||
// * 5.1.1. Mailbox Hierarchy Naming | ||
describe('Mailbox names with brackets', function () { | ||
@@ -285,4 +285,4 @@ describe('for server with / as hierarchical separator', function () { | ||
]) | ||
// Trailing whitespace in a BODYSTRUCTURE atom list has been | ||
// observed on yahoo.co.jp's | ||
// Trailing whitespace in a BODYSTRUCTURE atom list has been | ||
// observed on yahoo.co.jp's | ||
expect(parser(str2arr('TAG1 CMD (1234 )')).attributes).to.deep.equal([ | ||
@@ -421,7 +421,7 @@ [{ | ||
it('will not fail due to trailing whitespace', function () { | ||
// We intentionally have trailing whitespace in the section here | ||
// because we altered the parser to handle this when we made it | ||
// legal for lists and it makes sense to accordingly test it. | ||
// However, we have no recorded incidences of this happening in | ||
// reality (unlike for lists). | ||
// We intentionally have trailing whitespace in the section here | ||
// because we altered the parser to handle this when we made it | ||
// legal for lists and it makes sense to accordingly test it. | ||
// However, we have no recorded incidences of this happening in | ||
// reality (unlike for lists). | ||
expect(parser(str2arr('TAG1 CMD BODY[HEADER.FIELDS (Subject From) ]')).attributes).to.deep.equal([{ | ||
@@ -487,5 +487,5 @@ type: 'ATOM', | ||
it('should succeed 4', function () { | ||
// USEATTR is from RFC6154; we are testing that just an ATOM | ||
// on its own will parse successfully here. (All of the | ||
// RFC5530 codes are also single atoms.) | ||
// USEATTR is from RFC6154; we are testing that just an ATOM | ||
// on its own will parse successfully here. (All of the | ||
// RFC5530 codes are also single atoms.) | ||
expect(parser(str2arr('TAG1 OK [USEATTR] \\All not supported'))).to.deep.equal({ | ||
@@ -509,4 +509,4 @@ tag: 'TAG1', | ||
it('should succeed 5', function () { | ||
// RFC5267 defines the NOUPDATE error. Including for quote / | ||
// string coverage. | ||
// RFC5267 defines the NOUPDATE error. Including for quote / | ||
// string coverage. | ||
expect(parser(str2arr('* NO [NOUPDATE "B02"] Too many contexts'))).to.deep.equal({ | ||
@@ -533,5 +533,5 @@ tag: '*', | ||
it('should succeed 6', function () { | ||
// RFC5464 defines the METADATA response code; adding this to | ||
// ensure the transition for when '2199' hits ']' is handled | ||
// safely. | ||
// RFC5464 defines the METADATA response code; adding this to | ||
// ensure the transition for when '2199' hits ']' is handled | ||
// safely. | ||
expect(parser(str2arr('TAG1 OK [METADATA LONGENTRIES 2199] GETMETADATA complete'))).to.deep.equal({ | ||
@@ -561,4 +561,4 @@ tag: 'TAG1', | ||
it('should succeed 7', function () { | ||
// RFC4467 defines URLMECH. Included because of the example | ||
// third atom involves base64-encoding which is somewhat unusual | ||
// RFC4467 defines URLMECH. Included because of the example | ||
// third atom involves base64-encoding which is somewhat unusual | ||
expect(parser(str2arr('TAG1 OK [URLMECH INTERNAL XSAMPLE=P34OKhO7VEkCbsiYY8rGEg==] done'))).to.deep.equal({ | ||
@@ -588,10 +588,10 @@ tag: 'TAG1', | ||
it('should succeed 8', function () { | ||
// RFC2221 defines REFERRAL where the argument is an imapurl | ||
// (defined by RFC2192 which is obsoleted by RFC5092) which | ||
// is significantly more complicated than the rest of the IMAP | ||
// grammar and which was based on the RFC2060 grammar where | ||
// resp_text_code included: | ||
// atom [SPACE 1*<any TEXT_CHAR except ']'>] | ||
// So this is just a test case of our explicit special-casing | ||
// of REFERRAL. | ||
// RFC2221 defines REFERRAL where the argument is an imapurl | ||
// (defined by RFC2192 which is obsoleted by RFC5092) which | ||
// is significantly more complicated than the rest of the IMAP | ||
// grammar and which was based on the RFC2060 grammar where | ||
// resp_text_code included: | ||
// atom [SPACE 1*<any TEXT_CHAR except ']'>] | ||
// So this is just a test case of our explicit special-casing | ||
// of REFERRAL. | ||
expect(parser(str2arr('TAG1 NO [REFERRAL IMAP://user;AUTH=*@SERVER2/] Remote Server'))).to.deep.equal({ | ||
@@ -618,5 +618,5 @@ tag: 'TAG1', | ||
it('should succeed 9', function () { | ||
// PERMANENTFLAGS is from RFC3501. Its syntax is also very | ||
// similar to BADCHARSET, except BADCHARSET has astrings | ||
// inside the list. | ||
// PERMANENTFLAGS is from RFC3501. Its syntax is also very | ||
// similar to BADCHARSET, except BADCHARSET has astrings | ||
// inside the list. | ||
expect(parser(str2arr('* OK [PERMANENTFLAGS (de:hacking $label kt-evalution [css3-page] \\*)] Flags permitted.'))).to.deep.equal({ | ||
@@ -657,5 +657,5 @@ tag: '*', | ||
it('should succeed 10', function () { | ||
// COPYUID is from RFC4315 and included the previously failing | ||
// parsing situation of a sequence terminated by ']' rather than | ||
// whitespace. | ||
// COPYUID is from RFC4315 and included the previously failing | ||
// parsing situation of a sequence terminated by ']' rather than | ||
// whitespace. | ||
expect(parser(str2arr('TAG1 OK [COPYUID 4 1417051618:1417051620 1421730687:1421730689] COPY completed'))).to.deep.equal({ | ||
@@ -688,6 +688,6 @@ tag: 'TAG1', | ||
it('should succeed 11', function () { | ||
// MODIFIED is from RFC4551 and is basically the same situation | ||
// as the COPYUID case, but in this case our example sequences | ||
// have commas in them. (Note that if there was no comma, the | ||
// '7,9' payload would end up an ATOM.) | ||
// MODIFIED is from RFC4551 and is basically the same situation | ||
// as the COPYUID case, but in this case our example sequences | ||
// have commas in them. (Note that if there was no comma, the | ||
// '7,9' payload would end up an ATOM.) | ||
expect(parser(str2arr('TAG1 OK [MODIFIED 7,9] Conditional STORE failed'))).to.deep.equal({ | ||
@@ -694,0 +694,0 @@ tag: 'TAG1', |
import { | ||
SP, DIGIT, ATOM_CHAR, | ||
TAG, COMMAND, verify | ||
ASCII_ASTERISK, | ||
ASCII_BACKSLASH, | ||
ASCII_COLON, | ||
ASCII_COMMA, | ||
ASCII_CR, | ||
ASCII_DQUOTE, | ||
ASCII_FULL_STOP, | ||
ASCII_GREATER_THAN_SIGN, | ||
ASCII_LEFT_BRACKET, | ||
ASCII_LEFT_CURLY_BRACKET, | ||
ASCII_LEFT_PARENTHESIS, | ||
ASCII_LESS_THAN_SIGN, | ||
ASCII_NL, | ||
ASCII_PERCENT_SIGN, | ||
ASCII_PLUS, | ||
ASCII_RIGHT_BRACKET, | ||
ASCII_RIGHT_CURLY_BRACKET, | ||
ASCII_RIGHT_PARENTHESIS, | ||
ASCII_SPACE, | ||
IS_COMMAND, | ||
IS_DIGIT, | ||
IS_ATOM_CHAR, | ||
IS_TAG | ||
} from './formal-syntax' | ||
let ASCII_NL = 10 | ||
let ASCII_CR = 13 | ||
let ASCII_SPACE = 32 | ||
let ASCII_LEFT_BRACKET = 91 | ||
let ASCII_RIGHT_BRACKET = 93 | ||
function fromCharCode (uint8Array) { | ||
@@ -62,3 +77,4 @@ const batchSize = 10240 | ||
if (!this.tag) { | ||
this.tag = this.getElement(TAG() + '*+', true) | ||
const syntaxChecker = (chr) => IS_TAG(chr) || chr === ASCII_ASTERISK || chr === ASCII_PLUS | ||
this.tag = this.getElement(syntaxChecker) | ||
} | ||
@@ -70,3 +86,3 @@ return this.tag | ||
if (!this.command) { | ||
this.command = this.getElement(COMMAND()) | ||
this.command = this.getElement(IS_COMMAND) | ||
} | ||
@@ -94,3 +110,3 @@ | ||
getElement (syntax) { | ||
getElement (syntaxChecker) { | ||
let element | ||
@@ -104,10 +120,11 @@ if (this.remainder[0] === ASCII_SPACE) { | ||
if (firstSpace === -1) { | ||
element = fromCharCode(this.remainder) | ||
element = this.remainder | ||
} else { | ||
element = fromCharCode(this.remainder.subarray(0, firstSpace)) | ||
element = this.remainder.subarray(0, firstSpace) | ||
} | ||
const errPos = verify(element, syntax) | ||
if (errPos >= 0) { | ||
throw new Error('Unexpected char at position ' + (this.pos + errPos)) | ||
for (let i = 0; i < element.length; i++) { | ||
if (!syntaxChecker(element[i])) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
} | ||
} | ||
@@ -121,3 +138,3 @@ } else { | ||
return element | ||
return fromCharCode(element) | ||
} | ||
@@ -130,3 +147,3 @@ | ||
if (verify(String.fromCharCode(this.remainder[0]), SP()) >= 0) { | ||
if (this.remainder[0] !== ASCII_SPACE) { | ||
throw new Error('Unexpected char at position ' + this.pos) | ||
@@ -280,4 +297,3 @@ } | ||
let ascii = this.uint8Array[index] | ||
return ascii >= 48 && ascii <= 57 | ||
return IS_DIGIT(this.uint8Array[index]) | ||
} | ||
@@ -336,3 +352,3 @@ | ||
// If the node was never closed, throw it | ||
// If the node was never closed, throw it | ||
if (!node.closed) { | ||
@@ -402,4 +418,4 @@ throw new Error('Unexpected end of input at position ' + (this.pos + this.uint8Array.length - 1)) | ||
const checkSP = (pos) => { | ||
// jump to the next non whitespace pos | ||
while (this.uint8Array[i + 1] === ' ') { | ||
// jump to the next non whitespace pos | ||
while (this.uint8Array[i + 1] === ASCII_SPACE) { | ||
i++ | ||
@@ -410,3 +426,3 @@ } | ||
for (i = 0, len = this.uint8Array.length; i < len; i++) { | ||
let chr = String.fromCharCode(this.uint8Array[i]) | ||
let chr = this.uint8Array[i] | ||
@@ -417,4 +433,4 @@ switch (this.state) { | ||
switch (chr) { | ||
// DQUOTE starts a new string | ||
case '"': | ||
// DQUOTE starts a new string | ||
case ASCII_DQUOTE: | ||
this.currentNode = this.createNode(this.currentNode, i) | ||
@@ -426,4 +442,4 @@ this.currentNode.type = 'string' | ||
// ( starts a new list | ||
case '(': | ||
// ( starts a new list | ||
case ASCII_LEFT_PARENTHESIS: | ||
this.currentNode = this.createNode(this.currentNode, i) | ||
@@ -434,4 +450,4 @@ this.currentNode.type = 'LIST' | ||
// ) closes a list | ||
case ')': | ||
// ) closes a list | ||
case ASCII_RIGHT_PARENTHESIS: | ||
if (this.currentNode.type !== 'LIST') { | ||
@@ -448,4 +464,4 @@ throw new Error('Unexpected list terminator ) at position ' + (this.pos + i)) | ||
// ] closes section group | ||
case ']': | ||
// ] closes section group | ||
case ASCII_RIGHT_BRACKET: | ||
if (this.currentNode.type !== 'SECTION') { | ||
@@ -460,5 +476,5 @@ throw new Error('Unexpected section terminator ] at position ' + (this.pos + i)) | ||
// < starts a new partial | ||
case '<': | ||
if (String.fromCharCode(this.uint8Array[i - 1]) !== ']') { | ||
// < starts a new partial | ||
case ASCII_LESS_THAN_SIGN: | ||
if (this.uint8Array[i - 1] !== ASCII_RIGHT_BRACKET) { | ||
this.currentNode = this.createNode(this.currentNode, i) | ||
@@ -477,4 +493,4 @@ this.currentNode.type = 'ATOM' | ||
// { starts a new literal | ||
case '{': | ||
// { starts a new literal | ||
case ASCII_LEFT_CURLY_BRACKET: | ||
this.currentNode = this.createNode(this.currentNode, i) | ||
@@ -486,4 +502,4 @@ this.currentNode.type = 'LITERAL' | ||
// ( starts a new sequence | ||
case '*': | ||
// ( starts a new sequence | ||
case ASCII_ASTERISK: | ||
this.currentNode = this.createNode(this.currentNode, i) | ||
@@ -497,10 +513,10 @@ this.currentNode.type = 'SEQUENCE' | ||
// normally a space should never occur | ||
case ' ': | ||
// just ignore | ||
// normally a space should never occur | ||
case ASCII_SPACE: | ||
// just ignore | ||
break | ||
// [ starts section | ||
case '[': | ||
// If it is the *first* element after response command, then process as a response argument list | ||
// [ starts section | ||
case ASCII_LEFT_BRACKET: | ||
// If it is the *first* element after response command, then process as a response argument list | ||
if (['OK', 'NO', 'BAD', 'BYE', 'PREAUTH'].indexOf(this.parent.command.toUpperCase()) >= 0 && this.currentNode === this.tree) { | ||
@@ -517,8 +533,8 @@ this.currentNode.endPos = this.pos + i | ||
// RFC2221 defines a response code REFERRAL whose payload is an | ||
// RFC2192/RFC5092 imapurl that we will try to parse as an ATOM but | ||
// fail quite badly at parsing. Since the imapurl is such a unique | ||
// (and crazy) term, we just specialize that case here. | ||
// RFC2221 defines a response code REFERRAL whose payload is an | ||
// RFC2192/RFC5092 imapurl that we will try to parse as an ATOM but | ||
// fail quite badly at parsing. Since the imapurl is such a unique | ||
// (and crazy) term, we just specialize that case here. | ||
if (fromCharCode(this.uint8Array.subarray(i + 1, i + 10)).toUpperCase() === 'REFERRAL ') { | ||
// create the REFERRAL atom | ||
// create the REFERRAL atom | ||
this.currentNode = this.createNode(this.currentNode, this.pos + i + 1) | ||
@@ -532,7 +548,7 @@ this.currentNode.type = 'ATOM' | ||
// eat all the way through the ] to be the IMAPURL token. | ||
// eat all the way through the ] to be the IMAPURL token. | ||
this.currentNode = this.createNode(this.currentNode, this.pos + i + 10) | ||
// just call this an ATOM, even though IMAPURL might be more correct | ||
// just call this an ATOM, even though IMAPURL might be more correct | ||
this.currentNode.type = 'ATOM' | ||
// jump i to the ']' | ||
// jump i to the ']' | ||
i = this.uint8Array.indexOf(ASCII_RIGHT_BRACKET, i + 10) | ||
@@ -544,3 +560,3 @@ this.currentNode.endPos = this.pos + i - 1 | ||
// close out the SECTION | ||
// close out the SECTION | ||
this.currentNode.closed = true | ||
@@ -553,8 +569,8 @@ this.currentNode = this.currentNode.parentNode | ||
} | ||
/* falls through */ | ||
/* falls through */ | ||
default: | ||
// Any ATOM supported char starts a new Atom sequence, otherwise throw an error | ||
// Allow \ as the first char for atom to support system flags | ||
// Allow % to support LIST '' % | ||
if (ATOM_CHAR().indexOf(chr) < 0 && chr !== '\\' && chr !== '%') { | ||
// Any ATOM supported char starts a new Atom sequence, otherwise throw an error | ||
// Allow \ as the first char for atom to support system flags | ||
// Allow % to support LIST '' % | ||
if (!IS_ATOM_CHAR(chr) && chr !== ASCII_BACKSLASH && chr !== ASCII_PERCENT_SIGN) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
@@ -574,4 +590,4 @@ } | ||
// space finishes an atom | ||
if (chr === ' ') { | ||
// space finishes an atom | ||
if (chr === ASCII_SPACE) { | ||
this.currentNode.endPos = this.pos + i - 1 | ||
@@ -583,10 +599,10 @@ this.currentNode = this.currentNode.parentNode | ||
// | ||
// | ||
if ( | ||
this.currentNode.parentNode && | ||
( | ||
(chr === ')' && this.currentNode.parentNode.type === 'LIST') || | ||
(chr === ']' && this.currentNode.parentNode.type === 'SECTION') | ||
) | ||
) { | ||
this.currentNode.parentNode && | ||
( | ||
(chr === ASCII_RIGHT_PARENTHESIS && this.currentNode.parentNode.type === 'LIST') || | ||
(chr === ASCII_RIGHT_BRACKET && this.currentNode.parentNode.type === 'SECTION') | ||
) | ||
) { | ||
this.currentNode.endPos = this.pos + i - 1 | ||
@@ -604,3 +620,3 @@ this.currentNode = this.currentNode.parentNode | ||
if ((chr === ',' || chr === ':') && this.currentNode.isNumber()) { | ||
if ((chr === ASCII_COMMA || chr === ASCII_COLON) && this.currentNode.isNumber()) { | ||
this.currentNode.type = 'SEQUENCE' | ||
@@ -611,4 +627,4 @@ this.currentNode.closed = true | ||
// [ starts a section group for this element | ||
if (chr === '[' && (this.currentNode.equals('BODY', false) || this.currentNode.equals('BODY.PEEK', false))) { | ||
// [ starts a section group for this element | ||
if (chr === ASCII_LEFT_BRACKET && (this.currentNode.equals('BODY', false) || this.currentNode.equals('BODY.PEEK', false))) { | ||
this.currentNode.endPos = this.pos + i | ||
@@ -622,8 +638,8 @@ this.currentNode = this.createNode(this.currentNode.parentNode, this.pos + i) | ||
if (chr === '<') { | ||
if (chr === ASCII_LESS_THAN_SIGN) { | ||
throw new Error('Unexpected start of partial at position ' + this.pos) | ||
} | ||
// if the char is not ATOM compatible, throw. Allow \* as an exception | ||
if (ATOM_CHAR().indexOf(chr) < 0 && chr !== ']' && !(chr === '*' && this.currentNode.equals('\\'))) { | ||
// if the char is not ATOM compatible, throw. Allow \* as an exception | ||
if (!IS_ATOM_CHAR(chr) && chr !== ASCII_RIGHT_BRACKET && !(chr === ASCII_ASTERISK && this.currentNode.equals('\\'))) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
@@ -639,4 +655,4 @@ } else if (this.currentNode.equals('\\*')) { | ||
// DQUOTE ends the string sequence | ||
if (chr === '"') { | ||
// DQUOTE ends the string sequence | ||
if (chr === ASCII_DQUOTE) { | ||
this.currentNode.endPos = this.pos + i | ||
@@ -651,4 +667,4 @@ this.currentNode.closed = true | ||
// \ Escapes the following char | ||
if (chr === '\\') { | ||
// \ Escapes the following char | ||
if (chr === ASCII_BACKSLASH) { | ||
this.currentNode.valueSkip.push(i - this.currentNode.valueStart) | ||
@@ -659,10 +675,10 @@ i++ | ||
} | ||
chr = String.fromCharCode(this.uint8Array[i]) | ||
chr = this.uint8Array[i] | ||
} | ||
/* // skip this check, otherwise the parser might explode on binary input | ||
if (TEXT_CHAR().indexOf(chr) < 0) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)); | ||
} | ||
*/ | ||
/* // skip this check, otherwise the parser might explode on binary input | ||
if (TEXT_CHAR().indexOf(chr) < 0) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)); | ||
} | ||
*/ | ||
@@ -673,3 +689,3 @@ this.currentNode.valueEnd = i + 1 | ||
case 'PARTIAL': | ||
if (chr === '>') { | ||
if (chr === ASCII_GREATER_THAN_SIGN) { | ||
if (this.currentNode.equalsAt('.', -1)) { | ||
@@ -686,11 +702,11 @@ throw new Error('Unexpected end of partial at position ' + this.pos) | ||
if (chr === '.' && (!this.currentNode.getValueLength() || this.currentNode.containsChar('.'))) { | ||
if (chr === ASCII_FULL_STOP && (!this.currentNode.getValueLength() || this.currentNode.containsChar('.'))) { | ||
throw new Error('Unexpected partial separator . at position ' + this.pos) | ||
} | ||
if (DIGIT().indexOf(chr) < 0 && chr !== '.') { | ||
if (!IS_DIGIT(chr) && chr !== ASCII_FULL_STOP) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
} | ||
if (chr !== '.' && (this.currentNode.equals('0') || this.currentNode.equalsAt('.0', -2))) { | ||
if (chr !== ASCII_FULL_STOP && (this.currentNode.equals('0') || this.currentNode.equalsAt('.0', -2))) { | ||
throw new Error('Invalid partial at position ' + (this.pos + i)) | ||
@@ -704,3 +720,3 @@ } | ||
if (this.currentNode.started) { | ||
if (chr === '\u0000') { | ||
if (chr === 0) { | ||
throw new Error('Unexpected \\x00 at position ' + (this.pos + i)) | ||
@@ -720,3 +736,3 @@ } | ||
if (chr === '+' && this.options.literalPlus) { | ||
if (chr === ASCII_PLUS && this.options.literalPlus) { | ||
this.currentNode.literalPlus = true | ||
@@ -726,3 +742,3 @@ break | ||
if (chr === '}') { | ||
if (chr === ASCII_RIGHT_CURLY_BRACKET) { | ||
if (!('literalLength' in this.currentNode)) { | ||
@@ -743,4 +759,4 @@ throw new Error('Unexpected literal prefix end char } at position ' + (this.pos + i)) | ||
if (!this.currentNode.literalLength) { | ||
// special case where literal content length is 0 | ||
// close the node right away, do not wait for additional input | ||
// special case where literal content length is 0 | ||
// close the node right away, do not wait for additional input | ||
this.currentNode.endPos = this.pos + i | ||
@@ -754,3 +770,3 @@ this.currentNode.closed = true | ||
} | ||
if (DIGIT().indexOf(chr) < 0) { | ||
if (!IS_DIGIT(chr)) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
@@ -761,8 +777,8 @@ } | ||
} | ||
this.currentNode.literalLength = (this.currentNode.literalLength || '') + chr | ||
this.currentNode.literalLength = (this.currentNode.literalLength || '') + String.fromCharCode(chr) | ||
break | ||
case 'SEQUENCE': | ||
// space finishes the sequence set | ||
if (chr === ' ') { | ||
// space finishes the sequence set | ||
if (chr === ASCII_SPACE) { | ||
if (!this.currentNode.isDigit(-1) && !this.currentNode.equalsAt('*', -1)) { | ||
@@ -782,4 +798,4 @@ throw new Error('Unexpected whitespace at position ' + (this.pos + i)) | ||
} else if (this.currentNode.parentNode && | ||
chr === ']' && | ||
this.currentNode.parentNode.type === 'SECTION') { | ||
chr === ASCII_RIGHT_BRACKET && | ||
this.currentNode.parentNode.type === 'SECTION') { | ||
this.currentNode.endPos = this.pos + i - 1 | ||
@@ -797,11 +813,11 @@ this.currentNode = this.currentNode.parentNode | ||
if (chr === ':') { | ||
if (chr === ASCII_COLON) { | ||
if (!this.currentNode.isDigit(-1) && !this.currentNode.equalsAt('*', -1)) { | ||
throw new Error('Unexpected range separator : at position ' + (this.pos + i)) | ||
} | ||
} else if (chr === '*') { | ||
} else if (chr === ASCII_ASTERISK) { | ||
if (!this.currentNode.equalsAt(',', -1) && !this.currentNode.equalsAt(':', -1)) { | ||
throw new Error('Unexpected range wildcard at position ' + (this.pos + i)) | ||
} | ||
} else if (chr === ',') { | ||
} else if (chr === ASCII_COMMA) { | ||
if (!this.currentNode.isDigit(-1) && !this.currentNode.equalsAt('*', -1)) { | ||
@@ -813,7 +829,7 @@ throw new Error('Unexpected sequence separator , at position ' + (this.pos + i)) | ||
} | ||
} else if (!/\d/.test(chr)) { | ||
} else if (!IS_DIGIT(chr)) { | ||
throw new Error('Unexpected char at position ' + (this.pos + i)) | ||
} | ||
if (/\d/.test(chr) && this.currentNode.equalsAt('*', -1)) { | ||
if (IS_DIGIT(chr) && this.currentNode.equalsAt('*', -1)) { | ||
throw new Error('Unexpected number at position ' + (this.pos + i)) | ||
@@ -839,3 +855,3 @@ } | ||
parser.getSpace() | ||
response.command += ' ' + parser.getElement(COMMAND()) | ||
response.command += ' ' + parser.getElement(IS_COMMAND) | ||
} | ||
@@ -842,0 +858,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
238325
0
4951
192
19
- Removedramda@^0.25.0
- Removedramda@0.25.0(transitive)