Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
e =>
// Filter-out non-immediate children
!e.item.path.replace(new RegExp(`^${escapeRegexp(this.props.parent)}/`), '').includes('/')
);
public suggestions({ getActions }: ExtensionManagerParams): Suggester {
const {
suggestionCharacter,
suggestionKeyBindings,
maxResults,
onSuggestionChange,
onSuggestionExit,
} = this.options;
// const fn = debounce(100, sortEmojiMatches);
return {
noDecorations: true,
invalidPrefixCharacters: escapeStringRegex(suggestionCharacter),
char: suggestionCharacter,
name: this.name,
appendText: '',
suggestTag: 'span',
keyBindings: suggestionKeyBindings,
onChange: params => {
const query = params.queryText.full;
const emojiMatches = query.length === 0 ? this.frequentlyUsed : sortEmojiMatches(query, maxResults);
onSuggestionChange({ ...params, emojiMatches });
},
onExit: onSuggestionExit,
createCommand: ({ match }) => {
const create = getActions('insertEmojiByObject');
return (emoji, skinVariation) => {
if (isNullOrUndefined(emoji)) {
export function changeParentPath(path: string, oldParentPath: string, newParentPath: string) {
return path.replace(new RegExp('^' + escapeRegExp(oldParentPath + '/')), newParentPath + '/');
}
replaceAssetsTags(html) {
const assets = [...this.modernManifest.initial, ...this.modernManifest.async];
for (const asset of assets) {
if (path.extname(asset) !== '.js') continue;
const regAsset = new RegExp(
`<(link|script)\\s[^>]*${escapeStringRegexp(asset)}[^>]*\/?>`,
'gm',
);
let result = regAsset.exec(html);
while (result !== null) {
switch (result[1]) {
case 'link':
if (result[0].indexOf('preload') > 0) {
const newTag = result[0].replace('preload', 'modulepreload');
html = html.replace(result[0], newTag);
}
break;
case 'script':
const newTag = result[0].replace(/(\/?>)$/, ' type="module"$1');
html = html.replace(result[0], newTag);
break;
function re(str) {
return new RegExp(escapeStringRegexp(str), 'g');
}
.filter(l =>
l.title.match(
new RegExp(escapeRegex(searchFilter || ""), "gi"),
),
)
menuItems() {
if (this.showMenuItems()) {
let items = this.props.children;
if (this.props.filter && this.state.filter) {
const regex = new RegExp(escapeStringRegexp(this.state.filter), 'i');
items = items.filter(child => child.props.name.search(regex) > -1);
}
return ([
this.filterHTML(),
items
]);
}
return null;
}
const findSrcByImgId = (body, id) => {
const m = new RegExp(`(\\[['"]${escapeStringRegexp(id)}['"]\\])`).exec(body);
const idPos = body.indexOf(m && m[1]);
if (idPos === -1) {
throw new Error('Image id is not found');
}
const endPos = body.indexOf('}', idPos);
let startPos = endPos;
while (--startPos > 0) {
if (body.charAt(startPos) === '{') {
break;
}
}
if (startPos <= 0) {
throw new Error('Function statement is not found');
}
const fnStatement = body.substr(startPos, endPos - startPos);
.filter(i =>
i.name.match(
new RegExp(
escapeRegex(this.state.findInventory || ""),
"gi",
),
),
)