Skip to content

Commit b3497df

Browse files
committed
fix: 修复初次初始化后数据不更新
1 parent d9a80c8 commit b3497df

File tree

5 files changed

+31
-25
lines changed

5 files changed

+31
-25
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.16",
3+
"version": "0.23.17",
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-t-node-attribute.type.ts

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

33
import TNodeAttribute from '@/service/sync/attribute/dto/target/t-node-attribute.interface'
44

5-
export interface UseTNodeAttribute<T extends object = never> {
5+
export type UseTNodeAttribute = <T extends object = never>(
6+
path: string | RvPath,
7+
) => {
68
state: StoredRhineVar<T> | T
79
sid: string
810
sidList: string[]

src/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,9 @@ import UserInfo from './service/main/user/dto/user-info.interface'
236236
import UserServiceApi from './service/main/user/user-service-api'
237237
import AttributeServiceApi from './service/sync/attribute/attribute-service-api'
238238
import { AttributeType } from './service/sync/attribute/dto/attribute-type.enum'
239-
import ITNodeAttribute from './service/sync/attribute/dto/target/t-node-attribute.interface'
239+
import ITNodeAttribute, {
240+
TNodeAttributeSubscriber,
241+
} from './service/sync/attribute/dto/target/t-node-attribute.interface'
240242
import AwarenessServiceApi, {
241243
AwarenessChanges,
242244
AwarenessChangeSubscriber,
@@ -570,6 +572,7 @@ export type {
570572
TMultiNodeServiceApi,
571573
UseTNodeAttribute,
572574
ITNodeAttribute,
575+
TNodeAttributeSubscriber,
573576
}
574577

575578
export {

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

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,25 @@ export type TNodeAttributeSubscriber<T extends object = never> = (
1818
export default interface ITNodeAttribute<T extends object = never> {
1919
attribute: INodeAttribute<T>
2020
tMultiNodeService: TMultiNodeServiceApi
21-
path(): RvPath
22-
sid(): string
23-
sidList(): string[]
24-
nid(): string
25-
nidList(): string[]
26-
initialize(nid: string): void
27-
isInitialize(nid: string): boolean
28-
multiInitialize(nidList: string[]): void
29-
isAllInitialized(nidList: string[]): boolean
30-
mark(path: string | RvPath, sid: string, nid: string): void
31-
multiMark(path: string | RvPath, sidList: string[], nidList: string[]): void
32-
get(sid: string, nid: string): RecursiveCrossRhineVar<T> | undefined
33-
multiGet(sidList: string[], nidList: string[]): Map<string, Map<string, StoredRhineVar<T>>>
34-
set(path: string | RvPath, value: unknown, sid: string, nid: string): void
35-
multiSet(path: string | RvPath, value: unknown, sidList: string[], nidList: string[]): void
36-
read(sid: string, nid: string): StoredRhineVar<T> | T | undefined
37-
multiRead(sidList: string[], nidList: string[]): Map<string, Map<string, StoredRhineVar<T> | T>>
38-
edit(path: string | RvPath, value: unknown, sid: string, nid: string): void
39-
multiEdit(path: string | RvPath, value: unknown, sidList: string[], nidList: string[]): void
21+
readonly path: RvPath
22+
readonly sid: string
23+
readonly sidList: string[]
24+
readonly nid: string
25+
readonly nidList: string[]
26+
initialize(nid?: string): void
27+
isInitialize(nid?: string): boolean
28+
multiInitialize(nidList?: string[]): void
29+
isAllInitialized(nidList?: string[]): boolean
30+
mark(path: string | RvPath, sid?: string, nid?: string): void
31+
multiMark(path: string | RvPath, sidList?: string[], nidList?: string[]): void
32+
get(sid?: string, nid?: string): RecursiveCrossRhineVar<T> | undefined
33+
multiGet(sidList?: string[], nidList?: string[]): Map<string, Map<string, StoredRhineVar<T>>>
34+
set(path: string | RvPath, value: unknown, sid?: string, nid?: string): void
35+
multiSet(path: string | RvPath, value: unknown, sidList?: string[], nidList?: string[]): void
36+
read(sid?: string, nid?: string): StoredRhineVar<T> | T | undefined
37+
multiRead(sidList?: string[], nidList?: string[]): Map<string, Map<string, StoredRhineVar<T> | T>>
38+
edit(path: string | RvPath, value: unknown, sid?: string, nid?: string): void
39+
multiEdit(path: string | RvPath, value: unknown, sidList?: string[], nidList?: string[]): void
4040
subscribe(subscriber: TNodeAttributeSubscriber<T>): () => void
4141
unsubscribe(subscriber: TNodeAttributeSubscriber<T>): void
42-
}
42+
}

src/utils/rv-utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,14 @@ export class RvUtils {
122122
return true
123123
}
124124

125+
// 判断 target 是否处于 from 的开头位置
125126
static checkRvPathStartWith(from: RvPath | string, target: RvPath | string): boolean {
126127
const fromPath = RvUtils.ensureRvPath(from)
127128
const targetPath = RvUtils.ensureRvPath(target)
128129
if (fromPath.length < targetPath.length) {
129130
return false
130131
}
131-
for (let i = 0; i < fromPath.length; i++) {
132+
for (let i = 0; i < target.length; i++) {
132133
if (targetPath[i] != fromPath[i]) {
133134
return false
134135
}

0 commit comments

Comments
 (0)