UNPKG

node-sass-magic-importer

Version:

Custom node-sass importer for selector specific imports, node importing, module importing, globbing support and importing files only once

27 lines (22 loc) 1.09 kB
import { IEscapeSelector } from '../interfaces/IEscapeSelector'; import { IProcessRawSelectorFilters } from '../interfaces/IProcessRawSelectorFilters'; import { ISelectorFilter, ISelectorFilterRaw } from '../interfaces/ISelectorFilter'; export function processRawSelectorFiltersFactory( escapeSelector: IEscapeSelector, ): IProcessRawSelectorFilters { return (rawSelectorFilters: ISelectorFilterRaw[]) => { return rawSelectorFilters.map((rawSelectorFilter) => { const selectorFilter: ISelectorFilter = { selector: ``, replacement: undefined }; const matchRegExpSelector = rawSelectorFilter.selector.match(/^\/(.+)\/([a-z]*)$/); if (matchRegExpSelector) { const pattern = escapeSelector(matchRegExpSelector[1], `\\\\`); const flags = matchRegExpSelector[2]; selectorFilter.selector = new RegExp(pattern, flags); } else { selectorFilter.selector = escapeSelector(rawSelectorFilter.selector); } selectorFilter.replacement = escapeSelector(rawSelectorFilter.replacement); return selectorFilter; }); }; }