Skip to content

Commit 014f6f5

Browse files
committed
refactor: 移除 TargetNodeAttribute 全部集成进 NodeAttribute 中
1 parent 7d37fd2 commit 014f6f5

File tree

9 files changed

+28
-132
lines changed

9 files changed

+28
-132
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "next-flow-interface",
3-
"version": "0.23.25",
3+
"version": "0.23.26",
44
"description": "Interface package for NEXT FlOW. You can use this package to build your own plugin that can control anything.",
55
"type": "module",
66
"module": "dist/index.js",

src/hook/use-target-node-attribute.type.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { RecursiveCrossRhineVar, RvPath, StoredRhineVar } from 'rhine-var'
22

3-
import TargetNodeAttribute, {
4-
TargetNodeAttributeSubscriber,
5-
} from '@/service/sync/attribute/target/target-node-attribute.interface'
3+
import INodeAttribute, {
4+
NodeAttributeTargetSubscriber,
5+
} from '@/service/sync/attribute/instance/node-attribute.interface'
66

77
export type UseTargetNodeAttribute = <T extends object = never>(
88
path: string | RvPath,
@@ -13,9 +13,9 @@ export type UseTargetNodeAttribute = <T extends object = never>(
1313
sidList: string[]
1414
nid: string
1515
nidList: string[]
16-
targetNodeAttribute: TargetNodeAttribute<T>
16+
NodeAttribute: INodeAttribute<T>
1717
initialize(nid?: string): void
18-
isInitialize(nid?: string): boolean
18+
isInitialized(nid?: string): boolean
1919
multiInitialize(nidList?: string[]): void
2020
isAllInitialized(nidList?: string[]): boolean
2121
mark(path: string | RvPath, sid?: string, nid?: string): void
@@ -28,6 +28,6 @@ export type UseTargetNodeAttribute = <T extends object = never>(
2828
multiRead(sidList?: string[], nidList?: string[]): Map<string, Map<string, StoredRhineVar<T> | T>>
2929
edit(path: string | RvPath, value: unknown, sid?: string, nid?: string): void
3030
multiEdit(path: string | RvPath, value: unknown, sidList?: string[], nidList?: string[]): void
31-
subscribe(subscriber: TargetNodeAttributeSubscriber<T>): () => void
32-
unsubscribe(subscriber: TargetNodeAttributeSubscriber<T>): void
31+
subscribe(subscriber: NodeAttributeTargetSubscriber<T>): () => void
32+
unsubscribe(subscriber: NodeAttributeTargetSubscriber<T>): void
3333
}

src/index.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { IAttribute } from '@/service/sync/attribute/instance/attribute.interface'
22
import IBaseAttribute from '@/service/sync/attribute/instance/base-attribute.interface'
3-
import INodeAttribute from '@/service/sync/attribute/instance/node-attribute.interface'
3+
import INodeAttribute, {
4+
NodeAttributeTargetSubscriber,
5+
} from '@/service/sync/attribute/instance/node-attribute.interface'
46
import { TChangeType } from '@/service/sync/attribute/service/dto/t-change-type.enum'
57
import RvLoop from '@/service/sync/interface/step/node/animation/loop/rv-loop.interface'
68
import RvNative from '@/service/sync/interface/step/node/animation/native/rv-native.interface'
@@ -248,12 +250,6 @@ import TargetNodeServiceApi, {
248250
import TargetStepServiceApi, {
249251
TargetStepSubscriber,
250252
} from './service/sync/attribute/service/target-step-service-api'
251-
import ITargetNodeAttribute, {
252-
TargetNodeAttributeSubscriber,
253-
} from './service/sync/attribute/target/target-node-attribute.interface'
254-
import ITargetStepAttribute, {
255-
TargetStepAttributeSubscriber,
256-
} from './service/sync/attribute/target/target-step-attribute.interface'
257253
import AwarenessServiceApi, {
258254
AwarenessChanges,
259255
AwarenessChangeSubscriber,
@@ -350,8 +346,6 @@ export type {
350346
INodeAttribute,
351347
IGlobalAttribute,
352348
IAttribute,
353-
TargetStepAttributeSubscriber,
354-
ITargetStepAttribute,
355349
Intl,
356350
MeetingState,
357351
PluginState,
@@ -585,8 +579,7 @@ export type {
585579
StepBlockSelectProps,
586580
TargetMultiNodeServiceApi,
587581
UseTargetNodeAttribute,
588-
ITargetNodeAttribute,
589-
TargetNodeAttributeSubscriber,
582+
NodeAttributeTargetSubscriber,
590583
}
591584

592585
export {

src/service/sync/attribute/instance/base-attribute.interface.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ export default interface IBaseAttribute<T extends object = never> {
77

88
path: RvPath
99

10-
defaultValue?: T
11-
12-
getPath(): RvPath
10+
defaultValue: T
1311

1412
getPathString(): string
1513

src/service/sync/attribute/instance/node-attribute.interface.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
import { RvPath, StoredRhineVar } from 'rhine-var'
22

33
import IBaseAttribute from '@/service/sync/attribute/instance/base-attribute.interface'
4-
import { TargetNodeAttributeSubscriber } from '@/service/sync/attribute/target/target-node-attribute.interface'
4+
import { TChangeType } from '@/service/sync/attribute/service/dto/t-change-type.enum'
5+
6+
export type NodeAttributeTargetSubscriber<T extends object = never> = (
7+
type: TChangeType,
8+
path: RvPath,
9+
value: unknown,
10+
oldValue: unknown,
11+
sid: string,
12+
nid: string,
13+
nidList: string[],
14+
) => void
515

616
export default interface INodeAttribute<T extends object = never> extends IBaseAttribute<T> {
717
generate(sid?: string, nid?: string): T
@@ -46,7 +56,7 @@ export default interface INodeAttribute<T extends object = never> extends IBaseA
4656

4757
readonly targetNidList: string[]
4858

49-
subscribe(subscriber: TargetNodeAttributeSubscriber<T>): () => void
59+
subscribeTarget(subscriber: NodeAttributeTargetSubscriber<T>): () => void
5060

51-
unsubscribe(subscriber: TargetNodeAttributeSubscriber<T>): void
61+
unsubscribeTarget(subscriber: NodeAttributeTargetSubscriber<T>): void
5262
}

src/service/sync/attribute/service/attribute-service-api.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import IGlobalAttribute from '@/service/sync/attribute/instance/global-attribute
66
import INodeAttribute from '@/service/sync/attribute/instance/node-attribute.interface'
77
import IStepAttribute from '@/service/sync/attribute/instance/step-attribute.interface'
88

9-
import ITargetNodeAttribute from '../target/target-node-attribute.interface'
10-
import ITargetStepAttribute from '../target/target-step-attribute.interface'
11-
129
/**
1310
* 属性服务 API 接口
1411
*
@@ -59,18 +56,6 @@ export default interface AttributeServiceApi {
5956
// eslint-disable-next-line @typescript-eslint/no-explicit-any
6057
globalAttributes: IGlobalAttribute<any>[]
6158

62-
/**
63-
* 已注册的 TargetNode 类型属性列表
64-
*/
65-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
66-
targetNodeAttributes: ITargetNodeAttribute<any>[]
67-
68-
/**
69-
* 已注册的 TargetStep 类型属性列表
70-
*/
71-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
72-
targetStepAttributes: ITargetStepAttribute<any>[]
73-
7459
/**
7560
* 注册属性
7661
*
@@ -104,16 +89,6 @@ export default interface AttributeServiceApi {
10489
*/
10590
getNodeAttribute<T extends object = never>(path: RvPath | string): INodeAttribute<T> | undefined
10691

107-
/**
108-
* 通过路径获取 TargetNodeAttribute
109-
*
110-
* @param path - 属性路径,支持 RvPath 数组或字符串格式
111-
* @returns 匹配的 TargetNodeAttribute 实例,未找到返回 undefined
112-
*/
113-
getTargetNodeAttribute<T extends object = never>(
114-
path: RvPath | string,
115-
): ITargetNodeAttribute<T> | undefined
116-
11792
/**
11893
* 通过路径获取 StepAttribute
11994
*

src/service/sync/attribute/target/target-node-attribute.interface.ts

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/service/sync/attribute/target/target-step-attribute.interface.ts

Lines changed: 0 additions & 38 deletions
This file was deleted.

src/utils/rv-utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ export class RvUtils {
182182
return targetList.some((target) => RvUtils.checkRvPathSame(fromPath, target))
183183
}
184184

185-
static isChangeEventType(type: EventType) {
185+
static isChangeEventType(type: EventType | string) {
186+
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
186187
return type == EventType.ADD || type == EventType.UPDATE || type == EventType.DELETE
187188
}
188189
}

0 commit comments

Comments
 (0)