Cleaned up repo and separated both bots into their respective folders
This commit is contained in:
		
							parent
							
								
									5414de60ca
								
							
						
					
					
						commit
						a9fda1fcb7
					
				
					 3134 changed files with 382980 additions and 31 deletions
				
			
		
							
								
								
									
										88
									
								
								sidBot-js/node_modules/data-uri-to-buffer/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								sidBot-js/node_modules/data-uri-to-buffer/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,88 @@ | |||
| data-uri-to-buffer | ||||
| ================== | ||||
| ### Generate a Buffer instance from a [Data URI][rfc] string | ||||
| [](https://travis-ci.org/TooTallNate/node-data-uri-to-buffer) | ||||
| 
 | ||||
| This module accepts a ["data" URI][rfc] String of data, and returns a | ||||
| node.js `Buffer` instance with the decoded data. | ||||
| 
 | ||||
| 
 | ||||
| Installation | ||||
| ------------ | ||||
| 
 | ||||
| Install with `npm`: | ||||
| 
 | ||||
| ``` bash | ||||
| $ npm install data-uri-to-buffer | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| Example | ||||
| ------- | ||||
| 
 | ||||
| ``` js | ||||
| var dataUriToBuffer = require('data-uri-to-buffer'); | ||||
| 
 | ||||
| // plain-text data is supported | ||||
| var uri = 'data:,Hello%2C%20World!'; | ||||
| var decoded = dataUriToBuffer(uri); | ||||
| console.log(decoded.toString()); | ||||
| // 'Hello, World!' | ||||
| 
 | ||||
| // base64-encoded data is supported | ||||
| uri = 'data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D'; | ||||
| decoded = dataUriToBuffer(uri); | ||||
| console.log(decoded.toString()); | ||||
| // 'Hello, World!' | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| API | ||||
| --- | ||||
| 
 | ||||
| ### dataUriToBuffer(String uri) → Buffer | ||||
| 
 | ||||
| The `type` property on the Buffer instance gets set to the main type portion of | ||||
| the "mediatype" portion of the "data" URI, or defaults to `"text/plain"` if not | ||||
| specified. | ||||
| 
 | ||||
| The `typeFull` property on the Buffer instance gets set to the entire | ||||
| "mediatype" portion of the "data" URI (including all parameters), or defaults | ||||
| to `"text/plain;charset=US-ASCII"` if not specified. | ||||
| 
 | ||||
| The `charset` property on the Buffer instance gets set to the Charset portion of | ||||
| the "mediatype" portion of the "data" URI, or defaults to `"US-ASCII"` if the | ||||
| entire type is not specified, or defaults to `""` otherwise. | ||||
| 
 | ||||
| *Note*: If the only the main type is specified but not the charset, e.g. | ||||
| `"data:text/plain,abc"`, the charset is set to the empty string. The spec only | ||||
| defaults to US-ASCII as charset if the entire type is not specified. | ||||
| 
 | ||||
| 
 | ||||
| License | ||||
| ------- | ||||
| 
 | ||||
| (The MIT License) | ||||
| 
 | ||||
| Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net> | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
| [rfc]: http://tools.ietf.org/html/rfc2397 | ||||
							
								
								
									
										15
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| /// <reference types="node" />
 | ||||
| export interface MimeBuffer extends Buffer { | ||||
|     type: string; | ||||
|     typeFull: string; | ||||
|     charset: string; | ||||
| } | ||||
| /** | ||||
|  * Returns a `Buffer` instance from the given data URI `uri`. | ||||
|  * | ||||
|  * @param {String} uri Data URI to turn into a Buffer instance | ||||
|  * @returns {Buffer} Buffer instance from Data URI | ||||
|  * @api public | ||||
|  */ | ||||
| export declare function dataUriToBuffer(uri: string): MimeBuffer; | ||||
| export default dataUriToBuffer; | ||||
							
								
								
									
										53
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| /** | ||||
|  * Returns a `Buffer` instance from the given data URI `uri`. | ||||
|  * | ||||
|  * @param {String} uri Data URI to turn into a Buffer instance | ||||
|  * @returns {Buffer} Buffer instance from Data URI | ||||
|  * @api public | ||||
|  */ | ||||
| export function dataUriToBuffer(uri) { | ||||
|     if (!/^data:/i.test(uri)) { | ||||
|         throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")'); | ||||
|     } | ||||
|     // strip newlines
 | ||||
|     uri = uri.replace(/\r?\n/g, ''); | ||||
|     // split the URI up into the "metadata" and the "data" portions
 | ||||
|     const firstComma = uri.indexOf(','); | ||||
|     if (firstComma === -1 || firstComma <= 4) { | ||||
|         throw new TypeError('malformed data: URI'); | ||||
|     } | ||||
|     // remove the "data:" scheme and parse the metadata
 | ||||
|     const meta = uri.substring(5, firstComma).split(';'); | ||||
|     let charset = ''; | ||||
|     let base64 = false; | ||||
|     const type = meta[0] || 'text/plain'; | ||||
|     let typeFull = type; | ||||
|     for (let i = 1; i < meta.length; i++) { | ||||
|         if (meta[i] === 'base64') { | ||||
|             base64 = true; | ||||
|         } | ||||
|         else { | ||||
|             typeFull += `;${meta[i]}`; | ||||
|             if (meta[i].indexOf('charset=') === 0) { | ||||
|                 charset = meta[i].substring(8); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     // defaults to US-ASCII only if type is not provided
 | ||||
|     if (!meta[0] && !charset.length) { | ||||
|         typeFull += ';charset=US-ASCII'; | ||||
|         charset = 'US-ASCII'; | ||||
|     } | ||||
|     // get the encoded data portion and decode URI-encoded chars
 | ||||
|     const encoding = base64 ? 'base64' : 'ascii'; | ||||
|     const data = unescape(uri.substring(firstComma + 1)); | ||||
|     const buffer = Buffer.from(data, encoding); | ||||
|     // set `.type` and `.typeFull` properties to MIME type
 | ||||
|     buffer.type = type; | ||||
|     buffer.typeFull = typeFull; | ||||
|     // set the `.charset` property
 | ||||
|     buffer.charset = charset; | ||||
|     return buffer; | ||||
| } | ||||
| export default dataUriToBuffer; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
							
								
								
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/index.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,MAAM,IAAI,SAAS,CAClB,kEAAkE,CAClE,CAAC;KACF;IAED,iBAAiB;IACjB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE;QACzC,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;KAC3C;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IACrC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC;SACd;aAAM;YACN,QAAQ,IAAI,IAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC/B;SACD;KACD;IACD,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAChC,QAAQ,IAAI,mBAAmB,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC;KACrB;IAED,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAe,CAAC;IAEzD,sDAAsD;IACtD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAEzB,OAAO,MAAM,CAAC;AACf,CAAC;AAED,eAAe,eAAe,CAAC"} | ||||
							
								
								
									
										15
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| /// <reference types="node" />
 | ||||
| export interface MimeBuffer extends Buffer { | ||||
|     type: string; | ||||
|     typeFull: string; | ||||
|     charset: string; | ||||
| } | ||||
| /** | ||||
|  * Returns a `Buffer` instance from the given data URI `uri`. | ||||
|  * | ||||
|  * @param {String} uri Data URI to turn into a Buffer instance | ||||
|  * @returns {Buffer} Buffer instance from Data URI | ||||
|  * @api public | ||||
|  */ | ||||
| export declare function dataUriToBuffer(uri: string): MimeBuffer; | ||||
| export default dataUriToBuffer; | ||||
							
								
								
									
										53
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| /** | ||||
|  * Returns a `Buffer` instance from the given data URI `uri`. | ||||
|  * | ||||
|  * @param {String} uri Data URI to turn into a Buffer instance | ||||
|  * @returns {Buffer} Buffer instance from Data URI | ||||
|  * @api public | ||||
|  */ | ||||
| export function dataUriToBuffer(uri) { | ||||
|     if (!/^data:/i.test(uri)) { | ||||
|         throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")'); | ||||
|     } | ||||
|     // strip newlines
 | ||||
|     uri = uri.replace(/\r?\n/g, ''); | ||||
|     // split the URI up into the "metadata" and the "data" portions
 | ||||
|     const firstComma = uri.indexOf(','); | ||||
|     if (firstComma === -1 || firstComma <= 4) { | ||||
|         throw new TypeError('malformed data: URI'); | ||||
|     } | ||||
|     // remove the "data:" scheme and parse the metadata
 | ||||
|     const meta = uri.substring(5, firstComma).split(';'); | ||||
|     let charset = ''; | ||||
|     let base64 = false; | ||||
|     const type = meta[0] || 'text/plain'; | ||||
|     let typeFull = type; | ||||
|     for (let i = 1; i < meta.length; i++) { | ||||
|         if (meta[i] === 'base64') { | ||||
|             base64 = true; | ||||
|         } | ||||
|         else { | ||||
|             typeFull += `;${meta[i]}`; | ||||
|             if (meta[i].indexOf('charset=') === 0) { | ||||
|                 charset = meta[i].substring(8); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     // defaults to US-ASCII only if type is not provided
 | ||||
|     if (!meta[0] && !charset.length) { | ||||
|         typeFull += ';charset=US-ASCII'; | ||||
|         charset = 'US-ASCII'; | ||||
|     } | ||||
|     // get the encoded data portion and decode URI-encoded chars
 | ||||
|     const encoding = base64 ? 'base64' : 'ascii'; | ||||
|     const data = unescape(uri.substring(firstComma + 1)); | ||||
|     const buffer = Buffer.from(data, encoding); | ||||
|     // set `.type` and `.typeFull` properties to MIME type
 | ||||
|     buffer.type = type; | ||||
|     buffer.typeFull = typeFull; | ||||
|     // set the `.charset` property
 | ||||
|     buffer.charset = charset; | ||||
|     return buffer; | ||||
| } | ||||
| export default dataUriToBuffer; | ||||
| //# sourceMappingURL=index.js.map
 | ||||
							
								
								
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/src/index.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,MAAM,IAAI,SAAS,CAClB,kEAAkE,CAClE,CAAC;KACF;IAED,iBAAiB;IACjB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE;QACzC,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;KAC3C;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IACrC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC;SACd;aAAM;YACN,QAAQ,IAAI,IAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC/B;SACD;KACD;IACD,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAChC,QAAQ,IAAI,mBAAmB,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC;KACrB;IAED,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAe,CAAC;IAEzD,sDAAsD;IACtD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAEzB,OAAO,MAAM,CAAC;AACf,CAAC;AAED,eAAe,eAAe,CAAC"} | ||||
							
								
								
									
										4
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.d.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| /** | ||||
|  * Module dependencies. | ||||
|  */ | ||||
| export {}; | ||||
							
								
								
									
										144
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,144 @@ | |||
| /** | ||||
|  * Module dependencies. | ||||
|  */ | ||||
| import assert from 'assert'; | ||||
| import dataUriToBuffer from '../src'; | ||||
| describe('data-uri-to-buffer', function () { | ||||
|     it('should decode bare-bones Data URIs', function () { | ||||
|         var uri = 'data:,Hello%2C%20World!'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('text/plain;charset=US-ASCII', buf.typeFull); | ||||
|         assert.equal('US-ASCII', buf.charset); | ||||
|         assert.equal('Hello, World!', buf.toString()); | ||||
|     }); | ||||
|     it('should decode bare-bones "base64" Data URIs', function () { | ||||
|         var uri = 'data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('Hello, World!', buf.toString()); | ||||
|     }); | ||||
|     it('should decode plain-text Data URIs', function () { | ||||
|         var html = '<!DOCTYPE html>' + | ||||
|             '<html lang="en">' + | ||||
|             '<head><title>Embedded Window</title></head>' + | ||||
|             '<body><h1>42</h1></body>' + | ||||
|             '</html>'; | ||||
|         // Escape the HTML for URL formatting
 | ||||
|         var uri = 'data:text/html;charset=utf-8,' + encodeURIComponent(html); | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/html', buf.type); | ||||
|         assert.equal('utf-8', buf.charset); | ||||
|         assert.equal(html, buf.toString()); | ||||
|     }); | ||||
|     // the next 4 tests are from:
 | ||||
|     // https://bug161965.bugzilla.mozilla.org/attachment.cgi?id=94670&action=view
 | ||||
|     it('should decode "ISO-8859-8 in Base64" URIs', function () { | ||||
|         var uri = 'data:text/plain;charset=iso-8859-8-i;base64,+ezl7Q=='; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('iso-8859-8-i', buf.charset); | ||||
|         assert.equal(4, buf.length); | ||||
|         assert.equal(0xf9, buf[0]); | ||||
|         assert.equal(0xec, buf[1]); | ||||
|         assert.equal(0xe5, buf[2]); | ||||
|         assert.equal(0xed, buf[3]); | ||||
|     }); | ||||
|     it('should decode "ISO-8859-8 in URL-encoding" URIs', function () { | ||||
|         var uri = 'data:text/plain;charset=iso-8859-8-i,%f9%ec%e5%ed'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('iso-8859-8-i', buf.charset); | ||||
|         assert.equal(4, buf.length); | ||||
|         assert.equal(0xf9, buf[0]); | ||||
|         assert.equal(0xec, buf[1]); | ||||
|         assert.equal(0xe5, buf[2]); | ||||
|         assert.equal(0xed, buf[3]); | ||||
|     }); | ||||
|     it('should decode "UTF-8 in Base64" URIs', function () { | ||||
|         var uri = 'data:text/plain;charset=UTF-8;base64,16nXnNeV150='; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('UTF-8', buf.charset); | ||||
|         assert.equal(8, buf.length); | ||||
|         assert.equal('שלום', buf.toString('utf8')); | ||||
|     }); | ||||
|     it('should decode "UTF-8 in URL-encoding" URIs', function () { | ||||
|         var uri = 'data:text/plain;charset=UTF-8,%d7%a9%d7%9c%d7%95%d7%9d'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('UTF-8', buf.charset); | ||||
|         assert.equal(8, buf.length); | ||||
|         assert.equal('שלום', buf.toString('utf8')); | ||||
|     }); | ||||
|     // this next one is from Wikipedia IIRC
 | ||||
|     it('should decode "base64" Data URIs with newlines', function () { | ||||
|         var uri = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA\n' + | ||||
|             'AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO\n' + | ||||
|             '9TXL0Y4OHwAAAABJRU5ErkJggg=='; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('image/png', buf.type); | ||||
|         assert.equal('iVBORw0KGgoAAAANSUhEUgAAAAUA' + | ||||
|             'AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO' + | ||||
|             '9TXL0Y4OHwAAAABJRU5ErkJggg==', buf.toString('base64')); | ||||
|     }); | ||||
|     it('should decode a plain-text URI with a space character in it', function () { | ||||
|         var uri = 'data:,foo bar'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('foo bar', buf.toString()); | ||||
|     }); | ||||
|     it('should decode data with a "," comma char', function () { | ||||
|         var uri = 'data:,a,b'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('a,b', buf.toString()); | ||||
|     }); | ||||
|     it('should decode data with traditionally reserved characters like ";"', function () { | ||||
|         var uri = 'data:,;test'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal(';test', buf.toString()); | ||||
|     }); | ||||
|     it('should not default to US-ASCII if main type is provided', function () { | ||||
|         var uri = 'data:text/plain,abc'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('text/plain', buf.typeFull); | ||||
|         assert.equal('', buf.charset); | ||||
|         assert.equal('abc', buf.toString()); | ||||
|     }); | ||||
|     it('should default to text/plain if main type is not provided', function () { | ||||
|         var uri = 'data:;charset=UTF-8,abc'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('text/plain;charset=UTF-8', buf.typeFull); | ||||
|         assert.equal('UTF-8', buf.charset); | ||||
|         assert.equal('abc', buf.toString()); | ||||
|     }); | ||||
|     it('should not allow charset without a leading ;', function () { | ||||
|         var uri = 'data:charset=UTF-8,abc'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('charset=UTF-8', buf.type); | ||||
|         assert.equal('charset=UTF-8', buf.typeFull); | ||||
|         assert.equal('', buf.charset); | ||||
|         assert.equal('abc', buf.toString()); | ||||
|     }); | ||||
|     it('should allow custom media type parameters', function () { | ||||
|         var uri = 'data:application/javascript;version=1.8;charset=UTF-8,abc'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('application/javascript', buf.type); | ||||
|         assert.equal('application/javascript;version=1.8;charset=UTF-8', buf.typeFull); | ||||
|         assert.equal('UTF-8', buf.charset); | ||||
|         assert.equal('abc', buf.toString()); | ||||
|     }); | ||||
|     it('should allow base64 annotation anywhere', function () { | ||||
|         var uri = 'data:text/plain;base64;charset=UTF-8,YWJj'; | ||||
|         var buf = dataUriToBuffer(uri); | ||||
|         assert.equal('text/plain', buf.type); | ||||
|         assert.equal('text/plain;charset=UTF-8', buf.typeFull); | ||||
|         assert.equal('UTF-8', buf.charset); | ||||
|         assert.equal('abc', buf.toString()); | ||||
|     }); | ||||
| }); | ||||
| //# sourceMappingURL=test.js.map
 | ||||
							
								
								
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								sidBot-js/node_modules/data-uri-to-buffer/dist/test/test.js.map
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										62
									
								
								sidBot-js/node_modules/data-uri-to-buffer/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								sidBot-js/node_modules/data-uri-to-buffer/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | |||
| { | ||||
|   "name": "data-uri-to-buffer", | ||||
|   "version": "4.0.0", | ||||
|   "description": "Generate a Buffer instance from a Data URI string", | ||||
|   "type": "module", | ||||
|   "main": "dist/index.js", | ||||
|   "types": "dist/index.d.ts", | ||||
|   "files": [ | ||||
|     "dist", | ||||
|     "src" | ||||
|   ], | ||||
|   "scripts": { | ||||
|     "build": "tsc", | ||||
|     "test": "jest", | ||||
|     "prepublishOnly": "npm run build" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git://github.com/TooTallNate/node-data-uri-to-buffer.git" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">= 12" | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "data", | ||||
|     "uri", | ||||
|     "datauri", | ||||
|     "data-uri", | ||||
|     "buffer", | ||||
|     "convert", | ||||
|     "rfc2397", | ||||
|     "2397" | ||||
|   ], | ||||
|   "author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)", | ||||
|   "license": "MIT", | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/TooTallNate/node-data-uri-to-buffer/issues" | ||||
|   }, | ||||
|   "homepage": "https://github.com/TooTallNate/node-data-uri-to-buffer", | ||||
|   "devDependencies": { | ||||
|     "@types/es6-promisify": "^5.0.0", | ||||
|     "@types/mocha": "^9.0.0", | ||||
|     "@types/node": "^10.5.3", | ||||
|     "jest": "^27.2.2", | ||||
|     "ts-jest": "^27.0.5", | ||||
|     "typescript": "^4.4.3" | ||||
|   }, | ||||
|   "jest": { | ||||
|     "preset": "ts-jest", | ||||
|     "globals": { | ||||
|       "ts-jest": { | ||||
|         "diagnostics": false, | ||||
|         "isolatedModules": true | ||||
|       } | ||||
|     }, | ||||
|     "verbose": false, | ||||
|     "testEnvironment": "node", | ||||
|     "testMatch": [ | ||||
|       "<rootDir>/test/**/*.test.ts" | ||||
|     ] | ||||
|   } | ||||
| } | ||||
							
								
								
									
										68
									
								
								sidBot-js/node_modules/data-uri-to-buffer/src/index.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								sidBot-js/node_modules/data-uri-to-buffer/src/index.ts
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,68 @@ | |||
| export interface MimeBuffer extends Buffer { | ||||
| 	type: string; | ||||
| 	typeFull: string; | ||||
| 	charset: string; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Returns a `Buffer` instance from the given data URI `uri`. | ||||
|  * | ||||
|  * @param {String} uri Data URI to turn into a Buffer instance | ||||
|  * @returns {Buffer} Buffer instance from Data URI | ||||
|  * @api public | ||||
|  */ | ||||
| export function dataUriToBuffer(uri: string): MimeBuffer { | ||||
| 	if (!/^data:/i.test(uri)) { | ||||
| 		throw new TypeError( | ||||
| 			'`uri` does not appear to be a Data URI (must begin with "data:")' | ||||
| 		); | ||||
| 	} | ||||
| 
 | ||||
| 	// strip newlines
 | ||||
| 	uri = uri.replace(/\r?\n/g, ''); | ||||
| 
 | ||||
| 	// split the URI up into the "metadata" and the "data" portions
 | ||||
| 	const firstComma = uri.indexOf(','); | ||||
| 	if (firstComma === -1 || firstComma <= 4) { | ||||
| 		throw new TypeError('malformed data: URI'); | ||||
| 	} | ||||
| 
 | ||||
| 	// remove the "data:" scheme and parse the metadata
 | ||||
| 	const meta = uri.substring(5, firstComma).split(';'); | ||||
| 
 | ||||
| 	let charset = ''; | ||||
| 	let base64 = false; | ||||
| 	const type = meta[0] || 'text/plain'; | ||||
| 	let typeFull = type; | ||||
| 	for (let i = 1; i < meta.length; i++) { | ||||
| 		if (meta[i] === 'base64') { | ||||
| 			base64 = true; | ||||
| 		} else { | ||||
| 			typeFull += `;${  meta[i]}`; | ||||
| 			if (meta[i].indexOf('charset=') === 0) { | ||||
| 				charset = meta[i].substring(8); | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	// defaults to US-ASCII only if type is not provided
 | ||||
| 	if (!meta[0] && !charset.length) { | ||||
| 		typeFull += ';charset=US-ASCII'; | ||||
| 		charset = 'US-ASCII'; | ||||
| 	} | ||||
| 
 | ||||
| 	// get the encoded data portion and decode URI-encoded chars
 | ||||
| 	const encoding = base64 ? 'base64' : 'ascii'; | ||||
| 	const data = unescape(uri.substring(firstComma + 1)); | ||||
| 	const buffer = Buffer.from(data, encoding) as MimeBuffer; | ||||
| 
 | ||||
| 	// set `.type` and `.typeFull` properties to MIME type
 | ||||
| 	buffer.type = type; | ||||
| 	buffer.typeFull = typeFull; | ||||
| 
 | ||||
| 	// set the `.charset` property
 | ||||
| 	buffer.charset = charset; | ||||
| 
 | ||||
| 	return buffer; | ||||
| } | ||||
| 
 | ||||
| export default dataUriToBuffer; | ||||
		Reference in a new issue
	
	 Sid
						Sid