UNPKG

deep-package-manager

Version:
123 lines (92 loc) 3.13 kB
/** * Created by AlexanderC on 2/11/16. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Injector = undefined; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _GTMDriver = require('./Driver/GTMDriver'); var _DeepConfigDriver = require('./Driver/DeepConfigDriver'); var _DeployIdDriver = require('./Driver/DeployIdDriver'); var _RootAssetsDriver = require('./Driver/RootAssetsDriver'); var _PageLoaderDriver = require('./Driver/PageLoaderDriver'); var _VersionDriver = require('./Driver/VersionDriver'); var _FaviconDriver = require('./Driver/FaviconDriver'); var _DeepEnvPlaceholderDriver = require('./Driver/DeepEnvPlaceholderDriver'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class Injector { /** * @param {String} htmlContent */ constructor(htmlContent) { this._htmlContent = htmlContent; } /** * @param {String} htmlFile * @param {Object|null} deepConfig * @param {String|null} gtmContainerId * @param {Object} microservices * @param {Object|null} pageLoader * @param {String|null} version * @param {String|null} favicon * @param {Onject|null} workingMicroserviceConfig */ static fileInjectAll(htmlFile, deepConfig = null, gtmContainerId = null, microservices = {}, pageLoader = null, version = null, favicon = null, workingMicroserviceConfig = null) { let drivers = []; if (deepConfig) { drivers.push(new _DeepConfigDriver.DeepConfigDriver(deepConfig)); drivers.push(new _DeployIdDriver.DeployIdDriver(deepConfig.deployId)); } if (gtmContainerId) { drivers.push(new _GTMDriver.GTMDriver(gtmContainerId)); } if (microservices) { drivers.push(new _RootAssetsDriver.RootAssetsDriver(microservices)); } if (pageLoader && pageLoader.src && microservices) { drivers.push(new _PageLoaderDriver.PageLoaderDriver(pageLoader, microservices)); } if (favicon) { drivers.push(new _FaviconDriver.FaviconDriver(favicon, microservices)); } if (version) { drivers.push(new _VersionDriver.VersionDriver(version)); } if (workingMicroserviceConfig) { drivers.push(new _DeepEnvPlaceholderDriver.DeepEnvPlaceholderDriver(workingMicroserviceConfig)); } if (drivers.length <= 0) { return; } Injector.fileInject(htmlFile, ...drivers); } /** * @param {String} htmlFile * @param {AbstractDriver|GTMDriver|*} drivers */ static fileInject(htmlFile, ...drivers) { let injector = new Injector(_fs2.default.readFileSync(htmlFile).toString()); _fs2.default.writeFileSync(htmlFile, injector.inject(...drivers)); } /** * @returns {String} */ get rawHtmlContent() { return this._htmlContent; } /** * @param {AbstractDriver[]|GTMDriver[]|*} drivers * @returns {String|*} */ inject(...drivers) { let htmlContent = this._htmlContent; drivers.forEach(driver => { htmlContent = driver.inject(htmlContent); }); return htmlContent; } } exports.Injector = Injector;