From 0a31a374b1a73403785a1e6c9104381ee9761940 Mon Sep 17 00:00:00 2001 From: Jonathan Ramirez Taboada Date: Thu, 30 Jun 2022 11:05:34 +0200 Subject: [PATCH] feat(zip): add plugin (#4238) * added cordova-plugin-zip * Update index.ts Co-authored-by: Daniel Sogl --- .../plugins/zip/index.ts | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/@awesome-cordova-plugins/plugins/zip/index.ts diff --git a/src/@awesome-cordova-plugins/plugins/zip/index.ts b/src/@awesome-cordova-plugins/plugins/zip/index.ts new file mode 100644 index 000000000..cf6cd4fbd --- /dev/null +++ b/src/@awesome-cordova-plugins/plugins/zip/index.ts @@ -0,0 +1,43 @@ +import { AwesomeCordovaNativePlugin, Cordova, Plugin } from '@awesome-cordova-plugins/core'; + +import { Injectable } from '@angular/core'; + +/** + * @name Zip + * @description + * A Cordova plugin to unzip files in Android and iOS. + * @usage + * ```typescript + * import { Zip } from '@awesome-cordova-plugins/zip/nx' + * ... + * + * const result = await Zip.unzip('path/to/source.zip', 'path/to/dest', (progress) => + * console.log('Unzipping, ' + Math.round((progress.loaded / progress.total) * 100) + '%') + * ); + * + * if(result === 0) console.log('SUCCESS'); + * if(result === -1) console.log('FAILED'); + * + * ``` + */ +@Plugin({ + pluginName: 'Zip', + plugin: 'cordova-plugin-zip', + pluginRef: 'zip', + repo: 'https://github.com/MobileChromeApps/cordova-plugin-zip', + platforms: ['Android', 'iOS'], +}) +@Injectable() +export class Zip extends AwesomeCordovaNativePlugin { + /** + * Extracts files from a ZIP archive + * @param {string} sourceZip Source ZIP file + * @param {string} destFolder Destination folder + * @param {Function} onProgress optional callback to be called on progress update + * @returns {Promise} returns a promise that resolves with a number. 0 is success, -1 is error + */ + @Cordova() + unzip(sourceZip: string, destFolder: string, onProgress?: Function): Promise { + return; + } +}