node-sass-magic-importer
Version:
Custom node-sass importer for selector specific imports, node importing, module importing, globbing support and importing files only once
18 lines (14 loc) • 512 B
text/typescript
import { IEscapeSelector } from '../interfaces/IEscapeSelector';
export function escapeSelectorFactory(): IEscapeSelector {
return (selector: string, escapeSequence = `\\`) => {
if (!selector) {
return selector;
}
const specialCharacters = [`@`];
const regexSpecialCharacters = [`/`];
const regex = new RegExp(
`(?!@mixin)(${specialCharacters.join(`|`)}|\\${regexSpecialCharacters.join(`|\\`)})`, `g`,
);
return selector.replace(regex, `${escapeSequence}$1`);
};
}