UNPKG

deep-package-manager

Version:
69 lines (56 loc) 1.56 kB
/** * Created by AlexanderC on 2/11/16. */ 'use strict'; 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;