/**
* @license
* jsPDF virtual FileSystem functionality
*
* Licensed under the MIT License.
* http://opensource.org/licenses/mit-license
*/
import { jsPDF } from "../jspdf.js";
/**
* Use the vFS to handle files
*
* @name vFS
* @module
*/
(function(jsPDFAPI) {
"use strict";
var _initializeVFS = function() {
if (typeof this.internal.vFS === "undefined") {
this.internal.vFS = {};
}
return true;
};
/**
* Check if the file exists in the vFS
*
* @name existsFileInVFS
* @function
* @param {string} Possible filename in the vFS.
* @returns {boolean}
* @example
* doc.existsFileInVFS("someFile.txt");
*/
jsPDFAPI.existsFileInVFS = function(filename) {
_initializeVFS.call(this);
return typeof this.internal.vFS[filename] !== "undefined";
};
/**
* Add a file to the vFS
*
* @name addFileToVFS
* @function
* @param {string} filename The name of the file which should be added.
* @param {string} filecontent The content of the file.
* @returns {jsPDF}
* @example
* doc.addFileToVFS("someFile.txt", "BADFACE1");
*/
jsPDFAPI.addFileToVFS = function(filename, filecontent) {
_initializeVFS.call(this);
this.internal.vFS[filename] = filecontent;
return this;
};
/**
* Get the file from the vFS
*
* @name getFileFromVFS
* @function
* @param {string} The name of the file which gets requested.
* @returns {string}
* @example
* doc.getFileFromVFS("someFile.txt");
*/
jsPDFAPI.getFileFromVFS = function(filename) {
_initializeVFS.call(this);
if (typeof this.internal.vFS[filename] !== "undefined") {
return this.internal.vFS[filename];
}
return null;
};
})(jsPDF.API);