Files
react-native-devtools-frontend/node_modules/clone-regexp/index.js
T
Mathias Bynens 79e2cf0633 Add stylelint dependency
This also adds CC-BY-4.0 to the list of accepted licenses.

DISABLE_THIRD_PARTY_CHECK=update dependencies

Bug: chromium:1083142
Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2020-06-11 06:20:04 +00:00

30 lines
660 B
JavaScript

'use strict';
const isRegexp = require('is-regexp');
const flagMap = {
global: 'g',
ignoreCase: 'i',
multiline: 'm',
dotAll: 's',
sticky: 'y',
unicode: 'u'
};
module.exports = (regexp, options = {}) => {
if (!isRegexp(regexp)) {
throw new TypeError('Expected a RegExp instance');
}
const flags = Object.keys(flagMap).map(flag => (
(typeof options[flag] === 'boolean' ? options[flag] : regexp[flag]) ? flagMap[flag] : ''
)).join('');
const clonedRegexp = new RegExp(options.source || regexp.source, flags);
clonedRegexp.lastIndex = typeof options.lastIndex === 'number' ?
options.lastIndex :
regexp.lastIndex;
return clonedRegexp;
};