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
						
					
					
				| "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;
 |