You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					56 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					56 lines
				
				1.5 KiB
			| 
											2 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Representation a of zip file in js | ||
|  |  * @constructor | ||
|  |  */ | ||
|  | function JSZip() { | ||
|  |     // if this constructor is used without `new`, it adds `new` before itself:
 | ||
|  |     if(!(this instanceof JSZip)) { | ||
|  |         return new JSZip(); | ||
|  |     } | ||
|  | 
 | ||
|  |     if(arguments.length) { | ||
|  |         throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); | ||
|  |     } | ||
|  | 
 | ||
|  |     // object containing the files :
 | ||
|  |     // {
 | ||
|  |     //   "folder/" : {...},
 | ||
|  |     //   "folder/data.txt" : {...}
 | ||
|  |     // }
 | ||
|  |     // NOTE: we use a null prototype because we do not
 | ||
|  |     // want filenames like "toString" coming from a zip file
 | ||
|  |     // to overwrite methods and attributes in a normal Object.
 | ||
|  |     this.files = Object.create(null); | ||
|  | 
 | ||
|  |     this.comment = null; | ||
|  | 
 | ||
|  |     // Where we are in the hierarchy
 | ||
|  |     this.root = ""; | ||
|  |     this.clone = function() { | ||
|  |         var newObj = new JSZip(); | ||
|  |         for (var i in this) { | ||
|  |             if (typeof this[i] !== "function") { | ||
|  |                 newObj[i] = this[i]; | ||
|  |             } | ||
|  |         } | ||
|  |         return newObj; | ||
|  |     }; | ||
|  | } | ||
|  | JSZip.prototype = require("./object"); | ||
|  | JSZip.prototype.loadAsync = require("./load"); | ||
|  | JSZip.support = require("./support"); | ||
|  | JSZip.defaults = require("./defaults"); | ||
|  | 
 | ||
|  | // TODO find a better way to handle this version,
 | ||
|  | // a require('package.json').version doesn't work with webpack, see #327
 | ||
|  | JSZip.version = "3.10.1"; | ||
|  | 
 | ||
|  | JSZip.loadAsync = function (content, options) { | ||
|  |     return new JSZip().loadAsync(content, options); | ||
|  | }; | ||
|  | 
 | ||
|  | JSZip.external = require("./external"); | ||
|  | module.exports = JSZip; |