next-flow-interface 0.23.6 → 0.23.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,104 @@
1
+ import { RvPath } from 'rhine-var';
2
+ import { AttributeType } from './dto/attribute-type.enum';
1
3
  import { IAttribute } from './dto/instance/attribute.interface';
4
+ import { default as IGlobalAttribute } from './dto/instance/global-attribute.interface';
5
+ import { default as INodeAttribute } from './dto/instance/node-attribute.interface';
6
+ import { default as IStepAttribute } from './dto/instance/step-attribute.interface';
7
+ /**
8
+ * 属性服务 API 接口
9
+ *
10
+ * 负责管理和注册所有类型的属性(Node、Step、Global)
11
+ * 提供属性的注册、查询、黑名单管理等功能
12
+ */
2
13
  export default interface AttributeServiceApi {
3
- register(definition: IAttribute): void;
14
+ /**
15
+ * 通用路径黑名单
16
+ *
17
+ * 包含所有类型属性都禁止使用的路径
18
+ * @example [['parent'], ['subscribe'], ['unsubscribe']]
19
+ */
20
+ commonBlacklist: RvPath[];
21
+ /**
22
+ * Node 类型属性的路径黑名单
23
+ */
24
+ nodeBlacklist: RvPath[];
25
+ /**
26
+ * Step 类型属性的路径黑名单
27
+ * @example [['nodes']]
28
+ */
29
+ stepBlacklist: RvPath[];
30
+ /**
31
+ * Global 类型属性的路径黑名单
32
+ * @example [['steps']]
33
+ */
34
+ globalBlacklist: RvPath[];
35
+ /**
36
+ * 已注册的 Node 类型属性列表
37
+ */
38
+ nodeAttributes: INodeAttribute[];
39
+ /**
40
+ * 已注册的 Step 类型属性列表
41
+ */
42
+ stepAttributes: IStepAttribute[];
43
+ /**
44
+ * 已注册的 Global 类型属性列表
45
+ */
46
+ globalAttributes: IGlobalAttribute[];
47
+ /**
48
+ * 注册属性
49
+ *
50
+ * 将属性实例注册到对应的属性列表中
51
+ * 注册前会检查路径是否在黑名单中以及是否与已有路径冲突
52
+ *
53
+ * @param attribute - 要注册的属性实例
54
+ * @throws 如果路径在黑名单中
55
+ * @throws 如果路径与已注册的路径冲突
56
+ * @throws 如果属性类型与实例类型不匹配
57
+ */
58
+ register(attribute: IAttribute): void;
59
+ /**
60
+ * 通过路径精确匹配获取属性
61
+ *
62
+ * @param type - 属性类型
63
+ * @param path - 属性路径,支持 RvPath 数组或字符串格式
64
+ * @returns 匹配的属性实例,未找到返回 undefined
65
+ */
66
+ get(type: AttributeType, path: RvPath | string): IAttribute | undefined;
67
+ /**
68
+ * 通过路径获取 NodeAttribute
69
+ *
70
+ * @param path - 属性路径,支持 RvPath 数组或字符串格式
71
+ * @returns 匹配的 NodeAttribute 实例,未找到返回 undefined
72
+ */
73
+ getNodeAttribute(path: RvPath | string): INodeAttribute | undefined;
74
+ /**
75
+ * 通过路径获取 StepAttribute
76
+ *
77
+ * @param path - 属性路径,支持 RvPath 数组或字符串格式
78
+ * @returns 匹配的 StepAttribute 实例,未找到返回 undefined
79
+ */
80
+ getStepAttribute(path: RvPath | string): IStepAttribute | undefined;
81
+ /**
82
+ * 通过路径获取 GlobalAttribute
83
+ *
84
+ * @param path - 属性路径,支持 RvPath 数组或字符串格式
85
+ * @returns 匹配的 GlobalAttribute 实例,未找到返回 undefined
86
+ */
87
+ getGlobalAttribute(path: RvPath | string): IGlobalAttribute | undefined;
88
+ /**
89
+ * 根据类型获取属性列表
90
+ *
91
+ * @param type - 属性类型,不传入时返回所有类型的属性
92
+ * @returns 属性列表
93
+ */
94
+ getList(type?: AttributeType): IAttribute[];
95
+ /**
96
+ * 检查路径是否与已注册的属性路径冲突
97
+ *
98
+ * @param type - 属性类型
99
+ * @param path - 要检查的路径
100
+ * @returns 如果存在冲突返回 true,否则返回 false
101
+ */
102
+ isPathConflict(type: AttributeType, path: RvPath): boolean;
4
103
  }
5
104
  //# sourceMappingURL=attribute-service-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-service-api.d.ts","sourceRoot":"","sources":["../../../../src/service/sync/attribute/attribute-service-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAA;AAEtF,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;CACvC"}
1
+ {"version":3,"file":"attribute-service-api.d.ts","sourceRoot":"","sources":["../../../../src/service/sync/attribute/attribute-service-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAA;AACtF,OAAO,gBAAgB,MAAM,kEAAkE,CAAA;AAC/F,OAAO,cAAc,MAAM,gEAAgE,CAAA;AAC3F,OAAO,cAAc,MAAM,gEAAgE,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAA;IAEzB;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAA;IAEhC;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAA;IAEhC;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;IAEpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAA;IAErC;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAEvE;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IAEnE;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IAEnE;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAA;IAEvE;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,UAAU,EAAE,CAAA;IAE3C;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3D"}
@@ -6,6 +6,9 @@ export declare function ensureRvPathString(path: string | RvPath): string;
6
6
  export declare function getByRvPath(source: StoredRhineVar | Record<string | number, unknown>, path: string | RvPath): unknown;
7
7
  export declare function setByRvPath(source: StoredRhineVar, path: string | RvPath, value: unknown): void;
8
8
  export declare function checkRvPathOverlay(from: RvPath | string, target: RvPath | string): boolean;
9
+ export declare function checkAnyRvPathOverlay(from: RvPath | string, targetList: (RvPath | string)[]): boolean;
10
+ export declare function checkRvPathSame(from: RvPath | string, target: RvPath | string): boolean;
11
+ export declare function checkAnyRvPathSame(from: RvPath | string, targetList: (RvPath | string)[]): boolean;
9
12
  declare const RvUtils: {
10
13
  makeRvPath: typeof makeRvPath;
11
14
  makeRvPathString: typeof makeRvPathString;
@@ -13,7 +16,10 @@ declare const RvUtils: {
13
16
  ensureRvPathString: typeof ensureRvPathString;
14
17
  getByRvPath: typeof getByRvPath;
15
18
  setByRvPath: typeof setByRvPath;
19
+ checkRvPathSame: typeof checkRvPathSame;
20
+ checkAnyRvPathSame: typeof checkAnyRvPathSame;
16
21
  checkRvPathOverlay: typeof checkRvPathOverlay;
22
+ checkAnyRvPathOverlay: typeof checkAnyRvPathOverlay;
17
23
  };
18
24
  export default RvUtils;
19
25
  //# sourceMappingURL=rv-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rv-utils.d.ts","sourceRoot":"","sources":["../../src/utils/rv-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAElD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EACzD,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAUT;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO/F;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,WAUhF;AAGD,QAAA,MAAM,OAAO;;;;;;;;CAQZ,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"rv-utils.d.ts","sourceRoot":"","sources":["../../src/utils/rv-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAElD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EACzD,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAUT;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO/F;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAU1F;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC9B,OAAO,CAGT;AAGD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAYvF;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC9B,OAAO,CAGT;AAGD,QAAA,MAAM,OAAO;;;;;;;;;;;CAWZ,CAAA;AAED,eAAe,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-flow-interface",
3
- "version": "0.23.6",
3
+ "version": "0.23.7",
4
4
  "description": "Interface package for NEXT FlOW. You can use this package to build your own plugin that can control anything.",
5
5
  "type": "module",
6
6
  "module": "dist/index.js",