awesome-cordova-plugins/src/@ionic-native/plugins/zip/index.ts
2018-03-17 00:13:08 +01:00

49 lines
1.3 KiB
TypeScript

import { Injectable } from '@angular/core';
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
/**
* @name Zip
* @description
* A Cordova plugin to unzip files in Android and iOS.
*
* @usage
* ```typescript
* import { Zip } from '@ionic-native/zip';
*
* constructor(private zip: Zip) { }
*
* ...
*
* this.zip.unzip('path/to/source.zip', 'path/to/dest', (progress) => console.log('Unzipping, ' + Math.round((progress.loaded / progress.total) * 100) + '%'))
* .then((result) => {
* 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 IonicNativePlugin {
/**
* Extracts files from a ZIP archive
* @param sourceZip {string} Source ZIP file
* @param destUrl {string} Destination folder
* @param onProgress {Function} optional callback to be called on progress update
* @returns {Promise<number>} returns a promise that resolves with a number. 0 is success, -1 is error
*/
@Cordova({
successIndex: 2,
errorIndex: 4
})
unzip(sourceZip: string, destUrl: string, onProgress?: Function): Promise<number> { return; }
}