Initial backup 2026-02-17
This commit is contained in:
20
skills/imap-smtp-email/node_modules/quoted-printable/LICENSE-MIT.txt
generated
vendored
Normal file
20
skills/imap-smtp-email/node_modules/quoted-printable/LICENSE-MIT.txt
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright Mathias Bynens <https://mathiasbynens.be/>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
151
skills/imap-smtp-email/node_modules/quoted-printable/README.md
generated
vendored
Normal file
151
skills/imap-smtp-email/node_modules/quoted-printable/README.md
generated
vendored
Normal file
@@ -0,0 +1,151 @@
|
||||
# quoted-printable [](https://travis-ci.org/mathiasbynens/quoted-printable) [](https://coveralls.io/r/mathiasbynens/quoted-printable) [](https://gemnasium.com/mathiasbynens/quoted-printable)
|
||||
|
||||
_quoted-printable_ is a character encoding–agnostic JavaScript implementation of [the `Quoted-Printable` content transfer encoding as defined by RFC 2045](https://tools.ietf.org/html/rfc2045#section-6.7). It can be used to encode plaintext to its `Quoted-Printable` encoding, or the other way around (i.e. decoding). [Here’s an online demo using the UTF-8 character encoding.](https://mothereff.in/quoted-printable)
|
||||
|
||||
## Installation
|
||||
|
||||
Via [npm](https://www.npmjs.com/):
|
||||
|
||||
```bash
|
||||
npm install quoted-printable
|
||||
```
|
||||
|
||||
Via [Bower](http://bower.io/):
|
||||
|
||||
```bash
|
||||
bower install quoted-printable
|
||||
```
|
||||
|
||||
Via [Component](https://github.com/component/component):
|
||||
|
||||
```bash
|
||||
component install mathiasbynens/quoted-printable
|
||||
```
|
||||
|
||||
In a browser:
|
||||
|
||||
```html
|
||||
<script src="quoted-printable.js"></script>
|
||||
```
|
||||
|
||||
In [Node.js](https://nodejs.org/), [io.js](https://iojs.org/), [Narwhal](http://narwhaljs.org/), and [RingoJS](http://ringojs.org/):
|
||||
|
||||
```js
|
||||
var quotedPrintable = require('quoted-printable');
|
||||
```
|
||||
|
||||
In [Rhino](http://www.mozilla.org/rhino/):
|
||||
|
||||
```js
|
||||
load('quoted-printable.js');
|
||||
```
|
||||
|
||||
Using an AMD loader like [RequireJS](http://requirejs.org/):
|
||||
|
||||
```js
|
||||
require(
|
||||
{
|
||||
'paths': {
|
||||
'quoted-printable': 'path/to/quoted-printable'
|
||||
}
|
||||
},
|
||||
['quoted-printable'],
|
||||
function(quotedPrintable) {
|
||||
console.log(quotedPrintable);
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `quotedPrintable.version`
|
||||
|
||||
A string representing the semantic version number.
|
||||
|
||||
### `quotedPrintable.encode(input)`
|
||||
|
||||
This function takes an encoded byte string (the `input` parameter) and `Quoted-Printable`-encodes it. Each item in the input string represents an octet as per the desired character encoding. Here’s an example that uses UTF-8:
|
||||
|
||||
```js
|
||||
var utf8 = require('utf8');
|
||||
|
||||
quotedPrintable.encode(utf8.encode('foo=bar'));
|
||||
// → 'foo=3Dbar'
|
||||
|
||||
quotedPrintable.encode(utf8.encode('Iñtërnâtiônàlizætiøn☃💩'));
|
||||
// → 'I=C3=B1t=C3=ABrn=C3=A2ti=C3=B4n=C3=A0liz=C3=A6ti=C3=B8n=E2=98=83=F0=9F=92=\r\n=A9'
|
||||
```
|
||||
|
||||
### `quotedPrintable.decode(text)`
|
||||
|
||||
This function takes a string of text (the `text` parameter) and `Quoted-Printable`-decodes it. The return value is a ‘byte string’, i.e. a string of which each item represents an octet as per the character encoding that’s being used. Here’s an example that uses UTF-8:
|
||||
|
||||
```js
|
||||
var utf8 = require('utf8');
|
||||
|
||||
utf8.decode(quotedPrintable.decode('foo=3Dbar'));
|
||||
// → 'foo=bar'
|
||||
|
||||
utf8.decode(quotedPrintable.decode('I=C3=B1t=C3=ABrn=C3=A2ti=C3=B4n=C3=A0liz=C3=A6ti=C3=B8n=E2=98=83=F0=9F=92=\r\n=A9'));
|
||||
// → 'Iñtërnâtiônàlizætiøn☃💩'
|
||||
```
|
||||
|
||||
### Using the `quoted-printable` binary
|
||||
|
||||
To use the `quoted-printable` binary in your shell, simply install _quoted-printable_ globally using npm:
|
||||
|
||||
```bash
|
||||
npm install -g quoted-printable
|
||||
```
|
||||
|
||||
After that, you’ll be able to use `quoted-printable` on the command line. Note that while the _quoted-printable_ library itself is character encoding–agnostic, the command-line tool applies the UTF-8 character encoding on all input.
|
||||
|
||||
```bash
|
||||
$ quoted-printable --encode 'foo=bar'
|
||||
foo=3Dbar
|
||||
|
||||
$ quoted-printable --decode 'foo=3Dbar'
|
||||
foo=bar
|
||||
```
|
||||
|
||||
Read a local text file, `Quoted-Printable`-encode it, and save the result to a new file:
|
||||
|
||||
```bash
|
||||
$ quoted-printable --encode < foo.txt > foo-quoted-printable.txt
|
||||
```
|
||||
|
||||
Or do the same with an online text file:
|
||||
|
||||
```bash
|
||||
$ curl -sL 'https://mths.be/brh' | quoted-printable --encode > quoted-printable.txt
|
||||
```
|
||||
|
||||
Or, the opposite — read a local file containing a `Quoted-Printable`-encoded message, decode it back to plain text, and save the result to a new file:
|
||||
|
||||
```bash
|
||||
$ quoted-printable --decode < quoted-printable.txt > original.txt
|
||||
```
|
||||
|
||||
See `quoted-printable --help` for the full list of options.
|
||||
|
||||
## Support
|
||||
|
||||
_quoted-printable_ is designed to work in at least Node.js v0.10.0, io.js v1.0.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, Rhino 1.7RC4, as well as old and modern versions of Chrome, Firefox, Safari, Opera, and Internet Explorer.
|
||||
|
||||
## Unit tests & code coverage
|
||||
|
||||
After cloning this repository, run `npm install` to install the dependencies needed for development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.
|
||||
|
||||
Once that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, and web browsers as well, use `grunt test`.
|
||||
|
||||
To generate the code coverage report, use `grunt cover`.
|
||||
|
||||
## Author
|
||||
|
||||
| [](https://twitter.com/mathias "Follow @mathias on Twitter") |
|
||||
|---|
|
||||
| [Mathias Bynens](https://mathiasbynens.be/) |
|
||||
|
||||
## License
|
||||
|
||||
_quoted-printable_ is available under the [MIT](https://mths.be/mit) license.
|
||||
116
skills/imap-smtp-email/node_modules/quoted-printable/bin/quoted-printable
generated
vendored
Normal file
116
skills/imap-smtp-email/node_modules/quoted-printable/bin/quoted-printable
generated
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
#!/usr/bin/env node
|
||||
(function() {
|
||||
|
||||
var fs = require('fs');
|
||||
var utf8 = require('utf8');
|
||||
var quotedPrintable = require('../quoted-printable.js');
|
||||
var strings = process.argv.splice(2);
|
||||
var stdin = process.stdin;
|
||||
var data;
|
||||
var timeout;
|
||||
var action;
|
||||
var options = {};
|
||||
var log = console.log;
|
||||
|
||||
var main = function() {
|
||||
var option = strings[0];
|
||||
var count = 0;
|
||||
|
||||
if (/^(?:-h|--help|undefined)$/.test(option)) {
|
||||
log(
|
||||
'quoted-printable v%s - https://mths.be/quoted-printable',
|
||||
quotedPrintable.version
|
||||
);
|
||||
log([
|
||||
'\nEncode or decode messages using the `Quoted-Printable` encoding (and UTF-8).',
|
||||
'\nUsage:\n',
|
||||
'\tquoted-printable [-e | --encode] string',
|
||||
'\tquoted-printable [-d | --decode] string',
|
||||
'\tquoted-printable [-v | --version]',
|
||||
'\tquoted-printable [-h | --help]',
|
||||
'\nExamples:\n',
|
||||
'\tquoted-printable --encode \'foo = bar ©\'',
|
||||
'\techo \'foo =3D bar =C2=A9\' | quoted-printable --decode',
|
||||
].join('\n'));
|
||||
return process.exit(1);
|
||||
}
|
||||
|
||||
if (/^(?:-v|--version)$/.test(option)) {
|
||||
log('v%s', quotedPrintable.version);
|
||||
return process.exit(1);
|
||||
}
|
||||
|
||||
strings.forEach(function(string) {
|
||||
// Process options
|
||||
if (string == '-e' || string == '--encode') {
|
||||
action = 'encode';
|
||||
return;
|
||||
}
|
||||
if (string == '-d' || string == '--decode') {
|
||||
action = 'decode';
|
||||
return;
|
||||
}
|
||||
// Process string(s)
|
||||
var result;
|
||||
if (!action) {
|
||||
log('Error: quoted-printable requires at least one option and a string argument.');
|
||||
log('Try `quoted-printable --help` for more information.');
|
||||
return process.exit(1);
|
||||
}
|
||||
try {
|
||||
if (action == 'encode') {
|
||||
result = quotedPrintable.encode(utf8.encode(string, options));
|
||||
} else if (action == 'decode') {
|
||||
result = utf8.decode(quotedPrintable.decode(string, options));
|
||||
}
|
||||
log(result);
|
||||
count++;
|
||||
} catch (exception) {
|
||||
log(exception.message + '\n');
|
||||
log('Error: failed to %s.', action);
|
||||
log('If you think this is a bug in quoted-printable, please report it:');
|
||||
log('https://github.com/mathiasbynens/quoted-printable/issues/new');
|
||||
log('\nStack trace using quoted-printable@%s:\n', quotedPrintable.version);
|
||||
log(exception.stack);
|
||||
return process.exit(1);
|
||||
}
|
||||
});
|
||||
if (!count) {
|
||||
log('Error: quoted-printable requires a string argument.');
|
||||
log('Try `quoted-printable --help` for more information.');
|
||||
return process.exit(1);
|
||||
}
|
||||
// Return with exit status 0 outside of the `forEach` loop, in case
|
||||
// multiple strings were passed in.
|
||||
return process.exit(0);
|
||||
};
|
||||
|
||||
if (stdin.isTTY) {
|
||||
// handle shell arguments
|
||||
main();
|
||||
} else {
|
||||
// Either the script is called from within a non-TTY context, or `stdin`
|
||||
// content is being piped in.
|
||||
if (!process.stdout.isTTY) {
|
||||
// The script was called from a non-TTY context. This is a rather uncommon
|
||||
// use case we don’t actively support. However, we don’t want the script
|
||||
// to wait forever in such cases, so…
|
||||
timeout = setTimeout(function() {
|
||||
// …if no piped data arrived after a whole minute, handle shell
|
||||
// arguments instead.
|
||||
main();
|
||||
}, 60000);
|
||||
}
|
||||
data = '';
|
||||
stdin.on('data', function(chunk) {
|
||||
clearTimeout(timeout);
|
||||
data += chunk;
|
||||
});
|
||||
stdin.on('end', function() {
|
||||
strings.push(data.trim());
|
||||
main();
|
||||
});
|
||||
stdin.resume();
|
||||
}
|
||||
|
||||
}());
|
||||
58
skills/imap-smtp-email/node_modules/quoted-printable/man/quoted-printable.1
generated
vendored
Normal file
58
skills/imap-smtp-email/node_modules/quoted-printable/man/quoted-printable.1
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
.Dd May 4, 2014
|
||||
.Dt quoted-printable 1
|
||||
.Sh NAME
|
||||
.Nm quoted-printable
|
||||
.Nd encode or decode messages using the `Quoted-Printable` content transfer encoding
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl e | -encode Ar string
|
||||
.br
|
||||
.Op Fl d | -decode Ar string
|
||||
.br
|
||||
.Op Fl v | -version
|
||||
.br
|
||||
.Op Fl h | -help
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
encode or decode messages using the `Quoted-Printable` content transfer encoding.
|
||||
.Sh OPTIONS
|
||||
.Bl -ohang -offset
|
||||
.It Sy "--encode"
|
||||
Encode a string of text using the `Quoted-Printable` content transfer encoding.
|
||||
.It Sy "--decode"
|
||||
Decode a string of text using the `Quoted-Printable` content transfer encoding.
|
||||
.It Sy "-v, --version"
|
||||
Print quoted-printable's version.
|
||||
.It Sy "-h, --help"
|
||||
Show the help screen.
|
||||
.El
|
||||
.Sh EXIT STATUS
|
||||
The
|
||||
.Nm quoted-printable
|
||||
utility exits with one of the following values:
|
||||
.Pp
|
||||
.Bl -tag -width flag -compact
|
||||
.It Li 0
|
||||
.Nm
|
||||
successfully encoded/decoded the input and printed the result.
|
||||
.It Li 1
|
||||
.Nm
|
||||
wasn't instructed to encode/decode anything (for example, the
|
||||
.Ar --help
|
||||
flag was set); or, an error occurred.
|
||||
.El
|
||||
.Sh EXAMPLES
|
||||
.Bl -ohang -offset
|
||||
.It Sy "quoted-printable --encode 'foo = bar'"
|
||||
Print an encoded version of the given string.
|
||||
.It Sy "quoted-printable --decode 'foo=3Dbar'"
|
||||
Print the decoded version of the given `Quoted-Printable`-encoded message.
|
||||
.It Sy "echo\ 'foo = bar'\ |\ quoted-printable --encode"
|
||||
Print the encoded version of the string that gets piped in.
|
||||
.El
|
||||
.Sh BUGS
|
||||
quoted-printable's bug tracker is located at <https://github.com/mathiasbynens/quoted-printable/issues>.
|
||||
.Sh AUTHOR
|
||||
Mathias Bynens <https://mathiasbynens.be/>
|
||||
.Sh WWW
|
||||
<https://mths.be/quoted-printable>
|
||||
57
skills/imap-smtp-email/node_modules/quoted-printable/package.json
generated
vendored
Normal file
57
skills/imap-smtp-email/node_modules/quoted-printable/package.json
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"name": "quoted-printable",
|
||||
"version": "1.0.1",
|
||||
"description": "A robust & character encoding–agnostic JavaScript implementation of the `Quoted-Printable` content transfer encoding as defined by RFC 2045.",
|
||||
"homepage": "https://mths.be/quoted-printable",
|
||||
"main": "quoted-printable.js",
|
||||
"bin": "bin/quoted-printable",
|
||||
"man": "man/quoted-printable.1",
|
||||
"keywords": [
|
||||
"decode",
|
||||
"decoding",
|
||||
"encode",
|
||||
"encoding",
|
||||
"quoted-printable",
|
||||
"string"
|
||||
],
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
"name": "Mathias Bynens",
|
||||
"url": "https://mathiasbynens.be/"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mathiasbynens/quoted-printable.git"
|
||||
},
|
||||
"bugs": "https://github.com/mathiasbynens/quoted-printable/issues",
|
||||
"files": [
|
||||
"LICENSE-MIT.txt",
|
||||
"quoted-printable.js",
|
||||
"bin/",
|
||||
"man/"
|
||||
],
|
||||
"directories": {
|
||||
"bin": "bin",
|
||||
"man": "man",
|
||||
"test": "tests"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node tests/tests.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"utf8": "^2.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"coveralls": "^2.11.1",
|
||||
"grunt": "^0.4.5",
|
||||
"grunt-shell": "^1.1.1",
|
||||
"grunt-template": "^0.2.3",
|
||||
"istanbul": "^0.3.5",
|
||||
"jsesc": "^0.5.0",
|
||||
"qunit-extras": "^1.4.0",
|
||||
"qunitjs": "~1.11.0",
|
||||
"regenerate": "^1.2.1",
|
||||
"requirejs": "^2.1.15",
|
||||
"string.fromcodepoint": "^0.2.1"
|
||||
}
|
||||
}
|
||||
153
skills/imap-smtp-email/node_modules/quoted-printable/quoted-printable.js
generated
vendored
Normal file
153
skills/imap-smtp-email/node_modules/quoted-printable/quoted-printable.js
generated
vendored
Normal file
@@ -0,0 +1,153 @@
|
||||
/*! https://mths.be/quoted-printable v1.0.1 by @mathias | MIT license */
|
||||
;(function(root) {
|
||||
|
||||
// Detect free variables `exports`.
|
||||
var freeExports = typeof exports == 'object' && exports;
|
||||
|
||||
// Detect free variable `module`.
|
||||
var freeModule = typeof module == 'object' && module &&
|
||||
module.exports == freeExports && module;
|
||||
|
||||
// Detect free variable `global`, from Node.js or Browserified code, and use
|
||||
// it as `root`.
|
||||
var freeGlobal = typeof global == 'object' && global;
|
||||
if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
|
||||
root = freeGlobal;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
var stringFromCharCode = String.fromCharCode;
|
||||
var decode = function(input) {
|
||||
return input
|
||||
// https://tools.ietf.org/html/rfc2045#section-6.7, rule 3:
|
||||
// “Therefore, when decoding a `Quoted-Printable` body, any trailing white
|
||||
// space on a line must be deleted, as it will necessarily have been added
|
||||
// by intermediate transport agents.”
|
||||
.replace(/[\t\x20]$/gm, '')
|
||||
// Remove hard line breaks preceded by `=`. Proper `Quoted-Printable`-
|
||||
// encoded data only contains CRLF line endings, but for compatibility
|
||||
// reasons we support separate CR and LF too.
|
||||
.replace(/=(?:\r\n?|\n|$)/g, '')
|
||||
// Decode escape sequences of the form `=XX` where `XX` is any
|
||||
// combination of two hexidecimal digits. For optimal compatibility,
|
||||
// lowercase hexadecimal digits are supported as well. See
|
||||
// https://tools.ietf.org/html/rfc2045#section-6.7, note 1.
|
||||
.replace(/=([a-fA-F0-9]{2})/g, function($0, $1) {
|
||||
var codePoint = parseInt($1, 16);
|
||||
return stringFromCharCode(codePoint);
|
||||
});
|
||||
};
|
||||
|
||||
var handleTrailingCharacters = function(string) {
|
||||
return string
|
||||
.replace(/\x20$/, '=20') // Handle trailing space.
|
||||
.replace(/\t$/, '=09') // Handle trailing tab.
|
||||
};
|
||||
|
||||
var regexUnsafeSymbols = /[\0-\x08\n-\x1F=\x7F-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
|
||||
var encode = function(string) {
|
||||
|
||||
// Encode symbols that are definitely unsafe (i.e. unsafe in any context).
|
||||
var encoded = string.replace(regexUnsafeSymbols, function(symbol) {
|
||||
if (symbol > '\xFF') {
|
||||
throw RangeError(
|
||||
'`quotedPrintable.encode()` expects extended ASCII input only. ' +
|
||||
'Don\u2019t forget to encode the input first using a character ' +
|
||||
'encoding like UTF-8.'
|
||||
);
|
||||
}
|
||||
var codePoint = symbol.charCodeAt(0);
|
||||
var hexadecimal = codePoint.toString(16).toUpperCase();
|
||||
return '=' + ('0' + hexadecimal).slice(-2);
|
||||
});
|
||||
|
||||
// Limit lines to 76 characters (not counting the CRLF line endings).
|
||||
var lines = encoded.split(/\r\n?|\n/g);
|
||||
var lineIndex = -1;
|
||||
var lineCount = lines.length;
|
||||
var result = [];
|
||||
while (++lineIndex < lineCount) {
|
||||
var line = lines[lineIndex];
|
||||
// Leave room for the trailing `=` for soft line breaks.
|
||||
var LINE_LENGTH = 75;
|
||||
var index = 0;
|
||||
var length = line.length;
|
||||
while (index < length) {
|
||||
var buffer = encoded.slice(index, index + LINE_LENGTH);
|
||||
// If this line ends with `=`, optionally followed by a single uppercase
|
||||
// hexadecimal digit, we broke an escape sequence in half. Fix it by
|
||||
// moving these characters to the next line.
|
||||
if (/=$/.test(buffer)) {
|
||||
buffer = buffer.slice(0, LINE_LENGTH - 1);
|
||||
index += LINE_LENGTH - 1;
|
||||
} else if (/=[A-F0-9]$/.test(buffer)) {
|
||||
buffer = buffer.slice(0, LINE_LENGTH - 2);
|
||||
index += LINE_LENGTH - 2;
|
||||
} else {
|
||||
index += LINE_LENGTH;
|
||||
}
|
||||
result.push(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
// Encode space and tab characters at the end of encoded lines. Note that
|
||||
// with the current implementation, this can only occur at the very end of
|
||||
// the encoded string — every other line ends with `=` anyway.
|
||||
var lastLineLength = buffer.length;
|
||||
if (/[\t\x20]$/.test(buffer)) {
|
||||
// There’s a space or a tab at the end of the last encoded line. Remove
|
||||
// this line from the `result` array, as it needs to change.
|
||||
result.pop();
|
||||
if (lastLineLength + 2 <= LINE_LENGTH + 1) {
|
||||
// It’s possible to encode the character without exceeding the line
|
||||
// length limit.
|
||||
result.push(
|
||||
handleTrailingCharacters(buffer)
|
||||
);
|
||||
} else {
|
||||
// It’s not possible to encode the character without exceeding the line
|
||||
// length limit. Remvoe the character from the line, and insert a new
|
||||
// line that contains only the encoded character.
|
||||
result.push(
|
||||
buffer.slice(0, lastLineLength - 1),
|
||||
handleTrailingCharacters(
|
||||
buffer.slice(lastLineLength - 1, lastLineLength)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// `Quoted-Printable` uses CRLF.
|
||||
return result.join('=\r\n');
|
||||
};
|
||||
|
||||
var quotedPrintable = {
|
||||
'encode': encode,
|
||||
'decode': decode,
|
||||
'version': '1.0.1'
|
||||
};
|
||||
|
||||
// Some AMD build optimizers, like r.js, check for specific condition patterns
|
||||
// like the following:
|
||||
if (
|
||||
typeof define == 'function' &&
|
||||
typeof define.amd == 'object' &&
|
||||
define.amd
|
||||
) {
|
||||
define(function() {
|
||||
return quotedPrintable;
|
||||
});
|
||||
} else if (freeExports && !freeExports.nodeType) {
|
||||
if (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+
|
||||
freeModule.exports = quotedPrintable;
|
||||
} else { // in Narwhal or RingoJS v0.7.0-
|
||||
for (var key in quotedPrintable) {
|
||||
quotedPrintable.hasOwnProperty(key) && (freeExports[key] = quotedPrintable[key]);
|
||||
}
|
||||
}
|
||||
} else { // in Rhino or a web browser
|
||||
root.quotedPrintable = quotedPrintable;
|
||||
}
|
||||
|
||||
}(this));
|
||||
Reference in New Issue
Block a user