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