You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
parttimejob/node_modules/style-resources-loader/lib/utils/normalize-options.js

31 lines
1.3 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeOptions = void 0;
const os_1 = require("os");
const loader_utils_1 = require("loader-utils");
const validate_options_1 = require("./validate-options");
const normalizePatterns = (patterns) => Array.isArray(patterns) ? patterns : [patterns];
const coerceContentEOL = (content) => (content.endsWith(os_1.EOL) ? content : `${content}${os_1.EOL}`);
const getResourceContent = ({ content }) => coerceContentEOL(content);
const normalizeInjector = (injector) => {
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;
};
const normalizeOptions = (ctx) => {
const options = (0, loader_utils_1.getOptions)(ctx);
(0, validate_options_1.validateOptions)(options);
const { patterns, injector, globOptions = {}, resolveUrl = true } = options;
return {
patterns: normalizePatterns(patterns),
injector: normalizeInjector(injector),
globOptions,
resolveUrl,
};
};
exports.normalizeOptions = normalizeOptions;
//# sourceMappingURL=normalize-options.js.map