From 8fd124265c4b66a24bc05c156eb4b6d0782c3012 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Fri, 2 Sep 2022 23:02:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=90=88=E5=B9=B6buildReg=20?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/shared/index.tsx | 5 ++- .../manager/{buildRegFn.ts => buildReg.ts} | 35 +++++++++++++++++++ client/shared/manager/buildRegList.ts | 13 ------- client/shared/manager/buildRegMap.ts | 20 ----------- client/shared/manager/request.ts | 2 +- client/shared/manager/service.ts | 2 +- client/shared/manager/socket.ts | 2 +- client/shared/manager/storage.ts | 2 +- client/shared/manager/ui.ts | 2 +- 9 files changed, 42 insertions(+), 41 deletions(-) rename client/shared/manager/{buildRegFn.ts => buildReg.ts} (80%) delete mode 100644 client/shared/manager/buildRegList.ts delete mode 100644 client/shared/manager/buildRegMap.ts diff --git a/client/shared/index.tsx b/client/shared/index.tsx index 8a913737..5a840881 100644 --- a/client/shared/index.tsx +++ b/client/shared/index.tsx @@ -71,9 +71,7 @@ export { useUpdateRef } from './hooks/useUpdateRef'; export { useWhyDidYouUpdate } from './hooks/useWhyDidYouUpdate'; // manager -export { buildRegFn } from './manager/buildRegFn'; -export { buildRegList } from './manager/buildRegList'; -export { buildRegMap } from './manager/buildRegMap'; +export { buildRegFn, buildRegList, buildRegMap } from './manager/buildReg'; export { getServiceUrl, setServiceUrl } from './manager/service'; export { setTokenGetter, @@ -219,6 +217,7 @@ export { isDevelopment, version, } from './utils/environment'; +export type { PermissionItemType } from './utils/role-helper'; export { isValidStr } from './utils/string-helper'; export { isValidJson } from './utils/json-helper'; export { MessageHelper } from './utils/message-helper'; diff --git a/client/shared/manager/buildRegFn.ts b/client/shared/manager/buildReg.ts similarity index 80% rename from client/shared/manager/buildRegFn.ts rename to client/shared/manager/buildReg.ts index a24ab734..01eaaba6 100644 --- a/client/shared/manager/buildRegFn.ts +++ b/client/shared/manager/buildReg.ts @@ -132,3 +132,38 @@ export function buildCachedRegFnAsync any>( return [cachedGet, cachedSet, refreshCache]; } + +/** + * 构建一组注册列表的方式 + * 用于从其他地方统一获取数据 + */ +export function buildRegList(): [T[], (item: T) => void] { + const list: T[] = []; + + const reg = (item: T) => { + list.push(item); + }; + + return [list, reg]; +} + +/** + * 构建一组注册Mapping的方式 + * 用于从其他地方统一获取数据 + */ +export function buildRegMap(): [ + Record, + (name: string, item: T) => void +] { + const mapping: Record = {}; + + const reg = (name: string, item: T) => { + if (mapping[name]) { + console.warn('[buildRegMap] 重复注册:', name); + } + + mapping[name] = item; + }; + + return [mapping, reg]; +} diff --git a/client/shared/manager/buildRegList.ts b/client/shared/manager/buildRegList.ts deleted file mode 100644 index 54c55cf8..00000000 --- a/client/shared/manager/buildRegList.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * 构建一组注册列表的方式 - * 用于从其他地方统一获取数据 - */ -export function buildRegList(): [T[], (item: T) => void] { - const list: T[] = []; - - const reg = (item: T) => { - list.push(item); - }; - - return [list, reg]; -} diff --git a/client/shared/manager/buildRegMap.ts b/client/shared/manager/buildRegMap.ts deleted file mode 100644 index a5321942..00000000 --- a/client/shared/manager/buildRegMap.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 构建一组注册Mapping的方式 - * 用于从其他地方统一获取数据 - */ -export function buildRegMap(): [ - Record, - (name: string, item: T) => void -] { - const mapping: Record = {}; - - const reg = (name: string, item: T) => { - if (mapping[name]) { - console.warn('[buildRegMap] 重复注册:', name); - } - - mapping[name] = item; - }; - - return [mapping, reg]; -} diff --git a/client/shared/manager/request.ts b/client/shared/manager/request.ts index 9c10cda9..bcd65a21 100644 --- a/client/shared/manager/request.ts +++ b/client/shared/manager/request.ts @@ -1,4 +1,4 @@ -import { buildRegFn, buildCachedRegFnAsync } from './buildRegFn'; +import { buildRegFn, buildCachedRegFnAsync } from './buildReg'; export const [getErrorHook, setErrorHook] = buildRegFn<(err: any) => boolean>( 'requestErrorHook', diff --git a/client/shared/manager/service.ts b/client/shared/manager/service.ts index 952490ed..ea0dcb67 100644 --- a/client/shared/manager/service.ts +++ b/client/shared/manager/service.ts @@ -1,4 +1,4 @@ -import { buildRegFnWithEvent } from './buildRegFn'; +import { buildRegFnWithEvent } from './buildReg'; /** * 获取服务器地址相关逻辑 diff --git a/client/shared/manager/socket.ts b/client/shared/manager/socket.ts index 150796e8..39f54dea 100644 --- a/client/shared/manager/socket.ts +++ b/client/shared/manager/socket.ts @@ -1,4 +1,4 @@ -import { buildRegList } from './buildRegList'; +import { buildRegList } from './buildReg'; interface PluginSocketEventListener { eventName: string; diff --git a/client/shared/manager/storage.ts b/client/shared/manager/storage.ts index 82b3b0d8..51314f1c 100644 --- a/client/shared/manager/storage.ts +++ b/client/shared/manager/storage.ts @@ -1,4 +1,4 @@ -import { buildRegFn } from './buildRegFn'; +import { buildRegFn } from './buildReg'; import { useCallback, useLayoutEffect, useState } from 'react'; export interface StorageObject { diff --git a/client/shared/manager/ui.ts b/client/shared/manager/ui.ts index a4c91193..9675d993 100644 --- a/client/shared/manager/ui.ts +++ b/client/shared/manager/ui.ts @@ -1,5 +1,5 @@ import { t } from '../i18n'; -import { buildRegFn } from './buildRegFn'; +import { buildRegFn } from './buildReg'; /** * 通用UI api设置