@shockpkg/dir-projector
Version:
Package for creating Shockwave Director projectors
69 lines (51 loc) • 1.5 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BundleWindows32 = void 0;
var _path = require("path");
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _util = require("../../util");
var _windows = require("../../util/windows");
var _ = require("../../projector/windows/32");
var _windows2 = require("../windows");
/**
* BundleWindows32 constructor.
*
* @param path Output path for the main application.
*/
class BundleWindows32 extends _windows2.BundleWindows {
/**
* ProjectorWindows32 instance.
*/
constructor(path) {
super(path);
this.projector = void 0;
this.projector = this._createProjector();
}
/**
* Create projector instance for the bundle.
*
* @returns Projector instance.
*/
_createProjector() {
const {
path,
extension
} = this;
const directory = (0, _util.trimExtension)(path, extension, true);
if (directory === path) {
throw new Error(`Output path must end with: ${extension}`);
}
return new _.ProjectorWindows32((0, _path.join)(directory, (0, _path.basename)(path)));
}
/**
* Write the launcher file.
*/
async _writeLauncher() {
await _fsExtra.default.outputFile(this.path, await (0, _windows.windowsLauncher)('i686', this.projector.path));
}
}
exports.BundleWindows32 = BundleWindows32;
//# sourceMappingURL=32.js.map