nwixtoolset
Version:
Node module wrapper around the WIX Toolset executables.
51 lines (50 loc) • 2.23 kB
JavaScript
;
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 run_1 = require("./run");
const util_1 = require("./util");
/**
* Inscribes an installer database with information about the digital certificates its external cabs are signed with.
* For more information, see [Insignia](http://wixtoolset.org/documentation/manual/v3/overview/insignia.html).
*
* @param [options] Options for Insignia.
*/
function insignia(options) {
return __awaiter(this, void 0, void 0, function* () {
const args = ["-nologo"];
if (isDatabaseOptions(options)) {
yield util_1.addPathArgument(args, "-im", options.inputDatabase);
}
else if (isBundleOptions(options)) {
yield util_1.addPathArgument(args, "-ib", options.inputBundle);
}
else if (isReattachOptions(options)) {
yield util_1.addPathArgument(args, "-ab", options.inputEngine);
yield util_1.addPathFile(args, options.outputBundle);
}
else {
throw new TypeError("Invalid arguments");
}
yield util_1.addPathArgument(args, "-o", options.out);
util_1.addCommonArguments(args, options);
return run_1.raw.insignia(args, options);
});
}
exports.insignia = insignia;
function isDatabaseOptions(options) {
return "inputDatabase" in options;
}
function isBundleOptions(options) {
return "inputBundle" in options;
}
function isReattachOptions(options) {
return "inputEngine" in options && "outputBundle" in options;
}