deep-package-manager
Version:
DEEP Package Manager
69 lines (56 loc) • 1.56 kB
JavaScript
/**
* Created by AlexanderC on 2/11/16.
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DeepEnvPlaceholderDriver = undefined;
var _AbstractDriver = require('./AbstractDriver');
class DeepEnvPlaceholderDriver extends _AbstractDriver.AbstractDriver {
/**
* @param {Object} microserviceConfig
*/
constructor(microserviceConfig) {
super();
this._microserviceConfig = microserviceConfig;
}
/**
* @returns {Object}
*/
get microserviceConfig() {
return this._microserviceConfig;
}
/**
* @param {String} htmlContent
* @returns {String}
*/
inject(htmlContent) {
let placeholdersMapping = this._placeholdersMapping;
for (let placeholder in placeholdersMapping) {
if (!placeholdersMapping.hasOwnProperty(placeholder)) {
continue;
}
let replacement = placeholdersMapping[placeholder];
htmlContent = htmlContent.replace(this._buildPlaceholderRegexp(placeholder), replacement);
}
return htmlContent;
}
/**
* @param {String} placeholder
* @returns {RegExp|*}
* @example root-assets-path => $\{\s*deep-root-assets-path\s*\}
*/
_buildPlaceholderRegexp(placeholder) {
return new RegExp(`\\$\\{\\s*deep\\-${placeholder}\\s*\\}`, 'ig');
}
/**
* @returns {Object}
*/
get _placeholdersMapping() {
return {
'root-assets-path': this._microserviceConfig.isRoot ? '' : `/${this._microserviceConfig.identifier}`
};
}
}
exports.DeepEnvPlaceholderDriver = DeepEnvPlaceholderDriver;