mirror of
https://github.com/rubickCenter/rubick
synced 2025-07-21 23:59:32 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
8c3186afef
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-11, windows-2019, ubuntu-latest]
|
os: [macos-latest, windows-2019, ubuntu-latest]
|
||||||
|
|
||||||
# create steps
|
# create steps
|
||||||
steps:
|
steps:
|
||||||
|
@ -109,6 +109,8 @@ Those who are interested in this project or want to exchange and learn can scan
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
<a href="https://hellogithub.com/repository/0a3e2484b44e481e9dcf1850e45193cd" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=0a3e2484b44e481e9dcf1850e45193cd&claim_uid=vXGwjpmYNsBex0C" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a>
|
||||||
|
|
||||||
## Contribute
|
## Contribute
|
||||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/rubickCenter/rubick/graphs/contributors)]. <a href="https://github.com/rubickCenter/rubick/graphs/contributors"><img src="https://opencollective.com/rubick/contributors.svg?width=890&button=false" /></a>
|
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/rubickCenter/rubick/graphs/contributors)]. <a href="https://github.com/rubickCenter/rubick/graphs/contributors"><img src="https://opencollective.com/rubick/contributors.svg?width=890&button=false" /></a>
|
||||||
|
|
||||||
|
@ -8,37 +8,37 @@
|
|||||||
>
|
>
|
||||||
<a-menu-item key="finder">
|
<a-menu-item key="finder">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<StarOutlined style="font-size: 18px;" />
|
<StarOutlined style="font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.explore') }}
|
{{ $t('feature.market.explore') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="worker">
|
<a-menu-item key="worker">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<SendOutlined style="transform: rotate(-45deg); font-size: 18px;" />
|
<SendOutlined style="transform: rotate(-45deg); font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.efficiency') }}
|
{{ $t('feature.market.efficiency') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="tools">
|
<a-menu-item key="tools">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<SearchOutlined style="font-size: 18px;" />
|
<SearchOutlined style="font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.searchTool') }}
|
{{ $t('feature.market.searchTool') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="image">
|
<a-menu-item key="image">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<FileImageOutlined style="font-size: 18px;" />
|
<FileImageOutlined style="font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.imageTool') }}
|
{{ $t('feature.market.imageTool') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="devPlugin">
|
<a-menu-item key="devPlugin">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<CodeOutlined style="font-size: 18px;" />
|
<CodeOutlined style="font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.developTool') }}
|
{{ $t('feature.market.developTool') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="system">
|
<a-menu-item key="system">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<DatabaseOutlined style="font-size: 18px;" />
|
<DatabaseOutlined style="font-size: 16px" />
|
||||||
</template>
|
</template>
|
||||||
{{ $t('feature.market.systemTool') }}
|
{{ $t('feature.market.systemTool') }}
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
@ -72,7 +72,21 @@
|
|||||||
</a-sub-menu>
|
</a-sub-menu>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
<div :class="['finder', 'result', 'devPlugin', 'image', 'tools', 'worker', 'system'].includes(active[0]) ? 'container' : 'more'">
|
<div
|
||||||
|
:class="
|
||||||
|
[
|
||||||
|
'finder',
|
||||||
|
'result',
|
||||||
|
'devPlugin',
|
||||||
|
'image',
|
||||||
|
'tools',
|
||||||
|
'worker',
|
||||||
|
'system',
|
||||||
|
].includes(active[0])
|
||||||
|
? 'container'
|
||||||
|
: 'more'
|
||||||
|
"
|
||||||
|
>
|
||||||
<keep-alive>
|
<keep-alive>
|
||||||
<router-view />
|
<router-view />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
@ -103,14 +117,14 @@ const active = computed(() => store.state.active);
|
|||||||
const { perf } = localConfig.getConfig();
|
const { perf } = localConfig.getConfig();
|
||||||
|
|
||||||
const changeMenu = (key: any) => {
|
const changeMenu = (key: any) => {
|
||||||
store.commit('commonUpdate', {active: [key]})
|
store.commit('commonUpdate', { active: [key] });
|
||||||
router.push(key);
|
router.push(key);
|
||||||
};
|
};
|
||||||
|
|
||||||
window.rubick.onPluginEnter(({ code }: { code: string }) => {
|
window.rubick.onPluginEnter(({ code }: { code: string }) => {
|
||||||
code = code === '已安装插件' ? 'installed' : code;
|
code = code === '已安装插件' ? 'installed' : code;
|
||||||
changeMenu(code);
|
changeMenu(code);
|
||||||
store.commit('commonUpdate', {active: [code]})
|
store.commit('commonUpdate', { active: [code] });
|
||||||
});
|
});
|
||||||
|
|
||||||
window.rubick.setSubInput((e: any) => {
|
window.rubick.setSubInput((e: any) => {
|
||||||
@ -129,7 +143,7 @@ window.rubick.setSubInput((e: any) => {
|
|||||||
store.commit('setSearchValue', e.text);
|
store.commit('setSearchValue', e.text);
|
||||||
router.push('result');
|
router.push('result');
|
||||||
} else {
|
} else {
|
||||||
store.commit('commonUpdate', {active: ['finder']})
|
store.commit('commonUpdate', { active: ['finder'] });
|
||||||
router.push('finder');
|
router.push('finder');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -144,13 +158,16 @@ init();
|
|||||||
background: var(--color-body-bg2) !important;
|
background: var(--color-body-bg2) !important;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: none;
|
border-right: none;
|
||||||
.ant-menu-item, .ant-menu-submenu, .ant-menu-submenu-arrow {
|
.ant-menu-item,
|
||||||
|
.ant-menu-submenu,
|
||||||
|
.ant-menu-submenu-arrow {
|
||||||
color: var(--color-text-content);
|
color: var(--color-text-content);
|
||||||
&:active {
|
&:active {
|
||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.ant-menu-item-selected, .ant-menu-submenu-selected {
|
.ant-menu-item-selected,
|
||||||
|
.ant-menu-submenu-selected {
|
||||||
background-color: var(--color-list-hover);
|
background-color: var(--color-list-hover);
|
||||||
color: var(--ant-primary-color);
|
color: var(--ant-primary-color);
|
||||||
.ant-menu-submenu-arrow {
|
.ant-menu-submenu-arrow {
|
||||||
@ -203,9 +220,12 @@ init();
|
|||||||
background: var(--color-body-bg2);
|
background: var(--color-body-bg2);
|
||||||
}
|
}
|
||||||
.left-menu {
|
.left-menu {
|
||||||
padding: 24px 16px;
|
padding: 16px;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
:deep(.ant-menu) {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
:deep(.ant-menu-item) {
|
:deep(.ant-menu-item) {
|
||||||
padding-left: 12px !important;
|
padding-left: 12px !important;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -219,7 +239,14 @@ init();
|
|||||||
}
|
}
|
||||||
:deep(.user-info) {
|
:deep(.user-info) {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 32px;
|
bottom: 16px;
|
||||||
|
width: calc(100% - 32px);
|
||||||
|
.ant-menu-submenu-title {
|
||||||
|
padding: 0 32px 0 8px;
|
||||||
|
.ant-menu-title-content {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
:deep(.ant-avatar) {
|
:deep(.ant-avatar) {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
let baseURL = 'https://gitcode.net/rubickcenter/rubick-database/-/raw/master';
|
let baseURL = 'https://gitee.com/monkeyWang/rubickdatabase/raw/master';
|
||||||
let access_token = '';
|
let access_token = '';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -14,7 +14,7 @@ try {
|
|||||||
const instance = axios.create({
|
const instance = axios.create({
|
||||||
timeout: 4000,
|
timeout: 4000,
|
||||||
baseURL:
|
baseURL:
|
||||||
baseURL || 'https://gitcode.net/rubickcenter/rubick-database/-/raw/master',
|
baseURL || 'https://gitee.com/monkeyWang/rubickdatabase/raw/master',
|
||||||
});
|
});
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -23,9 +23,10 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
|
console.log('total plugsin', res);
|
||||||
return res.data;
|
return res.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
@ -45,7 +46,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
@ -55,7 +56,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
@ -71,7 +72,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
@ -81,7 +82,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
@ -91,7 +92,7 @@ export default {
|
|||||||
if (access_token) {
|
if (access_token) {
|
||||||
targetPath = `${encodeURIComponent(
|
targetPath = `${encodeURIComponent(
|
||||||
targetPath
|
targetPath
|
||||||
)}/raw?access_token=${access_token}&ref=master`;
|
)}?access_token=${access_token}&ref=master`;
|
||||||
}
|
}
|
||||||
const res = await instance.get(targetPath);
|
const res = await instance.get(targetPath);
|
||||||
return res.data;
|
return res.data;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "rubick",
|
"name": "rubick",
|
||||||
"version": "4.2.3",
|
"version": "4.2.9",
|
||||||
"author": "muwoo <2424880409@qq.com>",
|
"author": "muwoo <2424880409@qq.com>",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -175,22 +175,21 @@ export default () => {
|
|||||||
|
|
||||||
const removeView = (window: BrowserWindow) => {
|
const removeView = (window: BrowserWindow) => {
|
||||||
if (!view) return;
|
if (!view) return;
|
||||||
|
executeHooks('PluginOut', null);
|
||||||
|
setTimeout(() => {
|
||||||
window.removeBrowserView(view);
|
window.removeBrowserView(view);
|
||||||
if (!view.inDetach) {
|
if (!view.inDetach) {
|
||||||
window.setBrowserView(null);
|
window.setBrowserView(null);
|
||||||
view.webContents?.destroy();
|
view.webContents?.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
// window.setSize(800, 60);
|
|
||||||
executeHooks('PluginOut', null);
|
|
||||||
window.webContents?.executeJavaScript(`window.initRubick()`);
|
window.webContents?.executeJavaScript(`window.initRubick()`);
|
||||||
view = undefined;
|
view = undefined;
|
||||||
|
}, 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
const getView = () => view;
|
const getView = () => view;
|
||||||
|
|
||||||
const executeHooks = (hook, data) => {
|
const executeHooks = (hook, data) => {
|
||||||
setTimeout(() => {
|
|
||||||
if (!view) return;
|
if (!view) return;
|
||||||
const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
|
const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
|
||||||
try {
|
try {
|
||||||
@ -199,7 +198,6 @@ export default () => {
|
|||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
view.webContents?.executeJavaScript(evalJs);
|
view.webContents?.executeJavaScript(evalJs);
|
||||||
}, 300);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -128,8 +128,8 @@ class API extends DBInstance {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public removePlugin(e, window) {
|
public removePlugin(e, window) {
|
||||||
this.currentPlugin = null;
|
|
||||||
runnerInstance.removeView(window);
|
runnerInstance.removeView(window);
|
||||||
|
this.currentPlugin = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public openPluginDevTools() {
|
public openPluginDevTools() {
|
||||||
@ -211,11 +211,10 @@ class API extends DBInstance {
|
|||||||
if (!Notification.isSupported()) return;
|
if (!Notification.isSupported()) return;
|
||||||
'string' != typeof body && (body = String(body));
|
'string' != typeof body && (body = String(body));
|
||||||
const plugin = this.currentPlugin;
|
const plugin = this.currentPlugin;
|
||||||
if (!plugin) return;
|
|
||||||
const notify = new Notification({
|
const notify = new Notification({
|
||||||
title: plugin.pluginName,
|
title: plugin ? plugin.pluginName : null,
|
||||||
body,
|
body,
|
||||||
icon: plugin.logo,
|
icon: plugin ? plugin.logo : null,
|
||||||
});
|
});
|
||||||
notify.show();
|
notify.show();
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div id="components-layout" @mousedown="onMouseDown">
|
||||||
id="components-layout"
|
|
||||||
@mousedown="onMouseDown"
|
|
||||||
>
|
|
||||||
<Search
|
<Search
|
||||||
:currentPlugin="currentPlugin"
|
:currentPlugin="currentPlugin"
|
||||||
@changeCurrent="changeIndex"
|
@changeCurrent="changeIndex"
|
||||||
@ -94,7 +91,9 @@ watch(
|
|||||||
window.rubick.setExpendHeight(
|
window.rubick.setExpendHeight(
|
||||||
getWindowHeight(
|
getWindowHeight(
|
||||||
options.value,
|
options.value,
|
||||||
(pluginLoading.value || !config.value.perf.common.history) ? [] : pluginHistory.value
|
pluginLoading.value || !config.value.perf.common.history
|
||||||
|
? []
|
||||||
|
: pluginHistory.value
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
@ -104,26 +103,15 @@ watch(
|
|||||||
);
|
);
|
||||||
|
|
||||||
const changeIndex = (index) => {
|
const changeIndex = (index) => {
|
||||||
if (!options.value.length) {
|
const len = options.value.length || pluginHistory.value.length;
|
||||||
if (!pluginHistory.value.length) return;
|
if (!len) return;
|
||||||
if (
|
if (currentSelect.value + index > len - 1) {
|
||||||
currentSelect.value + index > pluginHistory.value.length - 1 ||
|
|
||||||
currentSelect.value + index < 0
|
|
||||||
) {
|
|
||||||
currentSelect.value = 0;
|
currentSelect.value = 0;
|
||||||
return;
|
} else if (currentSelect.value + index < 0) {
|
||||||
}
|
currentSelect.value = len - 1;
|
||||||
|
} else {
|
||||||
currentSelect.value = currentSelect.value + index;
|
currentSelect.value = currentSelect.value + index;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if (
|
|
||||||
currentSelect.value + index > options.value.length - 1 ||
|
|
||||||
currentSelect.value + index < 0
|
|
||||||
) {
|
|
||||||
currentSelect.value = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
currentSelect.value = currentSelect.value + index;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const openMenu = (ext) => {
|
const openMenu = (ext) => {
|
||||||
@ -161,7 +149,9 @@ const choosePlugin = (plugin) => {
|
|||||||
});
|
});
|
||||||
if (hasRemove) {
|
if (hasRemove) {
|
||||||
const result = window.rubick.db.get(PLUGIN_HISTORY) || {};
|
const result = window.rubick.db.get(PLUGIN_HISTORY) || {};
|
||||||
const history = result.data.filter(item => item.originName !== currentChoose.originName);
|
const history = result.data.filter(
|
||||||
|
(item) => item.originName !== currentChoose.originName
|
||||||
|
);
|
||||||
setPluginHistory(history);
|
setPluginHistory(history);
|
||||||
return message.warning('插件已被卸载!');
|
return message.warning('插件已被卸载!');
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
ref="mainInput"
|
ref="mainInput"
|
||||||
class="main-input"
|
class="main-input"
|
||||||
@input="(e) => changeValue(e)"
|
@input="(e) => changeValue(e)"
|
||||||
|
@keydown.left="(e) => keydownEvent(e, 'left')"
|
||||||
|
@keydown.right="(e) => keydownEvent(e, 'right')"
|
||||||
@keydown.down="(e) => keydownEvent(e, 'down')"
|
@keydown.down="(e) => keydownEvent(e, 'down')"
|
||||||
@keydown.tab="(e) => keydownEvent(e, 'down')"
|
@keydown.tab="(e) => keydownEvent(e, 'down')"
|
||||||
@keydown.up="(e) => keydownEvent(e, 'up')"
|
@keydown.up="(e) => keydownEvent(e, 'up')"
|
||||||
@ -41,10 +43,7 @@
|
|||||||
>
|
>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<div class="suffix-tool">
|
<div class="suffix-tool">
|
||||||
<MoreOutlined
|
<MoreOutlined @click="showSeparate()" class="icon-more" />
|
||||||
@click="showSeparate()"
|
|
||||||
class="icon-more"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-input>
|
</a-input>
|
||||||
@ -120,6 +119,12 @@ const keydownEvent = (e, key: string) => {
|
|||||||
case 'down':
|
case 'down':
|
||||||
emit('changeCurrent', 1);
|
emit('changeCurrent', 1);
|
||||||
break;
|
break;
|
||||||
|
case 'left':
|
||||||
|
emit('changeCurrent', -1);
|
||||||
|
break;
|
||||||
|
case 'right':
|
||||||
|
emit('changeCurrent', 1);
|
||||||
|
break;
|
||||||
case 'enter':
|
case 'enter':
|
||||||
if (runPluginDisable) return;
|
if (runPluginDisable) return;
|
||||||
emit('choosePlugin');
|
emit('choosePlugin');
|
||||||
|
@ -8,7 +8,7 @@ import useFocus from './clipboardWatch';
|
|||||||
|
|
||||||
function formatReg(regStr) {
|
function formatReg(regStr) {
|
||||||
const flags = regStr.replace(/.*\/([gimy]*)$/, '$1');
|
const flags = regStr.replace(/.*\/([gimy]*)$/, '$1');
|
||||||
const pattern = flags.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
|
const pattern = regStr.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
|
||||||
return new RegExp(pattern, flags);
|
return new RegExp(pattern, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user