| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/parsmega.nuxt/node_modules/style-resources-loader/src/utils/ |
Upload File : |
import {EOL} from 'os';
import {getOptions} from 'loader-utils';
import type {
LoaderContext,
StyleResource,
StyleResourcesNormalizedInjector,
StyleResourcesLoaderOptions,
StyleResourcesLoaderNormalizedOptions,
} from '../types';
import {validateOptions} from './validate-options';
const normalizePatterns = (patterns: StyleResourcesLoaderOptions['patterns']) =>
Array.isArray(patterns) ? patterns : [patterns];
const coerceContentEOL = (content: string) => (content.endsWith(EOL) ? content : `${content}${EOL}`);
const getResourceContent = ({content}: StyleResource) => coerceContentEOL(content);
const normalizeInjector = (injector: StyleResourcesLoaderOptions['injector']): StyleResourcesNormalizedInjector => {
if (typeof injector === 'undefined' || injector === 'prepend') {
return (source, resources) => resources.map(getResourceContent).join('') + source;
}
if (injector === 'append') {
return (source, resources) => source + resources.map(getResourceContent).join('');
}
return injector;
};
export const normalizeOptions = (ctx: LoaderContext): StyleResourcesLoaderNormalizedOptions => {
const options = getOptions(ctx);
validateOptions<StyleResourcesLoaderOptions>(options);
const {patterns, injector, globOptions = {}, resolveUrl = true} = options;
return {
patterns: normalizePatterns(patterns),
injector: normalizeInjector(injector),
globOptions,
resolveUrl,
};
};