123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Distribution = exports.DistributionFileType = void 0;
- const fs = require("fs-extra");
- const error_1 = require("../error");
- const logger_1 = require("../logger");
- const pathUtil = require("path");
- var DistributionFileType;
- (function (DistributionFileType) {
- DistributionFileType["IPA"] = "ipa";
- DistributionFileType["APK"] = "apk";
- DistributionFileType["AAB"] = "aab";
- })(DistributionFileType = exports.DistributionFileType || (exports.DistributionFileType = {}));
- class Distribution {
- constructor(path) {
- this.path = path;
- if (!path) {
- throw new error_1.FirebaseError("must specify a release binary file");
- }
- const distributionType = path.split(".").pop();
- if (distributionType !== DistributionFileType.IPA &&
- distributionType !== DistributionFileType.APK &&
- distributionType !== DistributionFileType.AAB) {
- throw new error_1.FirebaseError("Unsupported file format, should be .ipa, .apk or .aab");
- }
- let stat;
- try {
- stat = fs.statSync(path);
- }
- catch (err) {
- logger_1.logger.info(err);
- throw new error_1.FirebaseError(`File ${path} does not exist: verify that file points to a binary`);
- }
- if (!stat.isFile()) {
- throw new error_1.FirebaseError(`${path} is not a file. Verify that it points to a binary.`);
- }
- this.path = path;
- this.fileType = distributionType;
- this.fileName = pathUtil.basename(path);
- }
- distributionFileType() {
- return this.fileType;
- }
- readStream() {
- return fs.createReadStream(this.path);
- }
- getFileName() {
- return this.fileName;
- }
- }
- exports.Distribution = Distribution;
|