Skip to content

Commit 0aa24d4

Browse files
authored
fix: register can not override (#7027)
* fix: register can not override * chore: fix demo for register
1 parent 3731483 commit 0aa24d4

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

packages/g6/__tests__/demos/element-visibility-part.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class CustomCircle extends Circle {
2020
}
2121

2222
export const elementVisibilityPart: TestCase = async (context) => {
23-
register(ExtensionCategory.NODE, 'custom-circle', CustomCircle, true);
23+
register(ExtensionCategory.NODE, 'custom-circle', CustomCircle);
2424

2525
const graph = new Graph({
2626
...context,

packages/g6/__tests__/unit/registry.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ describe('registry', () => {
8989
class CircleNode {}
9090
class RectNode {}
9191
register(ExtensionCategory.NODE, 'circle-node', CircleNode as any);
92-
register(ExtensionCategory.NODE, 'circle-node', RectNode as any, true);
92+
register(ExtensionCategory.NODE, 'circle-node', RectNode as any);
9393
expect(getExtension(ExtensionCategory.NODE, 'circle-node')).toEqual(RectNode);
9494
});
9595

packages/g6/src/registry/register.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ import type { ExtensionRegistry } from './types';
1919
* @param Ctor
2020
* <zh/> 要注册的扩展类,在使用时创建实例
2121
*
22-
* <en/> The extension class to be registered. An instance will be created upon use
23-
* @param override
24-
* <zh/> 是否覆盖已注册的扩展
25-
*
2622
* <en/> Whether to override the registered extension
2723
* @remarks
2824
* <zh/> 内置扩展在项目导入时会自动注册。对于非内置扩展,可以通过 `register` 方法手动注册。扩展只需要注册一次,即可在项目的任何位置使用。
@@ -42,10 +38,11 @@ export function register<T extends ExtensionCategory>(
4238
category: Loosen<T>,
4339
type: string,
4440
Ctor: ExtensionRegistry[T][string],
45-
override = false,
4641
) {
4742
const ext = EXTENSION_REGISTRY[category][type];
48-
if (!override && ext) {
49-
if (ext !== Ctor) print.warn(`The extension ${type} of ${category} has been registered before.`);
50-
} else Object.assign(EXTENSION_REGISTRY[category]!, { [type]: Ctor });
43+
if (ext && ext) {
44+
print.warn(`The extension ${type} of ${category} has been registered before, and will be overridden.`);
45+
}
46+
47+
Object.assign(EXTENSION_REGISTRY[category]!, { [type]: Ctor });
5148
}

0 commit comments

Comments
 (0)