{"ast":null,"code":"import { __extends } from \"tslib\";\nimport { Injectable } from '@angular/core';\nimport { AwesomeCordovaNativePlugin, checkAvailability, cordovaPropertyGet, cordovaPropertySet, getPromise } from '@awesome-cordova-plugins/core';\nimport * as ɵngcc0 from '@angular/core';\nvar File = /** @class */function (_super) {\n __extends(File, _super);\n function File() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cordovaFileError = {\n 1: 'NOT_FOUND_ERR',\n 2: 'SECURITY_ERR',\n 3: 'ABORT_ERR',\n 4: 'NOT_READABLE_ERR',\n 5: 'ENCODING_ERR',\n 6: 'NO_MODIFICATION_ALLOWED_ERR',\n 7: 'INVALID_STATE_ERR',\n 8: 'SYNTAX_ERR',\n 9: 'INVALID_MODIFICATION_ERR',\n 10: 'QUOTA_EXCEEDED_ERR',\n 11: 'TYPE_MISMATCH_ERR',\n 12: 'PATH_EXISTS_ERR',\n 13: 'WRONG_ENTRY_TYPE',\n 14: 'DIR_READ_ERR'\n };\n return _this;\n }\n File.prototype.getFreeDiskSpace = function () {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return getPromise(function (resolve, reject) {\n cordova.exec(resolve, reject, 'File', 'getFreeDiskSpace', []);\n });\n }\n }();\n };\n File.prototype.checkDir = function (path, dir) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dir)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n var fullPath = path + dir;\n return _this.resolveDirectoryUrl(fullPath).then(function () {\n return true;\n });\n }\n }();\n };\n File.prototype.createDir = function (path, dirName, replace) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n var options = {\n create: true\n };\n if (!replace) {\n options.exclusive = true;\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, options);\n });\n }\n }();\n };\n File.prototype.removeDir = function (path, dirName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false\n });\n }).then(function (de) {\n return _this.remove(de);\n });\n }\n }();\n };\n File.prototype.moveDir = function (path, dirName, newPath, newDirName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n newDirName = newDirName || dirName;\n if (/^\\//.test(newDirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false\n });\n }).then(function (srcde) {\n return _this.resolveDirectoryUrl(newPath).then(function (destenation) {\n return _this.move(srcde, destenation, newDirName);\n });\n });\n }\n }();\n };\n File.prototype.copyDir = function (path, dirName, newPath, newDirName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(newDirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false\n });\n }).then(function (srcde) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.copy(srcde, deste, newDirName);\n });\n });\n }\n }();\n };\n File.prototype.listDir = function (path, dirName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false,\n exclusive: false\n });\n }).then(function (de) {\n var reader = de.createReader();\n return _this.readEntries(reader);\n });\n }\n }();\n };\n File.prototype.removeRecursively = function (path, dirName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false\n });\n }).then(function (de) {\n return _this.rimraf(de);\n });\n }\n }();\n };\n File.prototype.checkFile = function (path, file) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(file)) {\n var err = new FileError(5);\n err.message = 'file cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveLocalFilesystemUrl(path + file).then(function (fse) {\n if (fse.isFile) {\n return true;\n } else {\n var err = new FileError(13);\n err.message = 'input is not a file';\n return Promise.reject(err);\n }\n });\n }\n }();\n };\n File.prototype.createFile = function (path, fileName, replace) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n var options = {\n create: true\n };\n if (!replace) {\n options.exclusive = true;\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getFile(fse, fileName, options);\n });\n }\n }();\n };\n File.prototype.removeFile = function (path, fileName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getFile(fse, fileName, {\n create: false\n });\n }).then(function (fe) {\n return _this.remove(fe);\n });\n }\n }();\n };\n File.prototype.writeFile = function (path, fileName, text, options) {\n var _this = this;\n if (options === void 0) {\n options = {};\n }\n return function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n var getFileOpts = {\n create: !options.append,\n exclusive: !options.replace\n };\n return _this.resolveDirectoryUrl(path).then(function (directoryEntry) {\n return _this.getFile(directoryEntry, fileName, getFileOpts);\n }).then(function (fileEntry) {\n return _this.writeFileEntry(fileEntry, text, options);\n });\n }\n }();\n };\n /**\n * Write content to FileEntry.\n *\n * @hidden\n * Write to an existing file.\n * @param {FileEntry} fe file entry object\n * @param {string | Blob | ArrayBuffer} text text content or blob to write\n * @param {IWriteOptions} options replace file if set to true. See WriteOptions for more information.\n * @returns {Promise} Returns a Promise that resolves to updated file entry or rejects with an error.\n */\n File.prototype.writeFileEntry = function (fe, text, options) {\n var _this = this;\n return this.createWriter(fe).then(function (writer) {\n if (options.append) {\n writer.seek(writer.length);\n }\n if (options.truncate) {\n writer.truncate(options.truncate);\n }\n return _this.write(writer, text);\n }).then(function () {\n return fe;\n });\n };\n File.prototype.writeExistingFile = function (path, fileName, text) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.writeFile(path, fileName, text, {\n replace: true\n });\n }\n }();\n };\n File.prototype.readAsText = function (path, file) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'Text');\n }\n }();\n };\n File.prototype.readAsDataURL = function (path, file) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'DataURL');\n }\n }();\n };\n File.prototype.readAsBinaryString = function (path, file) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'BinaryString');\n }\n }();\n };\n File.prototype.readAsArrayBuffer = function (path, file) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'ArrayBuffer');\n }\n }();\n };\n File.prototype.moveFile = function (path, fileName, newPath, newFileName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n newFileName = newFileName || fileName;\n if (/^\\//.test(newFileName)) {\n var err = new FileError(5);\n err.message = 'file name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getFile(fse, fileName, {\n create: false\n });\n }).then(function (srcfe) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.move(srcfe, deste, newFileName);\n });\n });\n }\n }();\n };\n File.prototype.copyFile = function (path, fileName, newPath, newFileName) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n newFileName = newFileName || fileName;\n if (/^\\//.test(newFileName)) {\n var err = new FileError(5);\n err.message = 'file name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getFile(fse, fileName, {\n create: false\n });\n }).then(function (srcfe) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.copy(srcfe, deste, newFileName);\n });\n });\n }\n }();\n };\n /**\n * @param err\n * @hidden\n */\n File.prototype.fillErrorMessage = function (err) {\n try {\n err.message = this.cordovaFileError[err.code];\n } catch (e) {}\n };\n File.prototype.resolveLocalFilesystemUrl = function (fileUrl) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return getPromise(function (resolve, reject) {\n try {\n window.resolveLocalFileSystemURL(fileUrl, function (entry) {\n resolve(entry);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n } catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n }();\n };\n File.prototype.resolveDirectoryUrl = function (directoryUrl) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return _this.resolveLocalFilesystemUrl(directoryUrl).then(function (de) {\n if (de.isDirectory) {\n return de;\n } else {\n var err = new FileError(13);\n err.message = 'input is not a directory';\n return Promise.reject(err);\n }\n });\n }\n }();\n };\n File.prototype.getDirectory = function (directoryEntry, directoryName, flags) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return new Promise(function (resolve, reject) {\n try {\n directoryEntry.getDirectory(directoryName, flags, function (de) {\n resolve(de);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n } catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n }();\n };\n File.prototype.getFile = function (directoryEntry, fileName, flags) {\n var _this = this;\n return function () {\n if (checkAvailability(_this) === true) {\n return new Promise(function (resolve, reject) {\n try {\n directoryEntry.getFile(fileName, flags, resolve, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n } catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n }();\n };\n File.prototype.readFile = function (path, file, readAs) {\n var _this = this;\n if (/^\\//.test(file)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n return this.resolveDirectoryUrl(path).then(function (directoryEntry) {\n return _this.getFile(directoryEntry, file, {\n create: false\n });\n }).then(function (fileEntry) {\n var reader = new FileReader();\n return getPromise(function (resolve, reject) {\n reader.onloadend = function () {\n if (reader.result !== undefined || reader.result !== null) {\n resolve(reader.result);\n } else if (reader.error !== undefined || reader.error !== null) {\n reject(reader.error);\n } else {\n reject({\n code: null,\n message: 'READER_ONLOADEND_ERR'\n });\n }\n };\n fileEntry.file(function (file) {\n reader[\"readAs\" + readAs].call(reader, file);\n }, function (error) {\n reject(error);\n });\n });\n });\n };\n /**\n * @param fe\n * @hidden\n */\n File.prototype.remove = function (fe) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n fe.remove(function () {\n resolve({\n success: true,\n fileRemoved: fe\n });\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param srce\n * @param destdir\n * @param newName\n * @hidden\n */\n File.prototype.move = function (srce, destdir, newName) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n srce.moveTo(destdir, newName, function (deste) {\n resolve(deste);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param srce\n * @param destdir\n * @param newName\n * @hidden\n */\n File.prototype.copy = function (srce, destdir, newName) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n srce.copyTo(destdir, newName, function (deste) {\n resolve(deste);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param dr\n * @hidden\n */\n File.prototype.readEntries = function (dr) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n dr.readEntries(function (entries) {\n resolve(entries);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param de\n * @hidden\n */\n File.prototype.rimraf = function (de) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n de.removeRecursively(function () {\n resolve({\n success: true,\n fileRemoved: de\n });\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param fe\n * @hidden\n */\n File.prototype.createWriter = function (fe) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n fe.createWriter(function (writer) {\n resolve(writer);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param writer\n * @param gu\n * @hidden\n */\n File.prototype.write = function (writer, gu) {\n if (gu instanceof Blob) {\n return this.writeFileInChunks(writer, gu);\n }\n return new Promise(function (resolve, reject) {\n writer.onwriteend = function (evt) {\n if (writer.error) {\n reject(writer.error);\n } else {\n resolve(evt);\n }\n };\n writer.write(gu);\n });\n };\n /**\n * @param writer\n * @param file\n * @hidden\n */\n File.prototype.writeFileInChunks = function (writer, file) {\n var BLOCK_SIZE = 1024 * 1024;\n var writtenSize = 0;\n /**\n *\n */\n function writeNextChunk() {\n var size = Math.min(BLOCK_SIZE, file.size - writtenSize);\n var chunk = file.slice(writtenSize, writtenSize + size);\n writtenSize += size;\n writer.write(chunk);\n }\n return getPromise(function (resolve, reject) {\n writer.onerror = reject;\n writer.onwrite = function () {\n if (writtenSize < file.size) {\n writeNextChunk();\n } else {\n resolve();\n }\n };\n writeNextChunk();\n });\n };\n Object.defineProperty(File.prototype, \"applicationDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"applicationDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"applicationDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"applicationStorageDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"applicationStorageDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"applicationStorageDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"dataDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"dataDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"dataDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"cacheDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"cacheDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"cacheDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalApplicationStorageDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"externalApplicationStorageDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"externalApplicationStorageDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalDataDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"externalDataDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"externalDataDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalCacheDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"externalCacheDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"externalCacheDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalRootDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"externalRootDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"externalRootDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"tempDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"tempDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"tempDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"syncedDataDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"syncedDataDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"syncedDataDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"documentsDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"documentsDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"documentsDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"sharedDirectory\", {\n get: function () {\n return cordovaPropertyGet(this, \"sharedDirectory\");\n },\n set: function (value) {\n cordovaPropertySet(this, \"sharedDirectory\", value);\n },\n enumerable: false,\n configurable: true\n });\n File.pluginName = \"File\";\n File.plugin = \"cordova-plugin-file\";\n File.pluginRef = \"cordova.file\";\n File.repo = \"https://github.com/apache/cordova-plugin-file\";\n File.platforms = [\"Android\", \"Browser\", \"iOS\", \"macOS\", \"Windows\"];\n File.ɵfac = /*@__PURE__*/function () {\n var ɵFile_BaseFactory;\n return function File_Factory(t) {\n return (ɵFile_BaseFactory || (ɵFile_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(File)))(t || File);\n };\n }();\n File.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: File,\n factory: function (t) {\n return File.ɵfac(t);\n }\n });\n (function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(File, [{\n type: Injectable\n }], null, null);\n })();\n return File;\n}(AwesomeCordovaNativePlugin);\nexport { File };","map":{"version":3,"names":["__extends","Injectable","AwesomeCordovaNativePlugin","checkAvailability","cordovaPropertyGet","cordovaPropertySet","getPromise","ɵngcc0","File","_super","_this","apply","arguments","cordovaFileError","prototype","getFreeDiskSpace","resolve","reject","cordova","exec","checkDir","path","dir","test","err","FileError","message","Promise","fullPath","resolveDirectoryUrl","then","createDir","dirName","replace","options","create","exclusive","fse","getDirectory","removeDir","de","remove","moveDir","newPath","newDirName","srcde","destenation","move","copyDir","deste","copy","listDir","reader","createReader","readEntries","removeRecursively","rimraf","checkFile","file","resolveLocalFilesystemUrl","isFile","createFile","fileName","getFile","removeFile","fe","writeFile","text","getFileOpts","append","directoryEntry","fileEntry","writeFileEntry","createWriter","writer","seek","length","truncate","write","writeExistingFile","readAsText","readFile","readAsDataURL","readAsBinaryString","readAsArrayBuffer","moveFile","newFileName","srcfe","copyFile","fillErrorMessage","code","e","fileUrl","window","resolveLocalFileSystemURL","entry","xc","directoryUrl","isDirectory","directoryName","flags","readAs","FileReader","onloadend","result","undefined","error","call","success","fileRemoved","srce","destdir","newName","moveTo","copyTo","dr","entries","gu","Blob","writeFileInChunks","onwriteend","evt","BLOCK_SIZE","writtenSize","writeNextChunk","size","Math","min","chunk","slice","onerror","onwrite","Object","defineProperty","get","set","value","enumerable","configurable","pluginName","plugin","pluginRef","repo","platforms","ɵfac","ɵFile_BaseFactory","File_Factory","t","ɵɵgetInheritedFactory","ɵprov","ɵɵdefineInjectable","token","factory","ngDevMode","ɵsetClassMetadata","type"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@awesome-cordova-plugins/file/__ivy_ngcc__/ngx/index.js"],"sourcesContent":["import { __extends } from \"tslib\";\nimport { Injectable } from '@angular/core';\nimport { AwesomeCordovaNativePlugin, checkAvailability, cordovaPropertyGet, cordovaPropertySet, getPromise } from '@awesome-cordova-plugins/core';\nimport * as ɵngcc0 from '@angular/core';\nvar File = /** @class */ (function (_super) {\n __extends(File, _super);\n function File() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cordovaFileError = {\n 1: 'NOT_FOUND_ERR',\n 2: 'SECURITY_ERR',\n 3: 'ABORT_ERR',\n 4: 'NOT_READABLE_ERR',\n 5: 'ENCODING_ERR',\n 6: 'NO_MODIFICATION_ALLOWED_ERR',\n 7: 'INVALID_STATE_ERR',\n 8: 'SYNTAX_ERR',\n 9: 'INVALID_MODIFICATION_ERR',\n 10: 'QUOTA_EXCEEDED_ERR',\n 11: 'TYPE_MISMATCH_ERR',\n 12: 'PATH_EXISTS_ERR',\n 13: 'WRONG_ENTRY_TYPE',\n 14: 'DIR_READ_ERR',\n };\n return _this;\n }\n File.prototype.getFreeDiskSpace = function () {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return getPromise(function (resolve, reject) {\n cordova.exec(resolve, reject, 'File', 'getFreeDiskSpace', []);\n });\n }\n })();\n };\n File.prototype.checkDir = function (path, dir) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dir)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n var fullPath = path + dir;\n return _this.resolveDirectoryUrl(fullPath).then(function () {\n return true;\n });\n }\n })();\n };\n File.prototype.createDir = function (path, dirName, replace) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n var options = {\n create: true,\n };\n if (!replace) {\n options.exclusive = true;\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getDirectory(fse, dirName, options);\n });\n }\n })();\n };\n File.prototype.removeDir = function (path, dirName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getDirectory(fse, dirName, { create: false });\n })\n .then(function (de) {\n return _this.remove(de);\n });\n }\n })();\n };\n File.prototype.moveDir = function (path, dirName, newPath, newDirName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n newDirName = newDirName || dirName;\n if (/^\\//.test(newDirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getDirectory(fse, dirName, { create: false });\n })\n .then(function (srcde) {\n return _this.resolveDirectoryUrl(newPath).then(function (destenation) {\n return _this.move(srcde, destenation, newDirName);\n });\n });\n }\n })();\n };\n File.prototype.copyDir = function (path, dirName, newPath, newDirName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(newDirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getDirectory(fse, dirName, { create: false });\n })\n .then(function (srcde) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.copy(srcde, deste, newDirName);\n });\n });\n }\n })();\n };\n File.prototype.listDir = function (path, dirName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getDirectory(fse, dirName, {\n create: false,\n exclusive: false,\n });\n })\n .then(function (de) {\n var reader = de.createReader();\n return _this.readEntries(reader);\n });\n }\n })();\n };\n File.prototype.removeRecursively = function (path, dirName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(dirName)) {\n var err = new FileError(5);\n err.message = 'directory cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getDirectory(fse, dirName, { create: false });\n })\n .then(function (de) {\n return _this.rimraf(de);\n });\n }\n })();\n };\n File.prototype.checkFile = function (path, file) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(file)) {\n var err = new FileError(5);\n err.message = 'file cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveLocalFilesystemUrl(path + file).then(function (fse) {\n if (fse.isFile) {\n return true;\n }\n else {\n var err = new FileError(13);\n err.message = 'input is not a file';\n return Promise.reject(err);\n }\n });\n }\n })();\n };\n File.prototype.createFile = function (path, fileName, replace) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n var options = {\n create: true,\n };\n if (!replace) {\n options.exclusive = true;\n }\n return _this.resolveDirectoryUrl(path).then(function (fse) {\n return _this.getFile(fse, fileName, options);\n });\n }\n })();\n };\n File.prototype.removeFile = function (path, fileName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getFile(fse, fileName, { create: false });\n })\n .then(function (fe) {\n return _this.remove(fe);\n });\n }\n })();\n };\n File.prototype.writeFile = function (path, fileName, text, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n return (function () {\n if (checkAvailability(_this) === true) {\n if (/^\\//.test(fileName)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n var getFileOpts = {\n create: !options.append,\n exclusive: !options.replace,\n };\n return _this.resolveDirectoryUrl(path)\n .then(function (directoryEntry) {\n return _this.getFile(directoryEntry, fileName, getFileOpts);\n })\n .then(function (fileEntry) {\n return _this.writeFileEntry(fileEntry, text, options);\n });\n }\n })();\n };\n /**\n * Write content to FileEntry.\n *\n * @hidden\n * Write to an existing file.\n * @param {FileEntry} fe file entry object\n * @param {string | Blob | ArrayBuffer} text text content or blob to write\n * @param {IWriteOptions} options replace file if set to true. See WriteOptions for more information.\n * @returns {Promise} Returns a Promise that resolves to updated file entry or rejects with an error.\n */\n File.prototype.writeFileEntry = function (fe, text, options) {\n var _this = this;\n return this.createWriter(fe)\n .then(function (writer) {\n if (options.append) {\n writer.seek(writer.length);\n }\n if (options.truncate) {\n writer.truncate(options.truncate);\n }\n return _this.write(writer, text);\n })\n .then(function () { return fe; });\n };\n File.prototype.writeExistingFile = function (path, fileName, text) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.writeFile(path, fileName, text, { replace: true });\n }\n })();\n };\n File.prototype.readAsText = function (path, file) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'Text');\n }\n })();\n };\n File.prototype.readAsDataURL = function (path, file) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'DataURL');\n }\n })();\n };\n File.prototype.readAsBinaryString = function (path, file) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'BinaryString');\n }\n })();\n };\n File.prototype.readAsArrayBuffer = function (path, file) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.readFile(path, file, 'ArrayBuffer');\n }\n })();\n };\n File.prototype.moveFile = function (path, fileName, newPath, newFileName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n newFileName = newFileName || fileName;\n if (/^\\//.test(newFileName)) {\n var err = new FileError(5);\n err.message = 'file name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getFile(fse, fileName, { create: false });\n })\n .then(function (srcfe) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.move(srcfe, deste, newFileName);\n });\n });\n }\n })();\n };\n File.prototype.copyFile = function (path, fileName, newPath, newFileName) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n newFileName = newFileName || fileName;\n if (/^\\//.test(newFileName)) {\n var err = new FileError(5);\n err.message = 'file name cannot start with /';\n return Promise.reject(err);\n }\n return _this.resolveDirectoryUrl(path)\n .then(function (fse) {\n return _this.getFile(fse, fileName, { create: false });\n })\n .then(function (srcfe) {\n return _this.resolveDirectoryUrl(newPath).then(function (deste) {\n return _this.copy(srcfe, deste, newFileName);\n });\n });\n }\n })();\n };\n /**\n * @param err\n * @hidden\n */\n File.prototype.fillErrorMessage = function (err) {\n try {\n err.message = this.cordovaFileError[err.code];\n }\n catch (e) { }\n };\n File.prototype.resolveLocalFilesystemUrl = function (fileUrl) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return getPromise(function (resolve, reject) {\n try {\n window.resolveLocalFileSystemURL(fileUrl, function (entry) {\n resolve(entry);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n }\n catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n })();\n };\n File.prototype.resolveDirectoryUrl = function (directoryUrl) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return _this.resolveLocalFilesystemUrl(directoryUrl).then(function (de) {\n if (de.isDirectory) {\n return de;\n }\n else {\n var err = new FileError(13);\n err.message = 'input is not a directory';\n return Promise.reject(err);\n }\n });\n }\n })();\n };\n File.prototype.getDirectory = function (directoryEntry, directoryName, flags) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return new Promise(function (resolve, reject) {\n try {\n directoryEntry.getDirectory(directoryName, flags, function (de) {\n resolve(de);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n }\n catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n })();\n };\n File.prototype.getFile = function (directoryEntry, fileName, flags) {\n var _this = this;\n return (function () {\n if (checkAvailability(_this) === true) {\n return new Promise(function (resolve, reject) {\n try {\n directoryEntry.getFile(fileName, flags, resolve, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n }\n catch (xc) {\n _this.fillErrorMessage(xc);\n reject(xc);\n }\n });\n }\n })();\n };\n File.prototype.readFile = function (path, file, readAs) {\n var _this = this;\n if (/^\\//.test(file)) {\n var err = new FileError(5);\n err.message = 'file-name cannot start with /';\n return Promise.reject(err);\n }\n return this.resolveDirectoryUrl(path)\n .then(function (directoryEntry) {\n return _this.getFile(directoryEntry, file, { create: false });\n })\n .then(function (fileEntry) {\n var reader = new FileReader();\n return getPromise(function (resolve, reject) {\n reader.onloadend = function () {\n if (reader.result !== undefined || reader.result !== null) {\n resolve(reader.result);\n }\n else if (reader.error !== undefined || reader.error !== null) {\n reject(reader.error);\n }\n else {\n reject({ code: null, message: 'READER_ONLOADEND_ERR' });\n }\n };\n fileEntry.file(function (file) {\n reader[\"readAs\" + readAs].call(reader, file);\n }, function (error) {\n reject(error);\n });\n });\n });\n };\n /**\n * @param fe\n * @hidden\n */\n File.prototype.remove = function (fe) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n fe.remove(function () {\n resolve({ success: true, fileRemoved: fe });\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param srce\n * @param destdir\n * @param newName\n * @hidden\n */\n File.prototype.move = function (srce, destdir, newName) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n srce.moveTo(destdir, newName, function (deste) {\n resolve(deste);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param srce\n * @param destdir\n * @param newName\n * @hidden\n */\n File.prototype.copy = function (srce, destdir, newName) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n srce.copyTo(destdir, newName, function (deste) {\n resolve(deste);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param dr\n * @hidden\n */\n File.prototype.readEntries = function (dr) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n dr.readEntries(function (entries) {\n resolve(entries);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param de\n * @hidden\n */\n File.prototype.rimraf = function (de) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n de.removeRecursively(function () {\n resolve({ success: true, fileRemoved: de });\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param fe\n * @hidden\n */\n File.prototype.createWriter = function (fe) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n fe.createWriter(function (writer) {\n resolve(writer);\n }, function (err) {\n _this.fillErrorMessage(err);\n reject(err);\n });\n });\n };\n /**\n * @param writer\n * @param gu\n * @hidden\n */\n File.prototype.write = function (writer, gu) {\n if (gu instanceof Blob) {\n return this.writeFileInChunks(writer, gu);\n }\n return new Promise(function (resolve, reject) {\n writer.onwriteend = function (evt) {\n if (writer.error) {\n reject(writer.error);\n }\n else {\n resolve(evt);\n }\n };\n writer.write(gu);\n });\n };\n /**\n * @param writer\n * @param file\n * @hidden\n */\n File.prototype.writeFileInChunks = function (writer, file) {\n var BLOCK_SIZE = 1024 * 1024;\n var writtenSize = 0;\n /**\n *\n */\n function writeNextChunk() {\n var size = Math.min(BLOCK_SIZE, file.size - writtenSize);\n var chunk = file.slice(writtenSize, writtenSize + size);\n writtenSize += size;\n writer.write(chunk);\n }\n return getPromise(function (resolve, reject) {\n writer.onerror = reject;\n writer.onwrite = function () {\n if (writtenSize < file.size) {\n writeNextChunk();\n }\n else {\n resolve();\n }\n };\n writeNextChunk();\n });\n };\n Object.defineProperty(File.prototype, \"applicationDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"applicationDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"applicationDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"applicationStorageDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"applicationStorageDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"applicationStorageDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"dataDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"dataDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"dataDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"cacheDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"cacheDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"cacheDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalApplicationStorageDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"externalApplicationStorageDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"externalApplicationStorageDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalDataDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"externalDataDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"externalDataDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalCacheDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"externalCacheDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"externalCacheDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"externalRootDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"externalRootDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"externalRootDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"tempDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"tempDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"tempDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"syncedDataDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"syncedDataDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"syncedDataDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"documentsDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"documentsDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"documentsDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(File.prototype, \"sharedDirectory\", {\n get: function () { return cordovaPropertyGet(this, \"sharedDirectory\"); },\n set: function (value) { cordovaPropertySet(this, \"sharedDirectory\", value); },\n enumerable: false,\n configurable: true\n });\n File.pluginName = \"File\";\n File.plugin = \"cordova-plugin-file\";\n File.pluginRef = \"cordova.file\";\n File.repo = \"https://github.com/apache/cordova-plugin-file\";\n File.platforms = [\"Android\", \"Browser\", \"iOS\", \"macOS\", \"Windows\"];\nFile.ɵfac = /*@__PURE__*/ function () { var ɵFile_BaseFactory; return function File_Factory(t) { return (ɵFile_BaseFactory || (ɵFile_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(File)))(t || File); }; }();\nFile.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: File, factory: function (t) { return File.ɵfac(t); } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(File, [{\n type: Injectable\n }], null, null); })();\n return File;\n}(AwesomeCordovaNativePlugin));\nexport { File };\n\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}