"use strict";
var RenameInfo = (function () {
function RenameInfo(opts) {
this.fullNameFrom = opts.fullNameFrom;
this.fullNameTo = opts.fullNameTo;
}
RenameInfo.createFromNamespaces = function (opts) {
var namespacePrefix = opts.namespaceNames.length > 0 ? opts.namespaceNames.join(".") + "." : "";
return new RenameInfo({
fullNameFrom: namespacePrefix + opts.nameFrom,
fullNameTo: namespacePrefix + opts.nameTo
});
};
RenameInfo.prototype.hasNamespaces = function () {
return this.fullNameFrom.indexOf(".") !== -1;
};
RenameInfo.prototype.getNumberOfNamespaces = function () {
return (this.fullNameFrom.match(/\./g) || []).length;
};
RenameInfo.prototype.isRootDefaultExportOfFile = function () {
return this.getRootNameFrom() === "default";
};
RenameInfo.prototype.getRootNameFrom = function () {
return this.fullNameFrom.split(".")[0];
};
RenameInfo.prototype.getRootNameTo = function () {
return this.fullNameTo.split(".")[0];
};
RenameInfo.prototype.getFirstXNamespacesFromFullName = function (numberNamespaces) {
return this.getFullNameParts().slice(0, numberNamespaces).join(".");
};
RenameInfo.prototype.getFullNameParts = function () {
return this.fullNameFrom.split(".");
};
RenameInfo.prototype.getFullReplaceParts = function () {
return this.fullNameTo.split(".");
};
RenameInfo.prototype.createCopy = function () {
return new RenameInfo({
fullNameFrom: this.fullNameFrom,
fullNameTo: this.fullNameTo
});
};
RenameInfo.prototype.createWithoutFirstXNamespaces = function (numNamespaces) {
return new RenameInfo({
fullNameFrom: this.fullNameFrom.split(".").slice(numNamespaces).join("."),
fullNameTo: this.fullNameTo.split(".").slice(numNamespaces).join(".")
});
};
RenameInfo.prototype.createWithPrependedNamespace = function (namespaceName) {
return new RenameInfo({
fullNameFrom: namespaceName + "." + this.fullNameFrom,
fullNameTo: namespaceName + "." + this.fullNameTo
});
};
RenameInfo.prototype.createWithNewFirstNamespace = function (namespaceName) {
var replace = function (name) {
var parts = name.split(".");
parts[0] = namespaceName;
return parts.join(".");
};
return new RenameInfo({
fullNameFrom: replace(this.fullNameFrom),
fullNameTo: replace(this.fullNameTo)
});
};
return RenameInfo;
}());
exports.RenameInfo = RenameInfo;
//# sourceMappingURL=RenameInfo.js.map
|