/// <summary> /// Translates a code of assets written on LESS to CSS-code /// </summary> /// <param name="assets">Set of assets with code written on LESS</param> /// <returns>Set of assets with translated code</returns> public override IList<IAsset> Translate(IList<IAsset> assets) { if (assets == null) { throw new ArgumentException(CoreStrings.Common_ValueIsEmpty, "assets"); } if (assets.Count == 0) { return assets; } var assetsToProcessing = assets.Where(a => a.AssetTypeCode == Constants.AssetTypeCode.Less).ToList(); if (assetsToProcessing.Count == 0) { return assets; } lock (_translationSynchronizer) { bool enableNativeMinification = NativeMinificationEnabled; CompilationOptions options = CreateCompilationOptions(enableNativeMinification); var lessCompiler = new LessCompiler(_createJsEngineInstance, options); ClearLessStylesheetCache(); try { foreach (var asset in assetsToProcessing) { InnerTranslate(asset, lessCompiler, enableNativeMinification); } } finally { lessCompiler.Dispose(); ClearLessStylesheetCache(); } } return assets; }
/// <summary> /// Translates a code of asset written on LESS to CSS-code /// </summary> /// <param name="asset">Asset with code written on LESS</param> /// <returns>Asset with translated code</returns> public override IAsset Translate(IAsset asset) { if (asset == null) { throw new ArgumentException(CoreStrings.Common_ValueIsEmpty, "asset"); } lock (_translationSynchronizer) { bool enableNativeMinification = NativeMinificationEnabled; CompilationOptions options = CreateCompilationOptions(enableNativeMinification); var lessCompiler = new LessCompiler(_createJsEngineInstance, options); ClearLessStylesheetCache(); try { InnerTranslate(asset, lessCompiler, enableNativeMinification); } finally { lessCompiler.Dispose(); ClearLessStylesheetCache(); } } return asset; }