"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", { value: true });
const content_checker_1 = require("@ewizardjs/content-checker");
const content_types_1 = require("@ewizardjs/content-types");
const ramda_1 = require("ramda");
const upath_1 = require("upath");
const getContentType_1 = require("../../Api/getContentType");
const getBuildDeps_1 = require("../../utils/getBuildDeps");
const Archiver_1 = require("./Archiver");
const EmailsArchiver_1 = require("./EmailsArchiver");
function zip(presentationPath = process.cwd(), buildResult, options) {
    return __awaiter(this, void 0, void 0, function* () {
        const unixPresentationPath = upath_1.toUnix(presentationPath);
        const contentType = yield getContentType_1.default(ramda_1.identity)(unixPresentationPath);
        switch (contentType) {
            case content_types_1.ContentTypes.EMAIL:
                const { classic } = yield content_checker_1.getFrameworkInfo(unixPresentationPath);
                if (!classic) {
                    const files = getBuildDeps_1.getBuildDeps(unixPresentationPath, buildResult);
                    return new EmailsArchiver_1.default(unixPresentationPath, Object.assign(Object.assign({}, options), { files }));
                }
                break;
        }
        return new Archiver_1.default(unixPresentationPath, options);
    });
}
exports.default = zip;
//# sourceMappingURL=index.js.map