UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

51 lines (42 loc) 1.61 kB
/** * node-archiver * * Copyright (c) 2012-2014 Chris Talkington, contributors. * Licensed under the MIT license. * https://github.com/archiverjs/node-archiver/blob/master/LICENSE-MIT */ var ArchiverCore = require('./core'); var formats = {}; var archiver = module.exports = function(format, options) { return archiver.create(format, options); }; archiver.create = function(format, options) { if (formats[format]) { var instance = new ArchiverCore(options); instance.setFormat(format); instance.setModule(new formats[format](options)); return instance; } else { throw new Error('create(' + format + '): format not registered'); } }; archiver.registerFormat = function(format, module) { if (formats[format]) { throw new Error('register(' + format + '): format already registered'); } if (typeof module !== 'function') { throw new Error('register(' + format + '): format module invalid'); } if (typeof module.prototype.append !== 'function' || typeof module.prototype.finalize !== 'function') { throw new Error('register(' + format + '): format module missing methods'); } formats[format] = module; // backwards compat - to be removed in 0.14 var compatName = 'create' + format.charAt(0).toUpperCase() + format.slice(1); archiver[compatName] = function(options) { return archiver.create(format, options); }; }; archiver.registerFormat('zip', require('./plugins/zip')); archiver.registerFormat('tar', require('./plugins/tar')); archiver.registerFormat('json', require('./plugins/json'));